How It Works 🏂

Hobbify helps someone go from a vague hobby idea like “I want to get into snowboarding for under $300 in LA” to a realistic starter kit made up of real secondhand listings.

Intent Parsing: We take a natural-language prompt and turn it into structured shopping intent: hobby, budget, location, and preferences. That lets the app understand what the user actually needs instead of forcing them through a rigid form.

Smart Kit Building: Hobbify generates a recommended kit for that hobby, breaks it into item categories, and assigns item-level budgets so the overall setup stays realistic. For example, a snowboard setup might become a board, boots, goggles, and helmet. 🎿

Marketplace Search: For each item in the kit, we search live secondhand listings and collect candidates from the marketplace flow. We then rank them using three factors: location, price, and how well the listing matches the user’s prompt.

Human-in-the-Loop Picking: Instead of blindly buying or messaging everything, the user reviews curated candidates in a clean picker interface and chooses the listings they actually want to pursue. This keeps the experience practical and trustworthy. ✅

Negotiation Assistant: Once selections are made, Hobbify queues them for outreach and helps generate opening negotiation messages so the user can move faster on deals without manually repeating the same process over and over. 💬

How We Built It 🛠️

We built Hobbify as a full-stack AI-assisted marketplace workflow.

Frontend: We used React + Vite to build the user experience for creating a hobby kit, reviewing listings, and managing items in flight. The UI is designed to make a chaotic secondhand shopping process feel structured and approachable.

Backend: We used Python + FastAPI for orchestration and service logic. The backend handles parsing user intent, generating shopping lists, coordinating search jobs, ranking listings, and managing the bargain queue.

Database: We used MongoDB Atlas to persist query sessions, shopping lists, search progress, and listing candidates. That gave us a flexible way to store semi-structured shopping data across multiple workflow stages.

AI Workflow: We used LLM-powered parsing and generation to convert messy natural language into a useful, structured shopping plan. Instead of using AI for vague recommendations, we grounded it in concrete constraints like budget, location, and item preferences.

Marketplace Automation: We built browser automation around marketplace messaging workflows so the app could move from “here are good listings” toward “here’s a real deal-making assistant.” 🤖

Challenges We Ran Into 🚧

Marketplace automation is fragile. Real-world messaging flows are messy, and we ran into issues like dynamic page states, missing buttons, session/cookie problems, and platform verification gates. Facebook Marketplace had particularly strict bot detection which made it impossible to get onto their site despite our best efforts (good on them)!

Ranking results well is harder than just finding them. A listing being cheap does not mean it is relevant, and a listing being relevant does not mean it is nearby or within budget. We had to simplify and rebuild our recommendation logic to make it more robust.

Async workflows created edge cases. Messaging queues, page transitions, and long-running search tasks introduced race conditions that made the system feel unreliable until we tightened the flow.

Lots of extraneous code that came from refactoring code and converting between Python/Javascript/Typescript. Because we didn’t document every file/function well, we spent hours figuring out what was needed and what wasn’t in an effort to ensure main didn’t get too bloated!

Accomplishments That We're Proud Of 🏆

We built something that all of us (and hopefully you, the reader) would use :D

We developed an intricate ranking system that focuses on the three signals that matter most for real buyers: match quality, price, and location.

And of course, the fact we managed to get an agent to negotiate autonomously on a marketplace is just mind boggling to think about. One year ago this wasn’t even a logical idea.

What We Learned

Communication is key. Making sure everyone is on the same page, aware of the changes you pushed, and feeling good about where you’re at is so important (keep the mental high).

AI has yet to hit its peak. Claude Design, GPT 5.5, and ASI:One were miles better than we expected. The jump in model improvement is unfathomable (even if we only look back a couple months).

Test everything. Never assume something works (we learned this the hard way).

What's Next for Hobbify 🌱

Expand beyond one marketplace so users can compare more secondhand inventory in one place.

Improve negotiation support with response polling, seller follow-up logic, and smarter counteroffer suggestions.

Add better trust and quality signals, like seller responsiveness, listing completeness, and confidence in item match.

Personalize kits more deeply based on skill level, brand preference, urgency, and lifestyle.

And although this is ambitious, we hope to eventually turn Hobbify into a true long-running hobby agent: not just helping users buy their first setup, but helping them upgrade, resell, and grow with the hobby over time!

Built With

Share this project:

Updates