LUSHFUL AESTHETICS
Live site01
THE BUILD
Kenny and I were brought in directly by Lushful, no agency in the middle. We ran it like a real engineering team: monthly client meetings, tickets for everything, priority queues, and mutual code review before anything shipped. We kept that up for two years.
The client had strong opinions on the brand — colors, typography, the way things should feel. Our job wasn't to redesign their vision. It was to build it right and make sure adding new pages six months later didn't break everything. Section mockups got approved in meetings and went straight to production code the same month. No Figma-to-handoff gap.
The hardest ongoing work was making sure the site could keep growing — new service pages, new blog posts, new CMS fields — without needing us on a call every time something needed updating.
Blog page

Booking / contact
Services page
02
AGE VERIFICATION + LEAD CAPTURE
Medical aesthetics has strict regulatory requirements around before/after photography. The challenge: retroactively adding conditional age-gating logic to a live production site with dozens of gallery pages — where only specific treatment galleries required verification based on content sensitivity.
We built a selective gating system that evaluated gallery content per-page, triggered verification only when required, and maintained session state across the entire site. Result: 10k+ newsletter subscribers captured without disrupting existing user flows.

Age verification modal · Gallery gate states
THE CHALLENGE
Site had been live for months with multiple gallery types. Some pages showed general content (cosmetic products, facilities) — no gate needed. Others showed medical procedures (injectables, body contouring) — required age verification. Had to retrofit conditional logic without breaking existing galleries or forcing verification on non-sensitive content.
THE SOLUTION
Built gallery component with content-type flagging in Contentful CMS. Each gallery entry tagged as requiresAgeGate: true/false. React component evaluates on mount, conditionally renders modal only for flagged galleries. Once verified, session persists site-wide via local storage — users never see the modal twice.
TECHNICAL APPROACH
- CMS Layer: Added boolean field to Contentful gallery content type.
- Frontend: Custom React hook checks verification status on component mount, reads localStorage for session state, triggers modal conditionally.
- Capture: Email submitted to Mailchimp via serverless function, prevents duplicate signups.
- State: Verification token stored locally, expires after 30 days.
OUTCOME
Users who saw the modal completed verification.
Deployed to production with zero downtime. 5,000+ newsletter subscribers captured through gated galleries. Maintained 100% regulatory compliance while preserving UX for non-gated content.
03
THE BLOG SYSTEM
The blog was the hardest piece. The client needed templates that worked across different content types — video, text-heavy, image galleries, mixed media — each with different field inputs, related content surfacing, and per-post SEO configuration. Everything had to be modeled in Contentful so the marketing team could publish without engineering on every post.
Blog Post
- title
- slug
- template type
- SEO fields
- featured image
- related posts
Text Heavy
- rich text body
- pull quote
- inline images
- author block
Media Rich
- video embed
- image gallery
- caption fields
- body text
Mixed
- modular blocks
- custom sections
- CTA module
- product links

04
SEO ENGINEERING
For a commercial med spa, SEO wasn't a feature — it was a business requirement. We baked it into the architecture from day one. Every page, every blog post, every service page had structured SEO fields. The 98 Lighthouse SEO score is what that looks like in practice. Organic traffic kept growing without paid advertising — the architecture did the work.
Performance
Media-rich Shopify site
Accessibility
Best Practices
SEO
Core goal — business critical
05
PRESS & RECOGNITION
While we were building and maintaining the site, the client was getting national press coverage across major publications. The infrastructure we built was handling that traffic every time a new article dropped.
GQ
Condé Nast
Men's Health
Hearst
New York Post
News Corp
The Cut
New York Media
Esquire
Hearst
Business Insider
Axel Springer
BuzzFeed
Digital
Men's Journal
Athlon Media
Marie Claire
Hearst
Town & Country
Hearst
AskMen
Dotdash Meredith
Out
Pride Media
Every time a new article dropped, traffic spiked. The site handled it. That's what production-grade infrastructure looks like — you don't notice it until something goes wrong, and nothing went wrong.
06
OUTCOMES
Placeholder summary tying traffic, newsletter growth, SEO score, and multi-year engagement back to specific engineering and content decisions.
Organic + direct mix; landing speed within budget.
Blog + treatment funnels feeding the newsletter.
Placeholder for audit tool and score methodology.
Sustained iteration with Kenny across roadmap.
What happened next
They hired a full agency when they needed a dedicated marketing team too.
That's not a loss – that's a small business growing past what two freelancers can cover.