All case studies
Case study · Algeria · 14 days

Loubna Photography editorial portfolio, CMS, 14 days

A wedding photographer needed a site that rivals US agency portfolios — clean editorial layout, async inquiry capture, and a CMS she runs herself.

Visit live site
Loubna Photography — editorial portfolio, CMS, 14 days
The results
14Day of 14
Delivery
14
Pages shipped
100
Lighthouse SEO
96
Lighthouse Performance
98
Lighthouse Accessibility
100
Lighthouse Best Practices
01 — The problem

Before this engagement, the client managed her business entirely through social DMs and phone calls. Inquiries arrived at all hours and routinely fell through the cracks. She needed a site that would:

  • Rank on Google for relevant local wedding-photography searches
  • Capture inquiries async and route them to a chat tool she already used
  • Let her edit packages, portfolio, and pricing without touching code
  • Feel editorial and warm — not templatey
02 — The approach

P3 MVP Stack. App Router with React Server Components for the public site; Postgres-backed CMS; image CDN with on-the-fly optimization; webhook-routed inquiry notifications; light and dark themes.

Admin gated by JWT-signed sessions with deploy-resilient rate limiting on login. Public inquiry API rate-limited per IP using the same DB-backed mechanism.

All content lives in Postgres — portfolio, services, package pricing, hero slides. Local-dev uses JSON fixtures to bootstrap; production reads and writes go through a typed ORM layer.

14-day sprint, binary gates every day, staging URL shared with the client at each step.

Next.js 16React 19Tailwind v4shadcn/uiPostgresType-safe ORMImage CDNJWT authEdge hosting
What it looks like
Home page hero with carousel
Portfolio grid with category filter
From zero to a live site in 14 days. I didn't need a call until payment, and now I edit everything myself.
Wedding photographer, North Africa

Want something similar?

Get a real quote in 60 seconds — scope, fixed price, timeline, and a payment link, instantly.