Skip to main content
Back to Projects
EventTech
Ticketing
QR Check-in
Seat Allocation
Monorepo
TypeScript
React
React Native
FastAPI
Prisma
PostgreSQL
Redis

EventFlow

EventFlow is a full-stack event ticketing and check-in platform that helps organizers manage events, issue QR tickets, optimize seating, and handle high-traffic check-ins reliably.

EventFlow preview 1
EventFlow preview 2
EventFlow preview 3
EventFlow preview 4
EventFlow preview 5
EventFlow preview 6
EventFlow preview 7
EventFlow preview 8

Viewing image 1 of 8

Technologies

Node.js
Express
TypeScript
Prisma
PostgreSQL
Redis
React
Vite
Tailwind CSS
React Native
Expo
Python
FastAPI
Docker
GitHub Actions
Render
Vercel

Challenge

The main technical problem was scaling event check-in and seat allocation under high concurrency without making the API slow or inconsistent. QR validation and allocation logic were both latency-sensitive and database-heavy, so peak traffic could create long p99 latency, ticket replay risk, and poor seat utilization under load.

Solution

The project split the system into a TypeScript API backed by PostgreSQL and Redis, plus a separate Python SAO microservice for heavy seat-allocation compute. QR tokens are short-lived, HMAC-signed, and validated atomically in Redis to avoid expensive DB checks and prevent reuse; allocations run asynchronously through the SAO service so the API stays responsive. Shared type contracts in the monorepo and Prisma-based data access keep the stack consistent and reduce integration drift.

Key Features

Monorepo architecture with shared types and UI packages

Admin dashboard for event, venue, ticket, and attendee management

Attendee web experience for event discovery and ticket access

React Native staff app for fast QR-based check-in

Python seat-allocation microservice for smart utilization

Redis-backed QR token validation and high-concurrency support

Project Details

The EventFlow was developed to address the main technical problem was scaling event check-in and seat allocation under high concurrency without making the api slow or inconsistent. qr validation and allocation logic were both latency-sensitive and database-heavy, so peak traffic could create long p99 latency, ticket replay risk, and poor seat utilization under load. This project showcases my skills in Node.js, Express, TypeScript, and other technologies.

During development, I focused on creating a solution that would be both effective and user-friendly. The approach involved the project split the system into a typescript api backed by postgresql and redis, plus a separate python sao microservice for heavy seat-allocation compute. qr tokens are short-lived, hmac-signed, and validated atomically in redis to avoid expensive db checks and prevent reuse; allocations run asynchronously through the sao service so the api stays responsive. shared type contracts in the monorepo and prisma-based data access keep the stack consistent and reduce integration drift.

The application features a clean, intuitive interface that allows users to easily navigate and utilize all functionality. Key features include Monorepo architecture with shared types and UI packages, Admin dashboard for event, venue, ticket, and attendee management, Attendee web experience for event discovery and ticket access, and more.

This project demonstrates my ability to understand complex problems and develop effective solutions using modern technologies and best practices in software development.

Related Projects

TrybeMarket

TrybeMarket

A decentralized, cross-platform campus marketplace ecosystem. It enables students to buy/sell goods, hire services, and build personal brands, utilizing a unified backend to serve both web and mobile users seamlessly.

View project
Janco

Janco

AI-powered janitorial services platform for Nigeria with on-demand and subscription cleaning, intelligent janitor matching, area-based pricing, and admin operations.

View project