Gateway

Gateway

A bus with no destination, a short break

BetaBuilt by Isaac BridgeWebMobile web (add to Home Screen)
Gateway landing page hero

Gateway is a web service where you pick up a free ticket in the terminal waiting room, take a seat on the bus, and watch the view roll by with no destination. People on the same bus see the same scenery at the same moment, and every 30 minutes they get off at a rest stop to walk and rest. No install, no chat, just one link, made for people who want a short break in a busy day.

Who it's for

Anyone who wants a short break in a phone or computer browser, whether for ten minutes or an hour

The problem we solved

Even in a short break, the apps at hand are full of tasks and notifications. Gateway offers time sitting quietly on the same bus with others, from a single link, with no install and no chat.

Our scope

The 3D terminal waiting room and bus interior in three.js; real-time shared rides with one server room per bus (Cloudflare Workers and Durable Objects); a view timed from the departure time so everyone sees the same scenery; rest stops, radio, wallet and mileage; Google sign-in; screens in four languages; and a radio admin screen

Built with

three.jsTypeScriptViteCloudflare WorkersDurable ObjectsSupabase(PostgreSQL)HyperdrivePlaywrightVitest

How we built it

01

A break that starts with one ticket

Gateway starts in a 3D terminal waiting room. Tap the screen to walk, tap a chair to sit, and pick up one free ticket a day at the ticket office. Choose a bus from 1 to 10 on the departure board, pick an empty seat on the seat map, and walk out through the gate to board.

Regulars move through the waiting room on their daily routines, and you can spend time at the kiosk, the gift shop or the window-side coffee shop. When it gets busy, waiting rooms 2 and 3 open on their own.

3D terminal waiting room with the departure board and seat map
02

Everyone sees the same view

Buses 1 to 10 run all the time, four minutes apart. Each bus is one room on the server, and its position is calculated from the departure time, so everyone on the same bus sees the same scenery at the same moment. The 100 km route links 20 places, such as city streets, fields, Daegwallyeong, the East Sea and the southern archipelago.

Day and night follow Korean time, and five kinds of rain and three kinds of snow hit the window, cling and melt. Open the glass roof to see the stars at night.

Heavy snow outside the window, with the bus radio card
03

Themed rest stops every 30 minutes

The bus drives for 30 minutes, then stops at a rest stop for 10. There are six fantasy rest stops, and each bus stops at a different one. Get off to look around the plaza, walk between buildings where staff and visitors go about their business, and take a souvenir photo.

Each rest stop has its own sounds and goods, and collecting stamps earns mileage. When you get off, you receive a mileage card for the distance you rode.

The plazas of the six fantasy rest stops
04

Bus radio, heard together

Everyone on a bus hears the same song at the same moment. Gateway radio plays by default, and you can request a favorite YouTube song or add it to a list just for yourself. Operators add, edit and hide radio tracks from the admin screen.

Data lives in Supabase, and real-time shared rides run on Cloudflare Workers and Durable Objects, with no errors in a test of 5,000 concurrent users. A live DJ radio has been built but is on hold for now.

Screen showing the bus window view, the radio card and a live broadcast notice

How it's used

  1. 01

    Open the link

    Join from a phone or computer browser, with nothing to install.

  2. 02

    Get a free ticket

    Pick up one free ticket a day at the waiting room ticket office.

  3. 03

    Choose a seat

    Choose a bus on the departure board and an empty seat on the seat map, then board.

  4. 04

    The view and the radio

    See the same view and hear the same song as everyone on your bus.

  5. 05

    A walk at the rest stop

    Every 30 minutes, get off at a rest stop to walk, eat and take photos.

  6. 06

    Mileage

    When you get off, you earn mileage for the distance you rode.

Key features

  • 01

    A shared bus ride

    People on the same bus see the same view at the same moment, and can see who is sitting nearby.

  • 02

    The view and the weather

    Twenty landscapes roll by, day and night follow Korean time, and rain and snow gather on the glass and melt away.

  • 03

    3D terminal waiting room

    Walk, sit and browse the kiosk and coffee shop. When it gets busy, more waiting rooms open on their own.

  • 04

    Themed rest stops

    The bus stops at a rest stop every 30 minutes, where you can get off to walk, eat and take photos.

  • 05

    Bus radio

    Everyone on a bus hears the same song, or you can queue your favorite YouTube tracks and listen alone.

  • 06

    Gifts instead of chat

    Connect with other passengers without chat, through greetings, gifts, friend requests and letters.

  • 07

    Mileage

    When you get off the bus, you earn mileage for the distance you rode, plus tier progress and rest stop stamps.

  • 08

    Radio admin

    Operators add, edit and hide radio tracks from the admin screen.

See the screens

Gateway landing page hero
Landing · A bus with no destination, a short break
3D terminal waiting room
Terminal waiting room · Departure board and seat map
Fantasy rest stops
Six themed rest stops
Heavy rain outside the window at night
Weather · Heavy rain at night
Heavy snow outside the window
Weather · Heavy snow
Stars in the night sky through the glass roof
Glass roof · Stars at night
Winter window views
Window views · Winter set
Bus radio and live broadcast notice
Bus radio
The waiting room kiosk and gift shop
Waiting room · Kiosk and gift shop
A rest stop, on a phone
Phone · Rest stop plaza
A sudden shower outside the window, on a phone
Phone · Sudden shower
Admin screen for managing radio tracks
Admin · Radio tracks
Live broadcast desk admin screen
Admin · Live broadcast desk (on hold)
Next projectMARBL Works→

If you want software to solve similar work, start by telling us where things stand.

Discuss your project