AERO·ADIX
A production-grade ecommerce site and owner-operated CMS for a CFD-engineered, 3D-printed aerodynamics brand. Built end-to-end in ten weeks.
Build a production-grade ecommerce site for a CFD-engineered aerodynamics brand. Make it ownable. Make it self-serve.
The Site.
A custom React + Vite single-page application with nine public routes — homepage, shop, category, product detail, cart, checkout, order confirmation, contact, and a custom 404. Branded from logo system through to social card.
Stripe checkout via a serverless Netlify Function. WCAG 2.1 AA accessibility audit and remediation. Forty-eight product photographs processed and a full SEO launch kit shipped — sitemap, robots, meta, Open Graph, font preloading, lazy loading, WebP pipeline.





Phase 01 deliverables · expand
- Brand identity — logo system (SVG master, PNG variants, favicon set), social card, Open Graph creative
- Custom Vite + React + Tailwind single-page application, nine public routes
- Homepage — hero, engineering stack, CFD process, platform selector, About, flagship showcase, footer
- Shop catalog, category pages, product detail with multi-image galleries
- Cart context, cart page, checkout, order confirmation
- Stripe integration via serverless Netlify Function
- Initial product data layer — seven SKUs across four vehicle platforms
- SEO launch kit, WCAG 2.1 AA accessibility audit and remediation
- Product photography processing (48+ assets) and CFD imagery curation
- Netlify deployment configuration with security headers, caching, SPA redirects
- CodeQL security workflow, clean repository hygiene, full handoff package
STI Aero-RS Full Package
The flagship product page. A bundle that surfaces the complete Aero-RS aerodynamic system for the Subaru WRX STI — package savings, breakdown of individual components, and cross-sells, all dynamic from the CMS.

The Owner Panel.
A self-serve content management system. The owner manages every product, price, photograph, and homepage carousel image through a branded admin panel — no developer involvement required.
Supabase Postgres with Row Level Security. Two public Storage buckets gated to the owner email. Admin routes shielded by both a frontend route guard and database-level enforcement. Stripe checkout uses live admin prices automatically — no Stripe sync when prices change.



Phase 02 deliverables · expand
- Supabase project provisioning — schema, idempotent migration script, Row Level Security policies, Storage buckets and policies
- One-time image migration uploading all existing site assets to Supabase Storage and rewriting database references
- React data layer — hooks replacing the static data file, with skeleton loading on Shop, Category, Product Detail, and homepage carousel
- Owner authentication — Supabase Auth integration, owner-only gating, branded login page, protected route wrapper
- Admin shell — bare-layout admin frame, dashboard tiles, mobile responsiveness, noindex meta on every admin page
- Admin products module — list with reorder, full edit form, multi-image drag-and-drop, set-thumbnail, delete-with-Storage-cleanup
- New-product flow with auto-generated URL slug, owner-friendly field hiding (Stripe IDs, SKUs, internal fields)
- Admin carousel module — list, drag-and-drop add, inline label editing, replace, delete
- Owner UX polish — plain-English placeholders, slug protection on existing products, intuitive sort controls
- Documentation — idempotent SQL setup, storage walkthrough, environment template, owner operations guide
Built on.
Modern, minimal, production-grade. Every choice is intentional — chosen for the owner to be able to live with the system long after handoff, and for the codebase to be readable by any competent React engineer.
| Framework | Vite 6React 18React Router 7 |
|---|---|
| Styling | Tailwind CSS 3Framer Motion 11Inter (Google Fonts) |
| Database | Supabase PostgresRow Level Security |
| File Storage | Supabase StorageTwo public buckets |
| Authentication | Supabase AuthSingle owner |
| Hosting | NetlifyNetlify FunctionsNetlify Forms |
| Payments | Stripe CheckoutServerless bridge |
| CI/CD & Security | GitHubCodeQLAuto preview deploys |
What shipped.
A production site indexed by Google Search Console at aeroadix.com, owner-operated end to end, with the owner able to add products, change prices, swap homepage imagery, and manage the catalog without touching code.
Owner Independence
The site owner manages every product, price, photograph, and homepage carousel image. Zero developer involvement required for ongoing operations.
No Stripe Sync Drift
Checkout uses live admin prices via ad-hoc price_data. Change a price in the admin panel — it takes effect on the next checkout.
Defense in Depth
Frontend route guard plus database-level Row Level Security. Browser secrets isolated. Storage policies enforce owner-only writes. Bypass either layer and the other still holds.
Engagement record.
Got a build like this in mind?
Tell us about it.
Production sites, headless commerce, owner-operated CMS systems. Built end to end, documented, and handed over for good.
Get in touch→More WorkSee other builds.
Browse the rest of the VVV Digitals portfolio — case studies, deliverables, and live engagements across digital operations and product.
View all work→