The Brief Grew with the Business
Reve Stitching needed a credible digital presence, but the work quickly became more than a marketing site. Quote requests, sample requests, product information, internal follow-up, and client communication all touched the same customer journey.
The important shift was treating the website as operational software: every public form needed a clear destination, every status needed ownership, and every useful interface needed to keep working when an optional integration failed.
Picking the Stack
After researching for about a week, I landed on a stack that made sense for a content-heavy B2B website:
- Astro for fast content delivery and selective interactivity.
- Tailwind CSS for styling. Utility classes let me move fast without fighting CSS specificity.
- GSAP + ScrollTrigger for deliberate, performance-aware motion.
- Supabase and libSQL/Drizzle for data-backed workflows.
- Vercel for deployment and server-side routes.
What I Actually Built
The website ended up being much bigger than a simple corporate page. Here's what shipped:
- Quote, sample, and contact intake flows
- Admin operations for requests, chat, email templates, and follow-ups
- A client portal for project-facing updates
- ERPNext integration points for operational continuity
- Turnstile, validation, transactional email, and error monitoring
- Responsive public experiences with motion that respects reduced-motion preferences
The site is live at revestitching.com if you want to see it.
The Hard Parts
Motion was one of the visible challenges. Scroll-triggered reveals had to feel intentional without making slower devices pay an unnecessary cost. The durable lesson was that fewer, better-timed movements create more confidence than constant animation.
The harder work was behind the interface: validating input, keeping privileged tools separate, connecting notifications, and designing failure states so an unavailable service did not take down the rest of the journey.
Architecture Is Also Product Work
The platform has multiple audiences, permissions and operational handoffs. That shape matters more than the number of pages or endpoints.
I learned to decide navigation, data ownership and failure handling before adding more features.
What I'd Do Differently
If I started again, I would map public intake, internal ownership, and client-visible status before writing interface code. That model is more useful than a sitemap alone because it catches operational gaps early.
But honestly? Shipping something imperfect taught me more than any tutorial ever could.
A production platform succeeds when the interface and the operation behind it tell the same story.