Full-stack · relational data · workflow
A full-stack operator dashboard for running multiple content accounts — intake, a review queue, settings, analytics — backed by PostgreSQL, running here with zero config on sample data.
Started March 2026 · self-directed
The problem
Running several content accounts scatters decisions across spreadsheets and tabs — there's no single path from a raw idea to an approved-to-post item.
How it works
The story · STAR
Situation
Running more than one content account means decisions get scattered, with no clean path from an idea to an approved post.
Task
Build the operator's control surface as real database-backed software, not a mocked UI.
Action
Designed a thirteen-table PostgreSQL schema and modeled the pipeline as source items becoming candidates, packages, scores, and queue entries. Implemented every mutation as a Server Action with Zod validation over a repository layer that tries SQL and falls back to a local store. Deliberately left generation/scoring as clearly-labeled scaffolds — and for the portfolio made the whole thing run with zero config.
Result
The persistence and workflow are real and verified — create an account, push a source item through the pipeline, approve or reject it in the queue, with analytics reading from the store — and it builds and runs with or without a database.
Try it in 20 seconds
npm run dev) for full write interactivity.Built with
Status & honest limitations
Working v1, deployed. Persistence, the queue, and analytics are real; the production build runs with or without a database.
Self-directed project, built with AI-assisted development. All data shown is fictional sample content.