Platform Setup

Platform Architecture Overview

Technical overview of BrightStar's infrastructure, data flow, and system components.

4 min readUpdated 2025-01-15

This overview walks through the technical foundation behind BrightStar — the systems running quietly every time someone lands on your event page, buys a ticket, or scans in at the door of a kirtan circle, a retreat, or a festival gate. You don't need to understand serverless computing or database replication to run a good gathering, but knowing what's underneath can help you trust why things behave the way they do, especially in the moments that matter most: the instant registration opens, or the line moving through check-in before your first session begins.

What actually runs BrightStar

BrightStar is built in layers, each doing one job. The frontend — the pages your attendees actually see — is server-rendered so search engines can index your event properly and pages load fast even on a slow phone connection at a festival gate; the busiest static pages are cached at the edge, close to wherever someone is browsing from. It also works as a progressive web app, so a returning attendee can revisit your event page like a lightweight app rather than hunting through old bookmarks or emails. Behind that sits an API layer of server routes that return data as JSON, with rate limiting on the public endpoints so a flood of automated requests can't overwhelm the system during a popular on-sale. The database layer is PostgreSQL, with read replicas so heavy reporting or dashboard traffic doesn't slow down checkout itself, real-time subscriptions through Supabase for live updates, and automatic daily backups kept for 30 days. Payments run through Stripe Connect — card numbers go to Stripe directly and are never stored on BrightStar's own servers, with webhooks confirming each payment as it clears.

What happens between clicking buy and getting your ticket

A ticket purchase moves through a fixed sequence, and each step exists to protect either the buyer or the organizer:

  1. 1You select tickets, and the client checks that they're still available.
  2. 2Checkout begins and the server places a 5-minute hold on those tickets, so two people can't be sold the same seat.
  3. 3Payment is processed and a Stripe webhook confirms it went through.
  4. 4The order is created and a confirmation email goes out via SendGrid.
  5. 5QR codes are generated and cached at the edge, ready to be scanned at your door.

Why the site doesn't buckle when tickets open

BrightStar runs on serverless functions hosted across Vercel's global edge network rather than on a fixed set of servers. That distinction matters most in the exact moment you'd expect trouble: when registration opens for a popular retreat and hundreds of people hit the same page within seconds. Because the functions serving your event page and checkout scale with whatever traffic actually arrives, a slow trickle of sign-ups over a week and a sudden rush the moment tickets go live are handled by the same system, just doing more or less work. Underneath that, ticket inventory is reserved atomically at the moment of purchase, which is what stops an on-sale rush from overselling more tickets than you actually have. Nobody has to guess your expected attendance in advance and provision for it.

Running on serverless means capacity isn't something reserved ahead of time. The functions serving your event page and checkout scale with the traffic arriving — whether that's a trickle over a week or a rush the moment tickets open. Practically, this is why you don't need to warn BrightStar before a popular event goes on sale, or worry that a surge of interest in your sound healing weekend will slow the page down for everyone else trying to register.

What keeps payment and account data safe

Two different concerns sit under the umbrella of security, and BrightStar treats them separately. Card data itself never touches BrightStar's servers — Stripe handles the number, the expiry, the CVC, and BrightStar only ever sees the result of the charge. Stripe itself is certified to PCI DSS Level 1, the top tier of that compliance standard, which is one more reason organizers don't need to think about card security themselves. Everything else — your event details, attendee information, account credentials — is encrypted both while it's moving between systems and while it's sitting in the database. Access to that database is further restricted with row-level security, so a request can only see the rows it's actually permitted to, and the elevated service-role credentials that could bypass those restrictions are kept confined to server-side code, never shipped to a browser where they could be exposed.

How real-time is my dashboard during check-in

When you're standing at a retreat check-in table or a festival gate, you need the numbers on your screen to match what's actually happening. BrightStar's dashboard doesn't work by refreshing on a timer — it uses live connections, so sales, check-ins and capacity changes appear as they happen. That means if you have several staff watching the same event from different phones or laptops — one at registration, one at the gate — they're all looking at the same number at the same moment, without anyone needing to hit refresh to catch up.

