Nosh
A restaurant deals app that I researched, designed and built on my own. It's live on iOS, and Android is coming soon.
Get Nosh on the App Store (opens in a new tab)
- Role
- Sole designer and builder
- Duration
- March 2026 to now
- Product
- iOS app, with Android coming soon
- Focus
- Browse-first design, trustworthy data, shipping alone with AI
Overview
Nosh is an app for finding restaurant deals in Kitchener-Waterloo, Guelph and London, Ontario. It lists dine-in deals, happy hours and daily specials, and you can browse all of it without making an account.
It's a solo project. I did the research, designed it in Figma, built the app and the data behind it using Claude, and released it on the App Store. It's live now, with more than 1,500 deals across the three cities.
Problem
Listing a deal is easy. Keeping the list accurate is the hard part, and I was behind on it:
- Restaurants post their deals wherever suits them: on their website, in a photo, in a PDF menu or on Instagram. There is no single place to look
- The app is only worth opening if the deals in it are still on
- By September, the 570 deals in the app hadn't been re-checked since April
- My first attempt at keeping them up to date automatically never ran reliably
The design had a problem of its own. The home screen was one long, flat list, and the same deal kept turning up in several groups.
Key decision
Before I trusted any automation, I tested it against deals I had entered by hand.
I already had 313 deals from 53 restaurants that I had typed in myself, so I used them as an answer key. The automated version found 66 per cent of them.
Most of what it missed were deals it never got to see, and very few were deals it had read wrongly. That told me where to spend the effort.
Approach
A few rules I kept to the whole way through:
- No accounts. Favourites are saved on your phone, because asking people to sign up before they can look around defeats the point of an app you browse
- Design comes first. The tokens and icons come straight from my Figma file and never get redrawn in code
- Claude does the reading and I approve what goes in. Nothing gets published on its own
Solution
The home feed
The home feed is organised into shelves. Each shelf is a row with a theme that you scroll sideways, like On right now, Happy hour, Wing night or Pints under $6. A shelf only shows up when it has at least two deals from two different places, and each deal leads only one shelf.
You pick the day right on the home screen instead of inside a filter sheet. A strip along the top runs Today, Tomorrow and then the next five days, and it stays in view on both Home and the map.

Filters
The filter chips always stay in the same order and the same place, and the Filters button keeps its width and shows a count. I tried chips that slid around and a row that scrolled on its own, and threw both out.
Any option that would leave you with no results is dimmed, and the button tells you how many deals you'll get before you tap it.
Near me starts with a one kilometre radius. If fewer than six deals are in range, it widens on its own, up to ten kilometres.

Deals, restaurants and the map
Tapping a deal opens it as a sheet over the feed. Each restaurant has a page with all of its active deals, tap-to-call and links. The map uses the same day strip and filters as Home, and each pin shows how many deals are at that spot.
A chain's offer appears once, as a single card that lists its locations.



Three cities
Kitchener-Waterloo came first, then Guelph, then London. The first time you open the app it asks for your location, once, and picks your city from that. If you say no, nothing breaks, and you can pick a city yourself from the button at the top.
Keeping the deals current
Restaurants change their specials without telling anyone, so each city gets re-checked against the restaurants' own sites. Claude does the reading. I go through everything it finds, and nothing new reaches the app until I've approved it.
When a deal has disappeared, it gets turned off in the app rather than deleted, so a mistake is easy to undo.
Outcome
- Live on the App Store, with more than 75 downloads on iOS
- More than 20 people have signed up for the Android test group, and testing is expected to finish in late October 2026
- More than 1,500 active deals: 676 in Kitchener-Waterloo, 535 in London and 308 in Guelph
- Over-the-air updates work on both platforms, and I have tested rolling one back
- First commit in March 2026, on the App Store by June
Figures are as of October 2026.
Discuss this case study with you?
I'd be happy to walk through this project in more detail and discuss how this approach might apply to your needs.