← All case studies

Case study · Algeria

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 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

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

30-day results

Delivery
Day 14 of 14
Pages shipped
14
Lighthouse SEO
100
Lighthouse Performance
96
Lighthouse Accessibility
98
Lighthouse Best Practices
100

What the site 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 — no call required.

Get your quote →