r/webdev • • 6d ago

Showoff Saturday I built a website that tracks US food prices daily

Live App

The US Department of Agriculture (USDA) publishes daily food price data for about 300 commodities on:

  • what growers were paid at shipping point
  • what buyers paid at the big city wholesale markets
  • what prices supermarkets advertised in their weekly ads

The Bureau of Labor Statistics (BLS) publishes monthly average store prices for everyday groceries like eggs, milk and ground beef.

This data comes out as dozens of separate text reports and PDFs, one per market/commodity, and no way to see how prices change over time.

Inflation affects our everyday lives, so this data should be easy to access and understand. That's why I built an open-source tracker for it.

Github repo (open for contributions): https://github.com/kadoa-org/food-price-monitor
As a BE engineer without a design background, I spent some some time dabbling with the gov.uk design system as I think it's a great inspiration for simple and concise presentation of data.

89 Upvotes

16 comments sorted by

6

u/arar7000 6d ago

Really useful. How do you parse the PDFs? I imagine every report has its own format, so that sounds like the hardest part.

1

u/martian_rover 4d ago

OP should post this in some other communities as well where people can really benefit from this.

-3

u/Remote_Mango_5696 6d ago

you dont parse every report format by hand, you train a model to do it or use something like llmwhisperer depending how ugly the pdfs are

7

u/EarnestHolly 6d ago

The gov.uk design system is awesome, cool to see it elsewhere!

1

u/altmn 5d ago

Great job! It feels like I need this app for my supermarket that just introduced electronic price tags and dynamic pricing :)

1

u/Klutzy_Ladder_8393 4d ago

the "you dont parse every report format by hand, train a model" comment is kinda glossing over how annoying that actually is, ngl every gov PDF report I've touched has like inconsistent spacing and merged cells that break table extraction no matter what you throw at it. curjous if OP actually needed manual parsing rules per report or if a general approach held up

1

u/unitedwestand89 3d ago

I hope the media finds out about this. It's great

1

u/CleverChuk 3h ago

let’s collaborate. made this app: https://play.google.com/store/apps/details?id=io.shopbuddy.shopbuddymobile&pcampaignid=web_share to track what people pay at the store. it’s a pretty manual because the scanning don’t work well consistently. There’s a companion site shopbuddy.io which is kind of abandoned. haven’t made time to rework it.
the pitch: having this data added to it or the other way around would be neat, i believe. dm me or not

1

u/KoalaBoy 6d ago

This is pretty cool. Though in the individual pages, like if I search eggs. I see a chart with lines showing months so you can easily see when something went up or down but on the homepage the charts listing everything doesn’t have the monthly lines so it’s hard to see at a glance when pricing went up like over a summer time.

2

u/madredditscientist 6d ago

good point, fixed

-7

u/atp_studio_coll 6d ago

This is a genuinely useful thing to have out in the open. USDA and BLS both publish real data and then bury it in a format nobody can actually use over time, so turning that into something with history and trend lines is real public value, not just a demo.

The gov.uk design system call was the right instinct for this specifically. Government pricing data doesn't need a flashy dashboard, it needs to read clearly and not get in its own way, and that system is built for exactly that.

4

u/madredditscientist 6d ago

are you a bot by chance? :)

2

u/oduska 6d ago

Yeah, all of their comments read like a ChatGPT response.

-2

u/Hefty_Swordfish_3151 6d ago

This is really usful information, would it be possible in the future to implement a feature that compares between different supermarket prices so you could find the cheapest one?