Find and rsvp to events made by others and invite friends through QR codes.

React
TypeScript
TailwindCSS
Shadcn UI
Supabase

Overview

INVT simplifies event discovery and RSVP management through a clean, intuitive interface. Users can create events, share invitations via QR codes, sell tickets, and track attendance. The platform is built with React and styled using shadcn/ui and TailwindCSS, with Supabase handling authentication, storage, and real-time data.

Media Gallery

Main Page
Create Event Page
RSVPs Page
Map View
Profile Page
Notifications Page
Past Events
Sign In Page

Problem & Solution

Existing event platforms were overly complex and difficult to use for both organizers and attendees.

INVT focuses on a streamlined experience by removing unnecessary features while still supporting essential workflows like invitations, ticket sales, and attendee management.

Key Features

  • Create and manage public or private events
  • Share invites via QR codes and track invite attribution
  • Sell event tickets directly through the platform
  • Retarget previous attendees for future events
  • Authentication, storage, and real-time data powered by Supabase

Technical Highlights

  • Migrated backend from Firebase to Supabase to support relational data and improve scalability
  • Designed a relational PostgreSQL schema for events, users, tickets, and invites
  • Implemented web push notifications using the Web Push API and a custom service worker integration with Vite
  • Integrated Stripe using a marketplace model, allowing individual event hosts to manage payouts and taxes independently
  • Built a responsive UI using shadcn/ui and TailwindCSS for consistent and easily adjustable styling

Challenges & Learnings

Backend Migration - Transitioned from Firebase to Supabase to improve relational data modeling and avoid vendor lock-in. This required refactoring data access patterns, rebuilding authentication flows, and migrating storage logic.

Web Push Notifications - Implemented push notifications in a PWA environment, including handling HTTPS requirements and service worker constraints when the app is inactive.

Payments Architecture - Chose a Stripe marketplace model to enable multiple organizers to sell tickets while managing payouts and tax responsibilities independently.

UX Consistency - Used shadcn/ui as a foundation to maintain design consistency while allowing rapid iteration on layout and interaction patterns.

Next Steps

  • Improve analytics for event organizers
  • Expand attendee engagement tools
  • Enhance accessibility and mobile UX

Interested in this project?

Check out the live demo