EnS Creatives
A fabrication and design studio whose portfolio is its sales pitch. A full-stack website with a custom CMS that lets the team publish new work, reorder the gallery, and answer inquiries themselves.
- CLIENT
- EnS Creatives
- CATEGORY
- Full-stack · cms
- STACK
- Next.js, TypeScript, Tailwind CSS, Prisma, PostgreSQL, Cloudflare R2, Turborepo
- YEAR
- 2026
- LINKS
- Live site

Overview
A fabrication and design studio whose portfolio is its sales pitch. A full-stack website with a custom CMS that lets the team publish new work, reorder the gallery, and answer inquiries themselves.
Challenge
EnS Creatives builds physical things — laser-cut metal panels, pergola canopies, estate gates, patterned screens, sculpted POP ceilings. For a studio like that the portfolio is the sales pitch: a prospective client decides whether to call based on whether the last job looks like the one they're imagining. The problem is that finished work arrives constantly, and on a static site every new photo means emailing a developer and waiting. The gallery goes stale, the best jobs never make it online, and the site slowly stops representing the business.
Approach
So rather than hand over a site they couldn't touch, I built the CMS with it. The team signs in and manages the gallery directly — uploading a project, tagging it by category, dragging it into the order they want it seen, and toggling it live or holding it back as a draft. They maintain their own service listings and team profiles, and inbound project requests land in an Inquiries inbox inside the same dashboard instead of scattering across a shared email account.
Key features
- 01Custom CMS for publishing new work
- 02Drag-to-reorder gallery
- 03Inquiry management
- 04Media storage on Cloudflare R2
Technical decisions
It runs as a Turborepo monorepo with two Next.js apps — the public site and the admin dashboard — sharing one typed Prisma schema against PostgreSQL, with images offloaded to Cloudflare R2 so a gallery that grows every month never bloats the database or the repository.
Results & lessons
The result is a site the client actually owns: I hand over the keys, and their newest work is online the same day it's finished.
How it works, screen by screen.




