Build Journal
Development Log
Alle Projekte · Chronologisch · Ehrlich geloggt
Idee und UI Aufbau
Idee für einen KI-Bewerbungsgenerator gehabt. UI mit v0.dev generiert, Grundstruktur mit React und TypeScript aufgesetzt. Lebenslauf-Upload und Stellenanzeigen-Eingabe als Kernfeatures geplant. Abends schon den ersten Prototyp im Browser.
KI-Integration und Go Live
KI-Anbindung für die Anschreiben-Generierung eingebaut. Upload-Logik fertiggestellt, auf Vercel deployed und getestet. Das Ding funktioniert: Lebenslauf hochladen, Stellenanzeige reinkopieren, fertiges Anschreiben in Minuten. Repo auf privat gestellt.
CORS-Fehler beim API Call → Vercel Serverless Function als Proxy eingesetzt
Projekt Kickoff & Server Setup
VPS bei Hostinger gemietet und eingerichtet. OpenClaw installiert, Telegram Bot eingerichtet, erste Projektstruktur angelegt. Ziel: Pokémon-Karten via KI erkennen und bewerten.
Repository & erste Tests
Repository auf den VPS geklont, alle Abhängigkeiten installiert. Erste Tests mit der bestehenden Codebasis, Architektur analysiert und Entwicklungsplan für die KI-Integration festgelegt.
OCR raus, KI Vision rein
OCR-Ansatz komplett verworfen: holografische Karten hatten 0% Erkennungsrate. Strategischer Pivot zu KI-Vision mit Kimi K2.5. Neues Architekturkonzept für die Bildanalyse-Pipeline entwickelt.
OCR versagt bei holografischen Karten → Entscheidung für KI-Vision (Kimi K2.5) als fundamentaler Ansatzwechsel
NVIDIA NIM & Kartenerkennung live
NVIDIA NIM API angebunden, Llama 3.2 Vision eingesetzt — Kartenerkennung funktioniert! 3-Modell-Fallback-Chain gebaut (NIM → Kimi → Fallback). Zwei UI-Designs parallel mit v0.dev erstellt und das bessere ausgewählt.
Mobile, PWA & Kamera
Mobile-Optimierung abgeschlossen, PWA-Support eingebaut. Direkte Kamera-Integration fürs Handy via getUserMedia — Karten jetzt direkt abfotografieren statt hochladen.
Preissystem & Cleanup
Vollständiges Preissystem aufgebaut: Cardmarket EUR, Pokémon TCG API und Supabase als Cache-Layer. Alte Lovable-Abhängigkeiten entfernt, Codebase bereinigt.
CORS-Fehler bei der Preis-API → Serverless Function als Proxy, alte Lovable-Abhängigkeiten entfernt
Präzision & Launch
Set-Code-Erkennung verbessert, Vintage-Karten-Support eingebaut, Multi-Zonen-Scan implementiert. Erkennungsgenauigkeit durch intensives Prompt-Engineering auf ein neues Niveau gebracht. Deployment.
Großer Cleanup: 130+ Dateien raus
Kompletter Projekt-Cleanup durchgeführt. 130+ tote Dateien gelöscht.
Design und Grundgerüst
Portfolio-Webseite mit v0.dev designed. Dark-Mode Tech-Style gewählt. Next.js-Projekt mit Tailwind CSS und shadcn/ui aufgesetzt. Hero Section, Projekte, Skills und Kontakt-Bereich geplant.
Anpassen und Live gehen
Alle Links und Texte angepasst: Projekt-URLs, Email, GitHub. Mit Claude Code auf GitHub gepusht und auf Vercel deployed. URL auf marcel-welk.vercel.app. Profilbild eingebaut.
Projekte & Devlog
Alle Projekte als Karten hinzugefügt (Poke-Scan, BewerbungsPilot, CV Boost, PromptCrafter). Devlog-Seite mit eingebetteten Daily-Report-PDFs erstellt. Reihenfolge der Projekte optimiert.
Kompletter Rewrite: Über mich
Den alten "Angehender IT-Fachmann"-Text komplett überarbeitet. Neuer Titel: "Builder. Problemlöser. KI-Nerd." Ehrlicher Text über Arbeitsweise mit KI, Pareto-Prinzip-Infobutton eingebaut. Zusammen mit einem Kollegen die Richtung festgelegt.
Animierter Hintergrund & Design Upgrade
Canvas-basierte Floating-Thoughts-Animation gebaut: IT-Begriffe schweben durch den Raum, verbinden sich bei Mausnähe. Insider-Witze, mehrere Sprachen. GitHub-Activity-Bereich und Devlog-Timeline eingebaut. Copy-Buttons bei Kontakt-Karten.
Z-Index-Konflikte zwischen Canvas-Animation und Content-Overlay → Fixed positioning mit isolierten Stacking Contexts
Lebenslauf-Seite & Clean Code
Eigene Lebenslauf-Seite gebaut mit Timeline-Design, Profilbild und Skills als Badge-Pills. Neue "Meine Arbeitsweise" Section für ehrliche Darstellung des KI-Workflows. Favicon aus Profilbild erstellt, SEO Meta-Tags und OpenGraph-Daten eingerichtet. Danach kompletter Cleanup: ungenutzte Komponenten und Dependencies entfernt, Dead Code und console.logs bereinigt.
Inline-Lebenslauf wirkt professioneller als ein eingebetteter PDF-Viewer
Bento-Redesign & Agentic Workflow
Kompletter Design-Pivot auf ein symmetrisches Bento-Grid für Projekte und Workflow. Den KI-Stack radikal ehrlich dokumentiert: Strategiewechsel zu Gemini/Antigravity und Gemini Agents als primäre "Daily Driver" (nahezu Null API-Kosten). Claude Code nur als Backup eingesetzt, wenn Gemini-Kontingente erschöpft waren.
KI-Workflow & Authentizität
Die Unterseite /ki-workflow neu aufgebaut. Fokus auf die 'Macher-Story': Hauptschulabschluss, ADHS als Hyperfokus-Motor und KI als Navigator. Interaktive KI-Pipeline integriert (Planung ➔ Engineering ➔ Deployment). Werkzeugkasten-Logik implementiert: Multimodales Battle-Testing zwischen Grok, Nano Banana und Firefly.
Asymmetrisches Grid wirkte unruhig → Umstellung auf striktes, symmetrisches Bento-Layout für bessere UI-Ruhe
Master-Audit & SEO Dortmund
Vollständiges Portfolio-Audit durchgeführt: SEO-Fokus auf 'Webentwicklung Dortmund' geschärft. Metadata auf allen Unterseiten ergänzt (ki-workflow, devlog, impressum, datenschutz). Server/Client-Split für korrekte Next.js Metadata-Architektur implementiert. Dortmund-Keywords strategisch in Titles und Descriptions eingebaut.
export const metadata funktioniert nicht in 'use client' Dateien → Server-Wrapper-Pattern: page.tsx als Server Component, UI-Logik in *Client.tsx ausgelagert
Recherche und Konzept
IT-Helpdesk-Tools recherchiert: Zendesk, Freshdesk, Jira Service Management, OTRS. Entschieden ein eigenes Mini-Helpdesk zu bauen um die Arbeitsweise von IT-Support-Teams zu verstehen. Features geplant: Ticketsystem, Asset-Verwaltung, Wissensdatenbank, optional KI-Chatbot.
UI Aufbau
React-Projekt mit dem bewährten Stack aufgesetzt (React, TypeScript, Tailwind, Supabase). UI für das Ticketsystem gebaut: Dashboard mit Statistiken, Ticket-Erstellung, Status-Workflow (Offen → In Bearbeitung → Gelöst), Kategorien (Hardware, Software, Netzwerk). Backend-Anbindung an Supabase noch offen.