Skip to content
All work

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
Wireframe sketches of a web interface

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

A team sketching wireframes with sticky notes
A team sketching wireframes with sticky notes
A bright desk with a laptop and monitor
A bright desk with a laptop and monitor

Next project

StoreZed

A commerce platform with a built-in wallet, so merchants can take payments, hold balances and pay out in one place.

Hand holding a phone with a finance app