Inspiration

Sam and I both use nomadtable, a social app which allows you to connect with people nearby to meet travellers and get stuck in with nearby activities. We love it. And wanted to make something similar, but for LAN events.

What it does

Lantable is a map-first platform for discovering and hosting LAN parties, everything from a casual living-room session to a ticketed event at an esports café.

  • Browse on a map. A full-bleed UK map shows every nearby event as a pin, with clustering that expands as you zoom in. Click a pin to open an event detail panel without losing your place on the map.
  • Filter to your scene. Narrow events by game, date, event type (home vs. venue), distance, capacity, age policy and BYOC, all URL-synced so you can share a filtered view.
  • Host an event. Create an event with games, location, capacity, BYOC rules and an age policy. Free or paid.
  • Sell tickets. Paid events run through Stripe, and attendees get a ticket with a QR code that hosts scan at the door for check-in.
  • Sign in and show up. Clerk handles auth; the rest is just turning up ready to play.

How we built it

Map and discovery

  • MapLibre GL JS (open-source WebGL renderer) via react-map-gl, with MapTiler tiles.
  • Clusters render game logos: we walk each Supercluster cluster's leaves, pull the unique games inside, and stack the top three as overlapping logo "coins" with a count badge. You see what's being played in a city before clicking.
  • Streaming data flow: the map paints instantly, events arrive as a promise unwrapped with React's use() under Suspense, so markers stream in over an already-interactive map.
  • Filtering and clustering run client-side against the in-memory set, so toggling a game or date is instant with no round trip.

Frontend stack

  • Next.js 16 (App Router) and React 19.
  • Tailwind CSS 4 and shadcn/ui for dialogs, sheets and toggle groups.
  • React Hook Form with Zod schemas shared between the client and the server actions, so the same rules validate in the browser and again on the server.
  • Resend for outbound transactional emails
  • Biome for linting

Auth

  • Clerk for hosted sign-in/sign-up, sessions, and the user model hosts and attendees attach to.
  • Helped us deploy authentication in literally minutes rather than using something like BetterAuth/Firebase/

Data

  • Events served live via Drizzle ORM over AWS Aurora PostgreSQL, using OIDC rather than a simple connection string for stronger security
    • Since we were using Vercel Pro, we could have used static outbound IPs for our deployments, and set up an allowlist on the database for far more secure connection, but felt it unnecessary for now.
  • All of the data is currently mocked, but in the future we hope to get real customers registering their events
  • We also have the option of importing events from other LAN websites to seed real data and provide value to users

Payments and ticketing

  • Stripe Connect with Express accounts: each host gets a connected account.
  • Attendee payments land on the platform balance first; a confirmed checkout webhook mints a QR-coded ticket and emails it as a PDF.
  • A dedicated check-in route lets hosts scan tickets at the door.

Infrastructure

  • Turborepo monorepo on Vercel, with transactional email and dynamic Open Graph image generation.
  • Vercel (on a Pro subscription) deploying the website
    • The Pro subscription allowed us to collaborate on the project and use shared env variables (i.e vercel env pull)
    • Allowed us to use direct Vercel Integrations for the AWS Aurora Postgres database

Accomplishments that we're proud of

Stripe

We're really proud of how seamless the Stripe processing is for both customers and event planners. Stripe makes it really easy to integrate their SDK, but we also put a lot of effort into making it easy for customers to pay (i.e one-click payments), but also making it easy for event planners to accept payments.

Performance

We did some performance testing (more than 10,000 events) and the map performance was seamless, showing great scalability on the front-end.

What's next for Lantable

  • Social layer: friends/follows, and post-event ratings that build host reputation.
  • Trust & safety: reporting and blocking, venue verification badges, and location obfuscation for home events until an RSVP is approved.
  • Games catalogue: auto-syncing the top Steam titles so hosts pick from a clean, canonical game list. This would be helpful for games which are new on Steam and grow in popularity quickly.
  • Pilot launch: partnering with venues to get their events on the platform.

Built With

Share this project:

Updates