Hinweis: Dieser Inhalt wurde automatisch übersetzt. Feedback senden
Changelog
Eine vollständige Historie der Commits und Updates dieser Website, automatisch aus der Git-Historie generiert.
Commit-Nachrichten werden in ihrer Originalsprache (Englisch) angezeigt.
Entwicklungs-Stats
- Commits gesamt: 276
- Features: 111
- Bug Fixes: 98
- Refactors: 20
- Sonstiges: 47
- Codezeilen: 173,653
- Nach Dateityp: MD, JSON, TSX, MDX, TS, CSS, JS, JSX
Codebase-Visualisierung
Interaktive 3D-Ansicht der Projektstruktur. Partikel zeigen Entwicklungsaktivität.
Montag, 27. April 2026
| Commit | Beschreibung |
|---|---|
fe88128 | switch contact delivery to resend |
557f1ef | keep contact form usable when delivery fails |
07a5612 | refresh home hero and about content |
Sonntag, 26. April 2026
| Commit | Beschreibung |
|---|---|
b29e271 | swap homepage icons to Hugeicons |
1192d84 | improve contact validation errors |
5d9ec34 | harden contact form delivery |
e767adf | exclude nested app from root typecheck |
4dee0b8 | fix contact form and add archive row icons |
9918e44 | refine home hero and background motion |
83a958f | refine home hero typography |
e125590 | add full-width dot pattern background |
c271cac | add animated theme toggle (#57) |
Freitag, 24. April 2026
| Commit | Beschreibung |
|---|---|
0f748ed | add svg particle lab export controls |
1c84ad6 | update home SEO title |
ad24948 | add DESIGN.md and @google/design.md tooling (#55) |
abafefc | interactive dithered-particle logos (ResMed + generic SVG) (#56) |
Donnerstag, 23. April 2026
| Commit | Beschreibung |
|---|---|
028a165 | Fix metadata, MDX, and voice-agent regressions |
Mittwoch, 22. April 2026
| Commit | Beschreibung |
|---|---|
acb8db1 | Refine public shell and archive layouts |
589820a | localize Headless User essay |
Dienstag, 21. April 2026
| Commit | Beschreibung |
|---|---|
4889512 | Create details description and tag @claude for review |
03ce725 | sort Latest list by date so newest item leads (#51) |
748689b | add 'Headless User' essay (#50) |
Montag, 20. April 2026
| Commit | Beschreibung |
|---|---|
eb98177 | replace ElevenLabs iframe with native player fed by Gemini MP3s (#49) |
c8d7c4a | brand-tour motion piece — 90s kinetic-typography film (#48) |
d3b8409 | live in-browser playback via @remotion/player |
1aa0789 | split final lockup into its own Close scene |
11e685f | real Radix icons, visible hamburger, richer Layout |
6a9e4e2 | trim Color/Typography 30% + responsive Application demo |
d02e2e4 | tighten pace from 90s → 66s + pure palette in Color |
2d3632d | brand-tour motion piece — 90s kinetic-typography film |
a407cc8 | serve source assets in production (#47) |
00bc528 | content(projects): mark Mission Control and Otto as done (isLive: false) (#46) |
34c37f6 | remove dev-only guard so the deck works in production (#45) |
95082ca | make marginalia follow scroll + track section reliably (#44) |
f21bbe3 | outline marginalia on blog + project single-post pages (#43) |
2b5ec64 | full lucide-react → @radix-ui/react-icons migration (#42) |
bd9f539 | align subsection headings + drop nownownow footer + add Design System to Building (#41) |
a63a5c2 | rebuild nav to 3-zone grid + portrait-mark + Radix icons (#40) |
8dbd6ff | align shimmer timing and Cormorant variable to DESIGN.md (#35) |
Sonntag, 19. April 2026
| Commit | Beschreibung |
|---|---|
c76b845 | Widen resume hero tagline |
810dcc1 | surface Design System in Latest feed, tighten bio, 856px deck (#34) |
0b04583 | drop inspect/workbench mode from /_dev/design-system (#33) |
bf1d6a0 | rebuild design system slide deck as 34-slide brand book (#32) |
da29579 | Widen content containers across public pages |
Samstag, 21. März 2026
| Commit | Beschreibung |
|---|---|
fb7c669 | update homepage bio and About page positioning |
afe9185 | rewrite About page with strategic positioning |
d36299c | simplify file resolution in getPostBySlug |
9983219 | resolve SEO audit issues across site |
dd78bc6 | add translations for Efficiency Trap and Agent Orchestration posts |
Mittwoch, 18. März 2026
| Commit | Beschreibung |
|---|---|
8322cff | update README for logo implementation |
a9d5512 | use FC monogram favicon instead of logo cluster |
cc3ef8a | refine logo size, opacity, and favicon scaling |
b86ebc8 | remove box-shadow from nav logo images |
8c6f979 | remove navbar bottom border and reduce logo size |
de295ba | replace FC monogram with logo across site |
Sonntag, 15. März 2026
| Commit | Beschreibung |
|---|---|
5929e8b | allow blob: and data: in script-src for ElevenLabs AudioWorklet |
bdacac0 | allow microphone and ElevenLabs WebSocket in security headers |
4353a0b | remove Orb component from voice-agent, use BarVisualizer only |
a24fe21 | add voice agent demo page with ElevenLabs Conversational AI |
Samstag, 21. Februar 2026
| Commit | Beschreibung |
|---|---|
8f78059 | simplify Efficiency Trap essay title |
e7e03db | simplify homepage and rewrite About page |
1cf588a | add Amodei references to Efficiency Trap essay |
8a4288f | add "The Efficiency Trap" blog post with 8 editorial illustrations |
Sonntag, 15. Februar 2026
| Commit | Beschreibung |
|---|---|
da9f3f2 | replace MDX resume with Magic UI-inspired component page |
Samstag, 14. Februar 2026
| Commit | Beschreibung |
|---|---|
6cc4034 | remove braille dividers from homepage |
5b8648d | improve globe dark mode visibility, add ARIA and null guards |
93c0b65 | replace ASCII hero with COBE globe visualization |
d90fe8e | upgrade next-mdx-remote to v6 and add missing translations |
e4aba1f | address PR #23 review — translation keys, speed-read copy, code cleanup |
6b4cd31 | simplify speed-read design and link directly from homepage |
cee72c0 | pin speed-read project to show on homepage |
bcdb25c | update speed read with 1000-word text and progressive speed |
4328b3c | add speed-read project to projects list |
121f3b4 | add speed reading challenge page |
5740172 | replace remote HDR environment with local lights in ASCII hero |
2f58b74 | update bio across all locales - remove iOS/apps references |
Freitag, 13. Februar 2026
| Commit | Beschreibung |
|---|---|
5345cfc | translate homepage to Japanese locale |
e47d1af | remove experience section from homepage |
601b08e | reduce ASCII hero height to 35vh |
17be998 | update subtitle to Product & Growth Marketer |
32a4835 | add ASCII hero, Braille dividers, personal voice |
63cbc75 | redesign homepage — text-first dark minimal layout |
Montag, 9. Februar 2026
| Commit | Beschreibung |
|---|---|
7cba0b1 | replace hero with correct conductor illustration |
e82e7cb | trigger Vercel rebuild for hero image |
6325926 | replace agent orchestration post with final v2 |
Sonntag, 8. Februar 2026
| Commit | Beschreibung |
|---|---|
eb7e562 | homepage copy — Fortune 500 over company names |
69f0895 | improve blog post quality — tone, SEO, specificity |
Samstag, 7. Februar 2026
| Commit | Beschreibung |
|---|---|
0f7ac42 | site improvements Feb 2026 — content, design, SEO, TTS removal |
Sonntag, 11. Januar 2026
| Commit | Beschreibung |
|---|---|
f785be0 | add transcreations of Claude Code guide to 5 locales |
Samstag, 10. Januar 2026
| Commit | Beschreibung |
|---|---|
b6365ac | merge 18 Claude Code posts into comprehensive guide |
Freitag, 9. Januar 2026
| Commit | Beschreibung |
|---|---|
5688008 | escape angle brackets in MDX to prevent JSX parsing errors |
Donnerstag, 8. Januar 2026
| Commit | Beschreibung |
|---|---|
5c010cb | add Gemini TTS generation script and audio files |
f577483 | add 18-part Claude Code tutorial series |
Sonntag, 4. Januar 2026
| Commit | Beschreibung |
|---|---|
8157a44 | simplify TTS integration and update components |
47b986f | add 4 context engineering skills from Agent-Skills repo |
4d09a85 | add Ninja Runner endless runner game |
Samstag, 3. Januar 2026
| Commit | Beschreibung |
|---|---|
f0faeea | add home button to navigation menu (#15) |
4dda29a | generate audio for all content (78 files) |
70a3c09 | remove terminal logo from navigation (#14) |
8b68ef0 | prevent broken iframe when PUBLIC_USER_ID is missing |
c9fd756 | validate audio availability before showing player |
Freitag, 2. Januar 2026
| Commit | Beschreibung |
|---|---|
7167a5f | prevent broken iframe + add AI coding evolution blog post (#13) |
Mittwoch, 24. Dezember 2025
| Commit | Beschreibung |
|---|---|
f310693 | prevent broken iframe when PUBLIC_USER_ID is missing (#12) |
Montag, 22. Dezember 2025
| Commit | Beschreibung |
|---|---|
9aed590 | add missing Projects.description translation key (#11) |
077d845 | add MDX transcreation workflow documentation (#9) |
Sonntag, 21. Dezember 2025
| Commit | Beschreibung |
|---|---|
4c4d9eb | transcreate all locale files for cultural authenticity (#8) |
2e0cb2a | allow empty strings as valid translations for Japanese |
0e1153a | add graphite-workflow skill for gt commit/push (#7) |
aa79edf | add context engineering and multi-agent skills |
800e07d | add comprehensive i18n SEO with JSON-LD structured data |
c4133ad | remove PWA manifest to disable install prompt |
edf1dd1 | comprehensive security and performance audit |
7538a15 | add ImageGalleryProvider to blog post pages |
05b798d | add Project Vend blog post with translations |
Samstag, 20. Dezember 2025
| Commit | Beschreibung |
|---|---|
8c95065 | comprehensive Claude Code documentation across all files |
b7928db | add Claude Code agents and skills configuration |
eca2a0a | correct parent element traversal for PDF export |
6cc98ee | restore Spanish and Japanese home page translations |
2f97075 | resolve markdown parsing and PDF export issues |
fe9d663 | improve number of people input for mobile (#6) |
5312601 | add PDF export functionality (#5) |
81d6be2 | skip markdown headers in meal plan parsing (#3) |
Freitag, 19. Dezember 2025
| Commit | Beschreibung |
|---|---|
fda72e3 | improve error handling and type safety |
Donnerstag, 18. Dezember 2025
| Commit | Beschreibung |
|---|---|
93cf3ec | add Claude for Chrome blog post with i18n support |
7a46dcd | update documentation for German locale and AI features |
7bfba1e | add React SVG diagram component for agent pipeline |
7bbb0e4 | improve architecture diagram design |
bdb2af2 | differentiate meal-prep project page with live demo |
6a25b41 | add MealPrep translations to all locales |
8e692ee | show ingredients inline instead of collapsible |
d2419c3 | auto-generate codebase tree visualization on push |
60ff90a | skip cost summary lines in shopping list parser |
5d6d3ff | improve markdown parser to handle varied AI formats |
6f4fa9c | improve parser to handle varied AI markdown formats |
1056876 | improve output display with structured parsing and typography |
bfb937a | allow spaces in favorite food blogs input |
71b0c34 | replace React Flow with CSS-based workflow display |
f640053 | add AI meal planning agent with real-time streaming |
17ae8fb | refine Copilot post title to "Different You" |
839e2e0 | reframe Copilot post title to highlight user context |
ceaae7e | add codebase tree to live-changelog embed |
5854971 | add codebase tree visualization |
09979cd | improve translation quality across locales |
bd57883 | add MovieMagic translations for pt-BR, es, ja, fr |
399b90e | add German (de) locale as 6th language |
Mittwoch, 17. Dezember 2025
| Commit | Beschreibung |
|---|---|
fe50782 | add translations for Copilot usage report blog post |
ce0f911 | correct Llama 4 Scout parameter count in AI models 2025 post |
f07ab26 | add Copilot usage report blog post and MCP tools documentation |
6890308 | add MCP config and skills for project automation |
Dienstag, 16. Dezember 2025
| Commit | Beschreibung |
|---|---|
c0a0bd2 | add new interactive MDX components and documentation |
97587de | improve translation quality for modern-web-stack blog post |
f416e67 | match date format case with native toLocaleDateString |
05a4bff | consistent date formatting and project ordering across locales |
c84178f | change generated images layout to vertical stack |
afa2851 | improve pt-BR translation quality per localization-qa review |
13cb069 | add translations for modern web stack blog post |
d5a98db | add Modern Web Stack post with interactive components |
cd79d0b | add Movie Magic project and improve project listing |
2183037 | improve rate limit handling for free tier |
be7df2e | change model to gemini-3-pro-image-preview |
f34da1a | improve file upload area design |
4e66d02 | improve error handling and inline image display |
f132ffe | add AI-powered movie scene generator |
Montag, 15. Dezember 2025
| Commit | Beschreibung |
|---|---|
f5fa125 | add PDF download with blue shimmer link |
be3b4dd | improve AI models 2025 accuracy and localization |
e8b4ca7 | add locale-aware URLs and i18n alternates to metadata |
Sonntag, 14. Dezember 2025
| Commit | Beschreibung |
|---|---|
39a8d7f | add Grok 4 to HLE timeline chart across all locales |
4ad177e | replace HLE bar chart with timeline chart across all locales |
f8dd9e6 | standardize chart titles to English for consistency |
c0d5fea | add Humanity's Last Exam section with chart to all locales |
fda258e | correct Humanity's Last Exam scores from official leaderboard |
9d43139 | show top 3 models per benchmark in EvalExplainer |
149560d | fact-check EvalExplainer definitions |
877aded | additional fact-check improvements for AI models 2025 |
e7a3ff7 | fact-check corrections for AI models 2025 article |
3561fac | sync pricing data across all AI models 2025 localizations |
484a257 | add translation disclaimer to home page |
d818a37 | increase spacing between project title and summary |
9ba2b8b | simplify file types display in changelog stats |
339f36c | add bullet points and code stats to changelog |
70ec2a8 | add GitHub link to footer and MIT license |
f3fe6f6 | add bullet points to blog post listing on home page |
958adda | add ModelComparison MDX component for AI model benchmarks |
0c606e6 | remove underline from changelog footer link |
4642127 | add changelog link to footer with localization |
4c269dd | translate live-changelog project page to all locales |
5d74ce7 | localize ChangelogEmbed component for all locales |
012f52a | add commit notice to changelog for non-English locales |
2fb296b | exclude auto-generated changelog commits from changelog |
b1faa3f | update project documentation |
103893a | correct date display timezone issue in changelog |
0518706 | add write permissions to changelog workflow |
bbbe7ed | update @swc/helpers to fix CI |
ccd1e30 | add translation disclaimer to localized pages |
3ca0caa | pin live projects to top of projects list |
5cc66f8 | improve localization accuracy across all translations |
b7c210f | add live changelog with GitHub Actions automation |
6a0ebdd | preserve English tech terms across all locales |
5447a7b | use "open source" in Spanish translation |
8a3675e | use single multilingual voice for TTS across all locales |
f40d2e4 | add interactive components to i18n project page |
8cbe09b | add thank you open source blog post |
c90482d | update Nokia Snake Game project content across all locales |
8b03e3d | add snake game feature and new project documentation |
692dd2c | TTS audio language switching and content change detection |
255f65a | update sitemap to include locale-specific URLs |
Samstag, 13. Dezember 2025
| Commit | Beschreibung |
|---|---|
1fe5c8b | add multilingual content and translation infrastructure |
14fa66e | implement i18n with next-intl and DeepL API |
8ca24f2 | update README and screenshot instructions |
2e366cc | add initial value to useRef for timeout in mdx-content |
4a45bc8 | correct sitemap URLs from example.com to www.ftchvs.com |
eb87c0e | reduce footer top margin from mt-24 to mt-12 |
c24feff | reduce footer text font size to 10px |
609b96f | normalize base URL in sitemap and robots to resolve SEO errors |
0c40319 | add copyright notice to footer across all pages |
d94c7b6 | Update site URL to www.ftchvs.com and fix audio player errors |
d36f044 | Add voice clone documentation and sample audio player |
5fb7b85 | add image gallery with modal view for portfolio project |
431822c | update homepage writing section shimmer to purple style and improve light mode visibility |
8b874c7 | remove Links section from project pages and add screenshot instructions |
d871d77 | add portfolio project page with detailed documentation and fixes |
20107f4 | implement comprehensive SEO improvements |
e3ec3c2 | simplify about page intro |
c21eb7b | centralize ElevenLabs voice ID configuration |
9311bc6 | configure custom ElevenLabs voice for Audio Native |
f8533bf | optimize ElevenLabs Audio Native to reduce API costs |
f8d31cf | position TTS player above summary in blog posts |
7da002a | update blog list typography |
872a6ba | revise blog post for clarity and storytelling |
fc9cea4 | use ref to insert HTML to avoid React hydration error |
fb9303f | use iframe embed for Audio Native (works on localhost) |
7384478 | restore Suspense wrapper for MDX compatibility with React 19 |
ff9ca71 | use Audio Native API to create projects with full content |
76e6e08 | remove Suspense wrapper so MDX content is SSR'd for Audio Native |
36c512c | load Audio Native script via useEffect for proper execution |
5073332 | hardcode public user ID and simplify Audio Native component |
ea4e5c7 | use next/script for Audio Native script loading |
8a5ee20 | simplify to Audio Native integration |
32fa6ca | add script to clear audio cache |
61382ca | add audio caching to reduce API calls |
0ab2855 | pre-generate TTS audio on page load |
d59988f | add debug logging to TTS player for troubleshooting |
d018e8e | remove ElevenLabs footer from audio player |
156eda5 | make speed selector more minimalist and subtle |
b87be4f | remove ElevenLabs header from audio player |
1d6af2f | show full audio player UI immediately instead of button |
1a90ebf | upgrade TTS player with ElevenLabs UI components |
738ebb4 | replace Audio Native with TTS API for text-to-speech |
fa6fd42 | add Cursor IDE configuration and rules |
5152aec | wrap MDXRemote with Suspense for React 19 compatibility |
c7b54b2 | add ElevenLabs Audio Native text-to-speech integration |
2ff75d4 | content: update learning statement in blog post |
0c9b17b | update resume tagline |
3e6b185 | add dash prefix to Skills and Education items |
3371a03 | remove Looking For section from resume page |
649010d | improve resume typography and alignment |
f03743e | update font sizes for list items, links, and meta text |
c5d35e4 | add audience targeting mention to About page |
45e61a2 | dial down 'building tools myself' messaging |
b7a8cd8 | update README with growth marketer positioning |
ae9f3a3 | refine growth marketer positioning across all pages |
701a36f | reposition site as Growth Marketer who codes |
db41419 | replace projects page with coming soon placeholder |
4b7f5ff | update README with typography tokens, SendGrid, and GA4 integration |
d850b7e | reorder nav menu to About, Blog, Projects, Resume, Contact |
a17536b | add typography design token system for consistent styling |
a91398f | update favicon to terminal prompt icon |
c85a8c8 | remove focus ring border on terminal logo click |
af50e11 | refactor shimmer animation to work in both light and dark modes |
Freitag, 12. Dezember 2025
| Commit | Beschreibung |
|---|---|
0b4e0a2 | integrate SendGrid for contact form and enhance UI |
5bf8d6a | prevent text selection on terminal logo click |
2ab20b1 | disable static generation for MDX pages due to React 19 compatibility |
0d1a813 | update pages, components, and add new features |
08bc5e0 | initial commit - Next.js portfolio site with blog and projects |
7850991 | Initial commit |
20aed18 | Initial commit from Create Next App |