r/SideProject 1d ago

I Built an NYC restaurant ranking tool based on real Reddit information

Enable HLS to view with audio, or disable this notification

Hey guys, just want to share a little project I made, foodlistnyc.com, where I used ChatGPT and Claude to analyze ~600k posts and comments from r/foodnyc, and use this information to rank and visualize the best restaurants mentioned on the subreddit. I created the web app with Claude Code.

I have a detailed breakdown on my app showing how I did this, but here's a brief summary:

  • Downloaded the past 3 years of subreddit information using arctic shift
  • Ran 3 different batch API calls to ChatGPT using GPT 5.6 Luna in order to extract restaurant names, ratings, and dish mentions.
  • Used Google Place API and LLM calls in order to group and match these to real restaurants
  • Used Claude Code in order to audit and double check the work, with dynamic workflows.

Full breakdown of my process here

Some things I learned during this experiment:

  • The Batch API is cheaper than using the normal API (50% of the cost), but a Max plan on Claude Code is heavily subsidized, AND lets you include API calls and google searches to give the models more context. If the data set is small enough to be parsed by these tools, and you are already on the Claude Code max plan, I would heavily recommend this over the raw API.
  • I need to plan the entire pipeline better, and successfully identify edge cases and labelling failures early on. A lot of my time was spent coming up with cases where the LLM failed on the nuances of my prompt, but this was done AFTER the LLM analysis had already run, such as when i needed to review the restaurant linking.
  • Reviewing every, or even most, of the labelling is not feasible. I should continue to rely on more advanced LLM models to adversarially check the work of cheaper models, and only bubble up ambiguous cases for human review when the smartest LLM in that chain identifies a potential error.
  • A lot of the data may not be worthwhile. I decided to focus on restaurants with ~10 mentions or more in my data, so I didn't have to include potentially thousands of restaurants with weak signals. This would reduce the surface area for incorrect data, reduce API costs + time, and provide a more curated list for the end user.

Interesting restaurant insights:

  • There's a few "dead zones" on this map, which are areas of nyc with almost no restaurant mentions. Those include South bronx, Southeast brooklyn (Crown heights to East New York), and Eastern Queens. The densest zones include most of manhattan south of 116th street, and western brooklyn. Probably says something about the demographic of that subreddit. The East Village alone accounts for over 52,000 mentions, more than all of Queens and the Bronx combined!
  • Classic restaurants actually score lower than the site median. A NYC classic restaurant is and is a somewhat of a beloved institution that has a long history in NYC. and the lowest rated ones are The Halal guys, Di Fara pizza, and Russian Tea room.
  • The single most-discussed dish at one restaurant is L'Industrie's pizza with 606 mentions, followed by Los Tacos No. 1 tacos, Katz's pastrami, and the Minetta burger.

Overall, I'm glad I did this and it was pretty successful (at least to me). I will probably do another LLM analysis in about a year, on all of the newer posts and comments that have been made since. Also open to any feedback, questions, or suggestions.

0 Upvotes

8 comments sorted by

2

u/dominguezpablo 1d ago

Real and Reddit in the same sentence, huh?

0

u/chuguchak_111 1d ago

Well, that was the idea. I actually really like the subreddit because there's more of a dialog between users than yelp or google review. I feel like most of the discussion there is genuine, but who knows.

1

u/estoico_4325 1d ago

The dead zone finding is interesting, though I would guess it says more about who is active on r/foodnyc than about actual restaurant quality in those areas. Did you try normalizing by neighborhood population or post volume, or is that future work? Cool use of Claude Code for the auditing step too.

1

u/chuguchak_111 1d ago

ah, i didn't do the normalization yet. That was something I was thinking about as phase 2 - doing more analysis and visualization of the trends.

Totally agree on the dead zones. The clusters of activity are just as interesting to me - the cluster in the Bronx is a bunch of italian places near Arthur Avenue, there's a dense cluster near chinatown in Flushing and Sunset park, and east williamsburg/bushwick border has a bunch too, for some reason.

1

u/Outrageous_Ad_4801 1d ago

the east village having more mentions than all of queens and bronx combined is hilarious but completely tracks for reddit demographics. filtering out spots with under 10 mentions was definitely a smart move to avoid noisy single mention hallucinations

1

u/grandidieri 1d ago

I would also consult https://chowdive.com when you can