Cursor at Waterloo

Builders at a Cursor build night in Waterloo
An attendee showing off a Cursor cap
Two builders at their table during the build night
Timeline
December 2025 – 2026
Role
Campus Lead, University of Waterloo
Overview
I brought Cafe Cursor to Waterloo and Toronto, started Cursor on campus at Waterloo, and ran Freeform, a build night where the only rule was that you ship by the end of the night. For Freeform I also built a thermal receipt printer so people walk out holding what they made.
Stack
Bun, TypeScript, sharp, ESC/POS, Cloudflare Tunnel, Next.js

How It Started

It started in New York. I went down for a Cursor community event and ended up spending most of it talking with other Canadians in the room. We kept landing on the same thing: there was a lot of this energy in New York and San Francisco, and not much of it up north, even though Waterloo and Toronto are full of people building.

So I suggested we bring it home. That turned into Cafe Cursor in Waterloo and Toronto, and from there into running Cursor on campus at the University of Waterloo.

Cafe Cursor

Cafe Cursor is a pop-up for people who build with Cursor: a room, coffee, and laptops open. I organized the Waterloo edition and the Toronto edition, handling the venue, the guest list and the run of the night, and wrote up a recap afterwards.

Freeform

Freeform was the build night I ran on campus. There were no themes and no restrictions, just four hours to build something you actually care about. It opened with a live demo of building fast with Cursor, then everyone built, and everyone presented to the room at the end.

The prizes were meant to reward taste as much as polish: Most Whimsical, Most Useful, Best Hardware Hack, Most Artsy, Cursed Build, and Best Use of Cursor.

Two builders at a table during Freeform
Two builders smiling at their laptops

The Receipt Printer

I wanted people to leave Freeform with something physical. So I built cursor-receipts: you open a page on your phone, type your name and what you're building, snap a photo, and a receipt with the Freeform logo, your project and your photo prints out a few seconds later.

It's a small Bun and TypeScript server that talks to a USB Epson thermal printer. The printer can only do black dots on a 576-pixel-wide strip, so every photo goes through a pipeline: sharp fixes the EXIF rotation from phone cameras and resizes to the printer width, then a Floyd–Steinberg dither turns grey into patterns of black and white dots so faces still read on paper. The result is packed into a 1-bit raster and sent as raw ESC/POS commands, followed by an auto-cut.

Phone browser

name, project, photo

POST /chat

token check · queued

Image pipeline

EXIF rotate · resize to 576px · dither

ESC/POS buffer

logo · text · raster image · cut

Thermal printer

one receipt every 8 seconds

Jobs go into a queue that prints one receipt every 8 seconds, which keeps a room of people from jamming the printer at once. Since the printer is plugged into my laptop, I put it behind a Cloudflare tunnel so anyone at the event can print from their own phone, with a token check on every request so the link can't be abused once it's shared.

Reflection

  • Someone just has to ask

    Nothing like this existed in Waterloo until I suggested it. Most of the work after that was logistics, and the hard part was deciding to start.

  • Give people something to take home

    A receipt is a small thing, but it turns four hours of building into something you can hold. Small physical details make an event feel like it was made for the people in the room.