6b698c5f58
- Add CLAUDE.md with project conventions and architecture notes
- Create Navbar (sticky, backdrop blur, mobile menu) and Footer
- Build homepage sections: Hero, FeaturedProjects, Skills, CurrentWork, CallToAction
- Add /projects, /about, and /contact pages
- Create reusable ProjectCard and Badge components
- Centralise project data in content/projects.json with featured flag
- Add class-based dark mode toggle (default dark, persisted to localStorage)
- Refactor globals.css: remove conflicting prefers-color-scheme media query
- Fix two-instance ThemeToggle sync bug in Navbar
- Fix key={index} anti-pattern in timeline, stale closure in setOpen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
41 lines
1.4 KiB
JSON
41 lines
1.4 KiB
JSON
[
|
|
{
|
|
"title": "Portfolio Site",
|
|
"description": "This site — a personal portfolio built with Next.js and Tailwind CSS. Focused on clean design and fast load times.",
|
|
"stack": ["Next.js", "TypeScript", "Tailwind CSS"],
|
|
"href": "#",
|
|
"featured": true
|
|
},
|
|
{
|
|
"title": "Deploy CLI",
|
|
"description": "An open-source command-line tool written in Go for automating local environment setup and deployments.",
|
|
"stack": ["Go", "Docker", "CI/CD"],
|
|
"href": "#",
|
|
"featured": true
|
|
},
|
|
{
|
|
"title": "Metrics Dashboard",
|
|
"description": "A real-time dashboard for monitoring system health and performance metrics across distributed services.",
|
|
"stack": ["React", "Node.js", "WebSockets", "Redis"],
|
|
"href": "#",
|
|
"featured": true
|
|
},
|
|
{
|
|
"title": "Auth Service",
|
|
"description": "A standalone authentication service supporting OAuth2, magic links, and session management.",
|
|
"stack": ["TypeScript", "PostgreSQL", "REST"]
|
|
},
|
|
{
|
|
"title": "Component Library",
|
|
"description": "An internal design system and component library exploring composability and accessibility patterns.",
|
|
"stack": ["React", "TypeScript", "Storybook"],
|
|
"href": "#"
|
|
},
|
|
{
|
|
"title": "RSS Reader",
|
|
"description": "A minimal feed reader with a clean reading mode, keyboard navigation, and offline support via service workers.",
|
|
"stack": ["Next.js", "SQLite", "PWA"],
|
|
"href": "#"
|
|
}
|
|
]
|