Make the coffee yourself
Step behind the bar as barista: grind, tamp, pull the shot, steam the milk and pour, with close-up sound for every step. Watch from your own eyes, over the shoulder, or a mix of both.
A free 3D warung, kopitiam, angkringan or pub for your city. Walk in, sit at a table, and text and voice stay inside that table.
Your name and last city are stored only in your browser (localStorage).
Browsers find each other through public Nostr relays using Trystero (MIT, bundled in vendor/).
After that, text and voice go directly from browser to browser over WebRTC (DTLS/SRTP encryption).
Each city is one presence room (names and seat positions only).
Step behind the bar as barista: grind, tamp, pull the shot, steam the milk and pour, with close-up sound for every step. Watch from your own eyes, over the shoulder, or a mix of both.
Open the store as owner: set prices, buy beans and milk, serve the queue and watch the day's income and profit. Play money only, saved in your browser.
Sit down, pick from the menu board and the barista makes your drink at the bar.
CrewCup has a Lounge card on the employee home page that opens the same cafe in CrewCup colours.
Messages go to the people at your table and nobody else.
Turn on voice and only your table-mates hear you.
Tap the floor or use WASD to walk. Tap a table and your avatar walks over and sits; everyone else moves live.
A kopitiam, a kissaten and a pub each get their own room. Branches of the same place in different cities seat people differently (round cafe tables, square two-tops or long communal benches) and get their own walls, floor, counter and lighting.
Each room hangs a print of its city's landmark, like Monas in Jakarta or the Barelang bridge in Batam, and the owner minds the counter.
The clock shows the time in the region on screen, so you know if people there are on lunch or on a night shift.
"Copy link to this table" makes a link that drops a friend at the same table.
Block anyone at your table and their messages and voice stop reaching you. Unblock any time.
Works on phones, installs as an app (PWA), and the app shell works offline.
Barista view while pulling a shot, the over-the-shoulder camera, the owner's day report and the CrewCup Lounge card. All camera and host versions: juw12.github.io/nongkrong/versions.html
Six places, six rooms: a Batam warung kopi, two kafe branches in Batam and Jakarta with different floors, counters and floor plans, a Kuala Lumpur kopitiam, a Tokyo kissaten and a London pubFrom the README’s “Run it yourself” section. Full options, requirements and troubleshooting are there too.
Open the README$ python -m http.server 8000
Straight from the README, so you know what you're getting before you try it.
19 files in the repo · last updated 9 Nov 2026.
Browse the codeCafe roles: order as a guest, make coffee as barista in three camera views, run the store as owner; CrewCup Lounge; versions gallery
Branches seat people differently (round, square, communal benches), owner tag at the counter, walking tip fades
City landmark prints and street boards, phone shows only your table and busy tables
Pin Trystero 0.21.8 (0.22+ changed the API), layout fixes, online test against live site
Virtual warung and cafe tables with table-only chat and voice
Web app, PWA. You can try it in the browser with nothing to install.
The commands in the “Run it yourself” box above come straight from the README. Paste them into a terminal; the README covers options and troubleshooting.
bundled in vendor/). The relays only pass the WebRTC handshake, which is encrypted with a key derived from the room name. Your name and last city are stored only in your browser (localStorage).
Rooms are public: anyone who picks the same city can see your chosen name and seat. There is no TURN relay server, so on some strict networks (some office or mobile networks) two browsers cannot connect directly and will not see each other.
Not yet: it's marked “live” and still changing. The README always has the current state.
The source is public on GitHub under the MIT licence.
Juwen Lie, an R&D mechanical engineer in Batam, Indonesia, as an independent personal project.
Sit at a table. Only your table can hear you.