Intake

    Next.jsTailwindShadcn UIStripe.jsWIP

Intake is a multi-step vehicle registration experience I built after running into real limitations while working on a large automotive event project. The original form solution worked for a quick V1, but it fell apart when users needed to register multiple vehicles, avoid duplicates, or complete payment without being kicked into a separate flow. In practice, people were filling out forms and dropping off before paying, which is a big problem for event organizers. This project rethinks registration as a guided workflow instead of a static form. One user can register up to five vehicles in a single session, review and edit entries, and complete payment in the same interface. The form enforces real-world rules like preventing duplicate vehicles and limiting judging categories, while clearly showing progress through the process. Intake is currently a completed frontend MVP built with Next.js, React, Zod, Tailwind, shadcn/ui, and an embedded Stripe checkout. Backend integration with Supabase and payment webhooks is planned next, along with a more thematic UI designed specifically for automotive and enthusiast audiences.