Common questions

What is the BrightStar platform built on?

BrightStar runs on a serverless architecture built for high-availability event ticketing. The frontend is Next.js 14 with App Router and server-side rendering, the database layer is PostgreSQL with read replicas and real-time subscriptions via Supabase, and payments run on Stripe Connect. Hosting is on the Vercel Edge Network as a global CDN.

Read more

In practice the routing layer does more than serve pages. Middleware resolves the signed-in session, the locale and the tenant on the way in, which is what lets white-label domains render the same application under a different brand. Public routes are locale-scoped across eight languages, and the API surface is roughly ninety-odd server routes handling checkout, webhooks, scanning, discovery and administration. On the database side, schema changes are made as migration files that are the source of truth for the structure, and service-role database access is confined to server code so it is never shipped to a browser.

How long are my tickets held while a customer is checking out?

BrightStar reserves tickets for a 5-minute hold once checkout is initiated. After payment is processed a Stripe webhook confirms it, the order is created, the confirmation email is dispatched, and QR codes are generated and cached at the edge for scanning.

Read more

The hold exists to solve a specific problem: two people looking at the same ticket at once. Once checkout starts, that ticket is set aside for you for five minutes. If payment doesn't complete in that window — a card declines, or the tab gets closed — the hold expires and the ticket becomes available again, rather than sitting reserved indefinitely.

Is BrightStar secure and compliant enough to handle payments?

Card payments on BrightStar are processed by Stripe, which is certified to PCI DSS Level 1 — card numbers go straight to Stripe and are never stored on BrightStar servers. BrightStar encrypts data in transit and at rest, restricts database access with row-level security, and keeps service-role credentials on the server only.

Read more

Card security is delegated entirely to Stripe, which is certified to PCI DSS Level 1, the highest tier of that compliance standard — so BrightStar never has to store or even see a full card number. Everything else BrightStar does handle directly — attendee names, event details, account logins — is encrypted in transit and at rest, with row-level security limiting what any single request can read from the database.

Can BrightStar handle a big on-sale rush?

BrightStar runs on serverless functions behind the Vercel Edge Network, so the capacity serving your event page and checkout scales with the traffic arriving rather than being fixed ahead of time. Ticket inventory is reserved atomically at the moment of purchase, which is what stops an on-sale rush overselling an event.

Read more

Because functions scale with demand rather than a fixed server count, a quiet week of trickle sign-ups and a rush the second tickets open are handled by the same system, just doing more work in the second case. The atomic reservation at purchase time is the piece that actually prevents overselling — it's what stops two people succeeding at buying the same last ticket during a crowded on-sale moment.

How quickly does my dashboard update when a ticket sells?

Live. BrightStar dashboard data uses live connections rather than polling, so sales, check-ins and capacity changes appear as they happen. That means several staff watching the same event see the same numbers at the same time, without anyone hitting refresh.

Read more

This matters most at a door or gate, where more than one person may be checking attendees in at once. Because the connection is live rather than refreshed on a timer, a check-in scanned at one table is reflected in the capacity count seen at another table within moments, so nobody is working from a stale number when deciding whether the room, or the venue, is full.

What are BrightStar's performance and API response targets?

BrightStar is built for speed rather than to a published latency commitment: pages are server-rendered and edge-cached, the scanner is designed to answer fast enough to keep a door queue moving, and public endpoints are rate limited. BrightStar does not publish uptime or response-time guarantees, and the platform status page reports what has actually been measured rather than a target.

Read more

The emphasis is on the design choices that make speed likely — edge caching, server rendering, a scanner built for door-queue conditions — rather than a promised number attached to a service agreement. If you want to know how the system is actually performing rather than what it aims for, the status page reflects measured reality, which is a different thing from a guarantee made in advance.

Ready to get started?

Create your first event on EveryEvent Bangkok — it’s free.