Built for EMPEERYAL LLC
empeeryal.com — the platform this site runs on
A blog, deals engine, newsletter, digital-product shop, and client-intake system in one hand-built Next.js app — fast on a phone, accessible, secure, and largely running itself. You're using it right now.

The challenge
The numbers first — measured on this site, not estimated:
| Mobile blocking time | Accessibility failures | Automated tests |
|---|---|---|
| 670 ms → 170 ms after the performance rewrite | 0 serious or critical — a release gate on every push | ~700 unit, browser, and accessibility checks |
A one-person internet business needs the output of five subscriptions — a CMS, a link tracker, an email tool, a checkout, a lightweight CRM — without the monthly bills, the copy-paste glue between tools, or a page builder's generic templates.
The brief I set myself: one custom platform where publishing takes minutes from any browser, every click that matters is measured in my own database, payments are safe to take unattended, and nothing about operating it becomes a second job. And since it doubles as my storefront, it has to be proof of craft in itself — fast on a cheap phone, zero accessibility failures, and hardened enough that I'd happily let strangers poke at it.
The approach
One admin for everything
Markdown posts with scheduling, multi-part series, comments, and a tag manager that can rename or merge a tag across every post in one click. Deals get their own indexable coupon pages with copy-to-clipboard codes and tracked /go redirect links. Case studies, testimonials, evergreen topic-hub guides, self-served house-ad banners (no ad network, no third-party scripts), and a media library round it out.
Money that survives the edge cases
Stripe Checkout powers deposits, tips, and digital products. Settlement is exactly-once even when Stripe's webhook and the buyer's redirect race each other; refunds automatically revoke the signed download links; discount codes only burn a use when money actually moves. A membership tier gates premium posts through Stripe subscriptions with no third-party paywall service. The failure modes you don't think about until they cost you.
Client intake built like a product
A project questionnaire feeds ticket-style request threads with email notifications, deposit invoicing, and a pipeline view — including which marketing source actually produced each lead.
An AI content pipeline with a human gate
The editor can draft with Claude, ChatGPT, Gemini, or Grok — compose a post from a topic, import a deal from a product page URL, or let a daily job turn queued topics into drafts. Nothing publishes itself: every draft crosses my desk, and every AI call is logged with its token cost.
Fast the honest way
No client-side animation framework — everything animates with CSS plus a tiny scroll observer, and content renders visible-first so nothing waits for JavaScript. Pages are statically cached and revalidate surgically when content changes.
Security as a feature
A strict content-security policy, database-backed rate limiting on every public form, DNS-pinned server-side fetching (rebinding-proof), HMAC-signed download and preview links, and honeypot traps with optional Turnstile. The same discipline a client project would get.
Built to not need me
Nearly seven hundred automated checks — unit, real-browser, and accessibility suites — run on every push. A daily job archives dead deals, keeps the semantic search index fresh, and sweeps every link in every post against the database and the live web, so a broken link is found before a reader finds it. A live health dashboard verifies every integration down to the ads.txt file, and an uptime endpoint feeds an external monitor.
The result
Measured, not vibes: rewriting the animation layer from a JavaScript runtime to CSS cut mobile Total Blocking Time from 670 ms to 170 ms, and rendering content visible-first brought Largest Contentful Paint back under budget from over four seconds.
Publishing a post or a deal takes minutes; scheduled posts release themselves. Every deal click and coupon copy is counted twice — in my own database and in Google Analytics — so the dashboard never depends on a third party.
The accessibility gate enforces zero serious or critical WCAG violations on every push, across the public site and the admin.
The site even installs like an app — phones and desktops can add it to the home screen, no app store involved.
And the part no template can offer: this case study is running on the thing it describes. Slow site? Broken page? You'd be looking at it.
Want something like this?
Tell me what you need and I'll come back with a plan and a quote.
Get a quote