Open Prices is a crowdsourced platform for tracking real-world prices of everyday products. The goal is to provide a more accurate, transparent, and uncorruptible record of current and historical prices. Right now the focus is grocery (and soon restaurant) prices.
This is a new project under early development, being built in public, to the point I feel embarrassed and vulnerable by showing it. Check out the live site at openpricedata.com (cpipal.com is also an option). Tell me which site name you like better in the poll in Discussions 📝
- React & React Router
- TypeScript
- LibSQL
- AWS S3 via Cloudflare R2
- Google Vision
- Recharts & Tailwind CSS
Hosted on Fly.io
- Node.js v22.22 or later
- Set up your own environment variables for Cloudflare, Google/Github Auth, and Turso
I try to keep things simple. This should be familiar 😇
-
Clone the repository:
git clone https://github.com/codankra/openprices.git cd openprices -
Install dependencies:
npm install -
Start the development server:
npm run dev -
Open your browser and visit
http://localhost:3000
This project includes a cloudflared.yml configuration file for setting up a Cloudflare Tunnel. This is useful for testing mobile or device-specific features in development. To use it:
-
Install cloudflared CLI tool from Cloudflare's documentation
-
Create a tunnel in your Cloudflare account:
cloudflared tunnel create your-tunnel-name
-
Update the
cloudflared.ymlfile with your values:- Replace
YOUR_USERNAMEwith your Cloudflare username - Replace
YOUR_TUNNEL_IDwith the ID from step 2 - Replace
YOUR_HOSTNAMEwith your desired hostname
- Replace
-
Start the tunnel as part of the project setup in
tmux-sesion.sh, or manually with:cloudflared tunnel --config ./cloudflared.yml run your-tunnel-name
The tunnel will now proxy requests from your Cloudflare hostname to your local development server.
I'd love your help in making Open Price even better! If you have an awesome idea, or notice any bug or area of improvement, here's how you can contribute:
- Open a Pull Request or
- Feel free to reach out here on GitHub, or here
This project is licensed under the MIT License - see the LICENSE.md file for details.
Q: What's the purpose of open prices?
A: I'm aiming to provide a more accurate, crowdsourced, uncorruptable record of real current and historical prices - fueled by contributions on products we actually buy. Ever noticed that the change in your gas or grocery bill doesn't match the government-reported inflation rate? Let's see how this experiment plays out!
Q: Do I need an account to use this site?
A: Nope! No account is needed to browse, but you'll need one to contribute data (to prevent spam and abuse).
Q: How is Open Prices 'open'?
A: It's open for anyone to see and contribute, and my hope is also to open source future stable services the website will use, so if I develop a budgeting tool for example people can just run that locally/independently. For the moment, the core website code is open source (you are here!)
If you find Open Prices useful, I'd be grateful if you could:
- Star this GitHub repo
- Tell your friends and family about the openprices project
- Support the Developer Here
Your support keeps me going! ❤️ Thank You
