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


“From zero to a live site in 14 days. I didn't need a call until payment, and now I edit everything myself.”
Want something similar?
Get a real quote in 60 seconds — no call required.
Get your quote →