Kirsten Blair Co
A marketing site for a Franklin, Indiana photographer — built, deployed, and waiting on the only two things a developer cannot supply.
CREATED AUG 5, 2026 · UPDATED AUG 6, 2026
PROBLEM
A photographer's site has to sell without getting in the way of the photographs, and it has to be editable afterwards by someone who does not write code.
HYPOTHESIS
Put every editable string in five typed content files — site, copy, pricing, testimonials, images — and the site becomes maintainable by its owner without a CMS, a login, or a monthly fee.
ARCHITECTURE
Next.js App Router with content as typed modules rather than a database. Client galleries stay on Pixieset and the site links out; the inquiry form posts to a route that mails through Resend, with a hidden honeypot field that silently drops bots. The booking link was removed on purpose so the form is the only funnel.
STACK
RESULT
Domain live, mail delivering, form tested. Paused on the client's own photographs and her edits to the drafted copy — the current images are licensed placeholders matched slot for slot.
LEARNINGS
- A site blocked on someone else's assets should be paused loudly, not left looking half-built.
- Placeholders chosen to match each real slot's crop and mood make the handoff a swap instead of a redesign.