NYC coffee shops actually worth working from.
view live projectCafelist started from a simple real-world frustration: most coffee shop discovery tools are optimized for ratings or aesthetics, not for actually working.
I spend a lot of time working in cafés, and there wasn’t a great way to discover places based on what actually matters when you’re trying to get something done: seating, outlets, atmosphere, noise level, laptop-friendliness.
The project gave me a concrete way to experiment with scraping workflows, structured location data, search and discovery UX, lightweight recommendation systems, and operational data pipelines.
It was partly influenced by Nomad List and the broader idea that niche, utility-driven internet products create strong user value when they focus deeply on one specific workflow. Cafelist applies that mindset to coffee shops, specifically for people trying to work, think, or spend extended time somewhere.
Filter 148 NYC cafés by Wi-Fi, outlets, quiet, and late hours. Spots I’ve walked personally get a verified stamp; the rest are auto-scored from review text. The result is a list ranked by workability instead of stars.
A small data pipeline behind a static-feeling site. Scrape and structure, score against the workability criteria, write to Supabase, read on the page.
Cafelist is small. Most days nothing fails. But “nothing failed” only counts if I can verify it.
A simple operations view pulls deploy state from Vercel, runtime error counts from production, and Supabase health from the database. It’s a 30-second check before I assume everything’s running, and the starting point if something goes sideways.