
Tixvia - Real-time Ticketing SaaS
Aryan Kanojia / November 1, 2025
Live Project Link
- Live Project: Tixvia
Tixvia is a full-stack, real-time event ticketing marketplace designed as a SaaS (Software as a Service) platform. Users can become sellers to host and manage their own events, while buyers can purchase tickets through a fair, real-time queue system engineered to handle high-demand scenarios.
Key Features
-
Seller Onboarding: Seamlessly register as a seller using a Stripe Connect onboarding flow, which securely links bank accounts for payouts.
[See:app/actions/createStripeConnectCustomer.ts] -
Event Management Dashboard: Authenticated sellers can create, edit, and manage events, including pricing, descriptions, and ticket inventory.
[See:app/seller/new-event/page.tsx,components/SellerDashboard.tsx] -
Real-time Queue System: Implements a first-in-first-out waiting list, assigning every user a live queue position for popular events.
[See:convex/waitingList.ts] -
Time-Limited Ticket Offers: The user at the front of the queue receives a 30-minute offer to purchase. If expired, the ticket automatically passes to the next person.
[See:convex/constants.ts,convex/crons.ts] -
Marketplace Payments: Uses Stripe Checkout to route funds directly to sellers’ connected accounts, with a small platform fee for Tixvia.
[See:app/actions/createStripeCheckoutSession.ts] -
Digital QR Code Tickets: Every purchase generates a unique QR code ticket with event details, buyer info, and a Ticket ID for scanning.
[See:components/Ticket.tsx] -
Automated Refunds: Event cancellations trigger an automated refund system powered by Stripe.
[See:app/actions/refundEventTickets.ts] -
Event Search: Search upcoming or past events by name, location, or description.
[See:app/search/page.tsx]
Architecture Overview
Tixvia is built on a decoupled, serverless architecture integrating modern managed services for each core responsibility.
Frontend (Next.js)
- Built with Next.js App Router, shadcn/ui, and Tailwind CSS.
- Handles API routes, including the Stripe Webhook endpoint.
[See:app/layout.tsx,app/api/webhooks/stripe/route.ts]
Authentication (Clerk)
- Manages sign-up, sign-in, and user profiles.
- A
SyncUserWithConvexcomponent syncs Clerk users with the Convex database.
[See:components/SyncUserWithConvex.tsx,convex/users.ts]
Backend & Database (Convex)
-
Convex powers real-time data synchronization and atomic serverless functions.
-
Defines relationships between events, tickets, users, and queues.
[See:convex/schema.ts] -
Real-time UI: Frontend updates instantly using
useQuerysubscriptions. -
Serverless Functions: Handle operations like event creation, ticket processing, and queue management.
[See:convex/events.ts]
Payments & Payouts (Stripe Connect)
- Seller Onboarding: Creates Stripe Connect accounts linked to the Tixvia platform.
- Payment Flow: Secure Stripe Checkout sessions ensure funds go directly to sellers.
- Webhooks: Verifies and finalizes ticket creation after payment success.
Real-time Queue Logic
- User clicks “Buy Ticket” → calls
joinWaitingList. - Mutation checks ticket availability and assigns queue status (
offeredorwaiting). - If offered, a 30-minute timer starts; on expiry, the system automatically offers the next user.
- Convex cron jobs handle timeouts and queue promotions in real-time.
[See:convex/events.ts,convex/constants.ts,convex/waitingList.ts]
Technology Stack
- Frontend: Next.js, React
- Backend & Database: Convex
- Authentication: Clerk
- Payments: Stripe Connect
- Styling: Tailwind CSS, shadcn/ui
- Form Validation: Zod
Final Thoughts
Tixvia is a production-grade SaaS platform that demonstrates real-time, event-driven architecture.
By integrating Convex, Clerk, and Stripe Connect, it delivers a scalable and secure experience for both event organizers and ticket buyers. Its real-time queue management ensures fairness and reliability, setting a new standard for modern ticketing systems.