Case study · 03
2026 · Design, full-stack development & CMS
Pay It Forward Card Shows
A community event platform with a custom CMS and serverless backend for shows and dealers.

- Year
- 2026
- Role
- Design, full-stack development & CMS
- Stack
- Next.js · Vercel Functions · Neon
- Status
- Live and in production
Selected views
The work, before the process.
Two representative views establish the range before the case study moves into the decisions behind them.

Upcoming shows
Dates, venue details, and show information are organized around the next visit.

Dealer information
Practical guidance and reservation paths give dealers a clear way to participate.
Project story
One event platform for collectors, dealers, and show operations.
I designed and built the public Next.js experience, custom CMS, serverless actions, and Neon data layer behind show discovery, venue details, dealer guidance, table reservations, and community content.
Each show appears across public pages and operational workflows. Dates, venues, reservation paths, email, and structured data have to stay aligned while collectors and dealers receive different routes through the same event.
01
AudiencesOne show begins with two different questions.
Collectors need to know when to arrive, where to go, and what to expect. Dealers need table options, operating guidance, and a reservation path. The site serves both journeys without separating them from the event they share.
02
Event dataA date change is an operational change, not a copy edit.
Show records drive the homepage, upcoming-show archive, dealer paths, email, and JSON-LD. A shared date model keeps same-day events, daylight-saving offsets, and public Eastern Time labels consistent across those surfaces.
03
ReliabilityPersistence and delivery need separate failure boundaries.
Serverless workflows confirm a reservation in the database before attempting transactional email. A delivery problem is logged separately, so saved data is not presented to the visitor as a failed submission.
Decisions
A saved form is a success, even if the email fails
A completed database write no longer becomes an apparent failure when email delivery fails. Persistence is confirmed first; delivery is attempted separately and logged if it fails.
Every event time is one timezone, in one place
Homepage, archive, and JSON-LD now use one America/New_York date utility. Same-day events and DST offsets resolve consistently, and public copy labels times as ET.
Reset links expire when the password changes
Reset tokens are tied to the current password hash, so changing the password immediately invalidates older links without another table or expiry system.
User text is escaped before it reaches email HTML
Public form values are escaped before entering email HTML, including subjects and link attributes. Login and recovery rate limits use durable storage rather than a process-local map.
The build
A full-stack event platform in one deployable system.
The public experience, custom administration, event data, and communication workflows share a typed Next.js codebase and managed serverless infrastructure.
What I owned
- 01
Responsive visual direction and frontend development
- 02
Custom CMS for shows, venues, dealer guidance, and community content
- 03
Vercel Serverless Functions for backend and reservation workflows
- 04
Neon Postgres data layer and Vercel deployment
Technology roles
Experience
- Next.jsPublic site, custom CMS, and server routes
- ReactShow, dealer, and community interfaces
- TypeScriptTyped content and application contracts
- Tailwind CSSResponsive visual system
Data & operations
- Drizzle ORMTyped schema and queries for the custom CMS
- NeonManaged serverless PostgreSQL
- ResendTransactional form and account email
- VercelApplication and serverless deployment
System architecture
A custom event stack from page to database.
The Next.js experience is backed by a purpose-built CMS and serverless application layer, keeping event content and operational workflows in one deployable system.
- Frontend
Next.js experience deployed through Vercel
- Content
Custom CMS for shows, venues, dealers, and community information
- Backend
Vercel Serverless Functions for application and reservation workflows
- Database
Neon Postgres
Selected screens
The system, seen in practice.
Readable views of the site and the system behind it.
Community story
The organization’s purpose and pay-it-forward mission have a dedicated place in the experience.
Contact
A direct contact path separates general questions from the structured dealer workflow.
Collector guide
A focused guide signup extends the community content beyond event dates and logistics.
Current status
Live and in productionAvailable in production today; the live experience reflects the system shown throughout this case study.
Discuss a similar project
