Background
I've had a personal site for a while. heinz.id, mostly static, updated by pushing code. Adding a project meant a pull request. Writing a post meant editing markdown in a repo.
That worked. It was just annoying.
Storylio started as a simple question: what if I could update my portfolio the same way I'd update any other content-managed site? No deploys for content changes. A real dashboard. Built by me, not rented from someone else.
Project Goals
I wanted a portfolio that shows my projects and writing in one place, a dashboard I can actually use without touching the codebase, and something I'm not embarrassed to send to someone as a first impression.
I also wanted to build on a stack I'd use in a real product — not a demo setup.
Stack
- Next.js 16.2.x — App Router, server components,
use cache - TypeScript — non-negotiable
- Tailwind CSS v4 — new oxide engine, still adjusting
- shadcn/ui — dashboard components
- Framer Motion — public-side animations
- PostgreSQL (Neon) — serverless Postgres
- Prisma — ORM
- — auth (swapped out NextAuth)
