← All work
My own product

Eventonite

Ticketing for the music scene. One flat monthly fee, no cut of your sales.

Role
Solo developer, database to deployment
Client
My own product
Tech and integrations
Stripe
eventonite / check-in.tsExcerpt
// A partial unique index allows one live "ok" per ticket:
// two doors at once, one gets in. Retries write nothing.
export const checkInTicket = async (input: CheckInInput) => {
  const ticket = await findTicket(input);
  const ticketId = ticket?.id ?? null;
  const resultKey = getResultKey(ticket, input.eventId);

  let checkIn =
    resultKey === "ok" && ticket
      ? await insertLiveCheckIn(input, ticket.id, …)
      : await insertCheckIn(input, resultKey, ticketId);

  if (!checkIn) {
    const replay = await db.query.checkIn.findFirst({
      where: { idempotencyKey: input.idempotencyKey },
    });

    // Not a retry: another door was faster
    checkIn =
      replay ??
      (await insertCheckIn(input, "alreadyCheckedIn", ticketId));
  }
Two doors scan the same ticket at the same moment. Exactly one gets in.

The challenge

Eventonite is a ticketing platform for clubs, bars and venues, independent promoters, concert organizers and music festivals. It charges a flat monthly fee instead of a cut of ticket sales, and ticket money goes directly to the organizer's own Stripe account.

People running club nights and festivals need a ticket shop, order handling and a door that works. Eventonite was built to deliver that without:

  • A platform fee taken from every ticket sold
  • Ticket money passing through someone else's account
  • Door staff installing apps or creating accounts on the night
  • Scanners that stop working when the venue loses signal
  • Door staff seeing revenue figures they don't need

The solution

One platform from ticket setup to the door, designed, built and run by one developer.

01

Events & Ticket Types

  • Early bird, general admission and VIP tiers
  • Separate prices, quantities and sales windows for each ticket type
02

Branded Ticket Sites

  • A branded ticket site for each organizer
  • Mobile-friendly checkout and QR PDF tickets
  • Ticket pages, emails and PDF tickets in 23 languages
03

Orders & Guest Lists

  • Refunds for whole orders or individual tickets
  • Order management and guest lists
04

Door Scanner

  • No app store and no staff accounts
  • Works offline after one online sync
  • Live check-in dashboard with scanner devices and attendee search
05

Teams & Workspaces

  • Admin and Supervisor roles
  • Supervisors can't see revenue
  • Separate workspaces for multiple brands
06

Flat-Fee Pricing

  • Plans from USD 29 a month, two months free on yearly plans
  • No fee on ticket price; Stripe's payment fees apply separately
  • Tickets above the plan allowance cost USD 0.12 each

Scope and scale

$29
starting price per month
Flat fee, no cut of ticket sales
4
plans
From 300 to 20,000 tickets a month
23
languages
Ticket pages, emails and PDF tickets
2
team roles
Admin and Supervisor
1
online sync
Then the door scanner works offline
30
days free
Or the first 500 tickets, whichever comes first, no card needed
The outcome

Eventonite is live at eventonite.com.

Organizers set up their events, sell through their own branded ticket site, get paid directly into their own Stripe account and run the door with a scanner that needs no app store.