Inspiration

I'm currently on exchange in Vietnam and I've been renting a scooter for a month. As cheap as the grab bikes here are, I always wondered if renting a scooter would still be cheaper for the number of trips and distance I travel. Without a solid and easy way to properly measure it, I was inspired to build this.

What it does

WorthIt helps people answer everyday “is this worth it?” decisions with clear break-even math. Users choose a ready-made comparison like scooter rental vs GrabBike, Netflix vs pay-per-view, gym membership vs day pass, buying vs renting a camera, or coworking vs cafes. WorthIt generates editable assumptions, calculates total cost, hidden costs, break-even usage, expected savings, scenario comparisons, and a WorthIt Score. Users can also save decisions and track real usage over time, so the app updates projections based on what actually happens.

How I built it

I built WorthIt as a full-stack app with a Next.js, TypeScript, and Tailwind CSS frontend, plus a FastAPI backend. The backend uses Pydantic models to keep decision data structured and a deterministic calculation engine to compute break-even points, cost curves, scenario results, and WorthIt Scores. We also built a rule-based parser for common decision types so the hackathon demo stays fast, transparent, and reliable. For persistence, WorthIt supports Supabase and in-memory storage for local demos. The frontend includes workflow cards, editable assumptions, charts, saved decisions, and a live tracker that updates projections from logged expenses and usage.

Challenges we ran into

The hardest part was turning messy real-life choices into a clean model. A decision like “Should I rent a scooter or use GrabBike?” includes fixed costs, per-use costs, hidden costs, usage uncertainty, time value, and real-world behavior that changes after the decision is made. We also had to handle recurring costs correctly, avoid multiplying monthly expenses by usage, and make tracker entries update projections without confusing the user. Another challenge was keeping the app demo-safe: we wanted it to feel intelligent and flexible while still being deterministic enough for judges to test live.

Accomplishments that we're proud of

I'm proud that WorthIt is more than a one-time calculator. It has an end-to-end workflow: pick a decision, review the assumptions, edit the numbers, see the verdict, save it, and then track whether the choice stays worth it. The live tracker is especially exciting because it turns the app from “planning tool” into “reality check.” We’re also proud of the polished dashboard experience, the hidden cost modeling, the saved decision summary, and the backend test coverage around calculators, parser behavior, persistence, and tracker projections.

What we learned

We learned that useful decision software is not just about showing a final answer. The important part is showing users which assumptions created that answer. We also learned how much complexity hides inside simple purchases: fixed costs, per-use costs, behavior change, and hidden expenses all matter.

What's next for WorthIt

Next, we want to add a real natural-language or AI-powered parser for custom decisions, authentication for personal decision histories, richer tracker analytics, and integrations with live pricing data where possible. For example, transportation decisions could use real ride estimates, subscriptions could compare current plan prices, and future tracker entries could support more detailed charts. We also want to expand WorthIt beyond the initial workflows so it can help with any recurring “buy, rent, subscribe, or pay per use?” decision.

Built With

Share this project:

Updates