A Civic Kiosk That Turns Community Input Into a Receipt You Pin to a Wall

STATUS: IN DEVELOPMENT

A Civic Kiosk That Turns Community Input Into a Receipt You Pin to a Wall

A wall of receipts

I'm building a civic engagement kiosk that gives residents a tangible, low-friction way to share observations about specific intersections in their neighborhood, and I'm looking for a civic organization or municipality willing to pilot it at a real community event. This one grew out of my ongoing civic tech and placemaking work, and it's still mid-build, so this post is as much an open invitation as it is a project recap.

What does this actually do?

Listen, we’re all tired of sticking dots on things to vote. But what about a placemaking activity that responds to you in a real time?

A resident walks up to a touchscreen kiosk, enters their name and street address, and gets back a printed receipt for a specific nearby intersection, complete with a photo of that intersection and three prompts like whether it feels safe to cross on foot and what they'd change about that corner. They fill it out by hand with a pen and pin it to a rolling wall alongside everyone else's. If they come back and enter their address again, they get a different intersection next time, so repeat visitors end up covering more ground instead of just resubmitting the same corner.

There's also a projector running a live wall display showing every intersection that's been printed so far, so the whole thing accumulates visibly over the course of an event instead of disappearing into a form nobody sees again.

Why a receipt instead of a digital survey?

Receipt paper is cheap!!! The printers are so fast and unfussy.

Because a printed, physical object that gets pinned to a wall in front of everyone else's is a completely different kind of civic engagement than a form somebody fills out on their phone and forgets. It's tangible, it's low friction, and it turns individual input into a visible, collective artifact people can actually walk up and read.

What's actually running this?

The kiosk itself is a single HTML file, no framework, no build step, and it's hosted on GitHub Pages so I can test it across devices before an event. Address geocoding runs through Nominatim, OpenStreetMap's free geocoding service, no API key required, and intersections get ranked by proximity using straightforward distance math. A Raspberry Pi acts as the print server, running a small Flask app that receives requests from the kiosk and talks to an Epson thermal receipt printer. There's no database, no login, and no cloud dependency, everything runs on local hardware at the event itself.

What was the trickiest problem to solve?

ChromeOS, which is what the kiosk display runs on, can't execute local print commands the normal way a browser would, so the obvious approach (using a normal printer) was a dead end almost immediately. The fix was building a separate print server the kiosk page could send a request to instead of trying to print directly from the browser. I wanted to show images if I could, to trigger “wait, yeah, I hate that intersection,” but they looked terrible and inconsistent on the receipt paper.

Thermal printers also have their own built-in fonts that can't be overridden through normal printer commands, so getting custom typography onto the receipt meant rendering all the text as a bitmap image first, using a real font file, so the printer just sees pixels instead of trying to use its own default type.

And since Nominatim needs an internet connection, which isn't guaranteed at an outdoor community event, everything runs off a phone hotspot instead, giving the print server a stable local connection the kiosk can always reach regardless of venue WiFi. I learned a lot about how my T-mobile hotspot is actually kind of terrible.

What's still left before this is ready?

The Raspberry Pi print server needs a full end-to-end test once it's fully set up. I still need to swap in a client's actual intersection list with real coordinates and prompts, finish the custom font rendering, and get real intersection photos onto each receipt instead of placeholders.

I'm looking for a pilot partner

This is the actual point of this post. If you're a civic organization or a municipality running a community input event and want a physical, visible way to collect neighborhood-specific feedback instead of another digital survey nobody fills out, I'd love to pilot this with you. Reach out and let's talk about what your event needs.

FAQ

Does this require internet access at the event venue? No. It runs off a phone hotspot, so it works regardless of what connectivity the venue actually has.

Does it store any personal data? No, there's no database and no login. Everything runs locally on hardware present at the event, and the address entered is only used to look up and rank nearby intersections for that session.

Is this available to pilot at an event? Yes, I'm actively looking for a civic organization or municipality to pilot this with. Reach out if that's you.

Next
Next

I Built an Off-Grid Timelapse Camera to Watch Light Move Through a Garden