personal platform
bat.dev portfolio
A portfolio system for public proof, engineering notes, CMS content, AI chat, and admin-reviewed publishing.
Public routes
6
Content sources
CMS + DB
Rendering
App Router
problem
The site needed to feel like a developer portfolio instead of a generic blog shell: clear proof of skill, stronger visual identity, and room for AI/product experiments without turning the homepage into a toy.
outcome
The public surface now presents a tighter portfolio narrative, while the backend keeps CMS content, published digests, admin workflows, and chat persistence separated behind maintainable boundaries.
What it proves
Portfolio-first homepage with reusable public layout primitives.
Keystatic-backed bio, projects, skills, and chatbot context.
Server-rendered public pages with admin-only workflow surfaces.
Responsive dark/light visual system shared across portfolio pages.
build notes
Design direction
The UI leans quiet, technical, and editorial: narrow copy, restrained borders, dense proof points, and fewer decorative cards. The goal is to make the work scannable while still feeling deliberately designed.
Architecture
Public pages read local CMS content at build/request time, while Supabase handles published items, chat storage, and admin data. Feature code stays route-local unless shared helpers reduce real duplication.
Why it matters
A portfolio should prove judgment. This project shows practical backend-minded architecture, content workflow design, and the way assistant workflows can sit inside a product without dominating the brand.
next case study