Folio Builder
A CMS that lets photographers, designers and studios publish a fast portfolio site without hiring a developer.
- Role
- Founder and lead engineer
- Client
- Own product
- Year
- 2025
- Focus
- Product, SaaS
Outcomes
- from sign-up to a live site
- < 10 minfrom sign-up to a live site
- Lighthouse performance on published sites
- 95+Lighthouse performance on published sites
The problem
Creative people kept asking me for the same thing: a portfolio that looks considered, loads fast on a phone, and can be updated without calling a developer. Website builders were either slow, generic, or both.
What I built
Folio Builder is a multi-tenant CMS with a small set of opinionated templates. Owners upload work, reorder it with drag and drop, and edit every line of copy in place. Images go straight to a CDN with responsive sizes generated on the fly.
- Tenant-aware data model with row-level security, so one database serves every site safely
- Direct browser uploads with signed requests, keeping large files off the app server
- Server-rendered pages cached at the edge, so a published site stays fast without extra work
Decisions worth noting
I kept the template count deliberately low. Every extra template multiplies testing and support, and most users want a good default more than they want choice.
// Every query is scoped by tenant before it reaches the database
const projects = await db.from('projects').select('*').eq('site_id', site.id).eq('published', true)Where it is now
The product runs my own client sites and is being prepared for a small public beta.
Gallery
Next project
StoreZed
A commerce platform with a built-in wallet, so merchants can take payments, hold balances and pay out in one place.