Inspiration
As busy college students, we know every coin counts. Between tuition, textbooks, rent, and everyday expenses, finding the right time to make a purchase can make a real difference. We created Treasure Tracker to help students and shoppers alike keep watch over the items they want and strike when the best deals finally surface.
What it does
Treasure Tracker helps you keep a closer eye on your booty. Select items from your favorite stores and receive notifications when they go on sale, so you can spend your hard-earned coins at just the right time. Why pay full price when the best treasures are worth waiting for?
How we built it
We used React to build the frontend, allowing us to quickly develop an interactive interface where users could browse products and manage the items they wanted to track.
For our backend, we chose Supabase to handle data storage and simplify backend development.
To explore sale tracking across online retailers, we used Playwright for browser automation and web scraping. This allowed us to experiment with collecting pricing and product information from modern retail websites that rely heavily on JavaScript.
The entire project was written in JavaScript, which enabled us to work across the frontend, backend, and scraping components using a single language and development workflow.
Challenges we ran into
One of our biggest challenges was web scraping. We initially set out to support several major retail websites, but quickly discovered that many of them were far more difficult to scrape than expected. Despite using browser automation with Playwright, some sites failed to return the data we needed, and debugging exactly why proved challenging within the limited timeframe of the hackathon. It took experimenting with multiple retailers and approaches, until we were ultimately able to find a website that worked with our scraping pipeline.
We also encountered challenges while working with Supabase, particularly with row-level security policies and database permissions. Configuring access rules correctly and understanding why certain operations were being blocked took additional time and troubleshooting.
Accomplishments that we're proud of
One of the things we're most proud of is creating a cohesive and polished user interface that fully embraced our pirate theme. From the terminology and branding to the overall visual design, we wanted Treasure Tracker to feel fun, memorable, and distinct from a typical shopping application.
What we learned
Throughout the development of Treasure Tracker, we gained valuable experience with web scraping and browser automation, learning firsthand about the challenges involved in collecting data from modern retail websites.
We also learned more about backend development and database management through our work with Supabase, particularly around authentication, permissions, and row-level security policies.
Perhaps most importantly, we learned the importance of setting realistic expectations and managing scope during a short hackathon. While our original vision was ambitious, the experience taught us how to adapt quickly, prioritize core functionality, and focus on building a strong proof of concept within a limited timeframe.
What's next for Treasure Tracker
Moving forward, we'd love to continue developing Treasure Tracker beyond the hackathon by addressing the challenges we encountered and refining the core experience. Our next goals are to improve the reliability of our web scraping pipeline, expand support for additional retailers, and fully integrate our database functionality for managing tracked products and user preferences.
We also plan to implement email notifications so users can be alerted the moment one of their tracked items goes on sale, bringing us closer to our vision of a personal treasure hunter that helps shoppers spend their coins wisely.
Built With
- express.js
- javascript
- playwright
- react
- supabase
Log in or sign up for Devpost to join the conversation.