← All projects

Photography · Live

DMI — DarlMac Impression

…printed imagination — a photography studio, academy, store and booking engine, with a real ops dashboard behind it.

Desktop — Home hero

Desktop — Home hero

300+

Projects delivered

7

Years experience

5.0

Average client rating

12

Dashboard modules

Client
DarlMac Impression (DMI)
Year
2026
Category
Photography
Services
Website Development, Custom Operations Dashboard, Branding

Overview

DMI — DarlMac Impression — is a photography studio founded by Macauley Nseh, working across Lagos and Uyo on weddings, maternity, birthdays and fine-art portraiture. Beyond the portfolio, DMI runs a photography academy, rents out studio space, and sells digital presets and guides — so the brief wasn't just a portfolio site, it was four small businesses operating under one roof. We built a single site that sells all four, and a staff dashboard behind it that runs the operations side: bookings, finance, academy applications and content — nothing routed through a spreadsheet or a second login.

The challenge

Every one of DMI's revenue lines — shoots, studio rental, the academy, the digital store — needed its own booking flow and pricing logic, without the homepage turning into four competing pitches. And because Macauley runs the studio day-to-day without a developer on call, every piece of content — galleries, blog posts, store products, pricing — needed to be editable from a dashboard, not a code deploy.

The outcome

DMI now runs its entire business — shoot bookings, studio-space rentals, academy enrolments, store orders, reviews, even staff attendance — through one site and one dashboard. Promo codes, pricing and galleries update the moment staff save a change, and every booking funnels straight to WhatsApp with the details already attached, so nothing gets lost between enquiry and calendar.

What the site does

Feature by feature

Four services, one site

Shoots, studio-space rental, the DMI Photography Academy, and a digital store (presets, guides, mini-courses) each get a dedicated page and booking flow, without fragmenting the brand.

Studio-space pricing calculator

Spaces, extras and quantities combine into a live NGN quote, with promo-code discounts validated in real time against the database before checkout.

WhatsApp-native checkout

Every booking, event enquiry and store purchase ends in a pre-filled WhatsApp message — fast for clients, zero missed leads for staff.

Academy enrolment

Cohort batches, payment plans and bank details are laid out clearly for every academy intake, with its own terms and registration flow.

Reviews & blog

Clients can leave reviews directly on the site, and the blog is fully dashboard-authored — both feed the trust-building the brand needs before a first booking.

Masonry portfolio

Project galleries organise years of shoots into browsable, filterable sets instead of one long scroll.

Across every screen

Desktop, tablet & mobile

Behind the scenes

The staff dashboard

Bookings & finance

Every shoot, event and studio-space booking lands in one table, alongside a finance module tracking income, expenses and other revenue — the business's real-time P&L.

Academy & promo management

Review academy applications and manage studio-space promo codes from the same dashboard that runs everything else.

Content, store & blog manager

Galleries, store products, pricing and blog posts are all edited from rich-text and image-upload tools — no developer touch required for a new shoot gallery or blog post.

Staff attendance

A dedicated check-in system logs staff attendance and resumption schedules, turning the dashboard into a genuine ops tool, not just a CMS.

Email builder

Built-in email templates let the team message clients and leads without leaving the dashboard.

TanStack StartReact 19SupabaseRadix UIFramer MotionReact Hook Form + Zod

Let's build something that endures

Ready for a website that runs your work?

Tell us about your church, NGO or business — wherever you are. We reply within 24 hours with next steps.

Start a project ↗