Nobody tells you what a trip actually costs.
You find a cheap flight. You book it. Then the real number starts appearing: accommodation in a city you've never priced, meals at a level you actually eat, getting between places, activities you want to do — and suddenly the "cheap" trip is three times what you planned.
Flight prices are everywhere. Total trip costs are nowhere. There was no fast, honest tool to get a realistic number before committing. Every existing tool either required an account, was padded with affiliate links, or gave useless generic averages.
"The cheap flight wasn't cheap at all. Nobody tells you what a trip actually costs — until you're already spending it."
Travellers who plan before they commit.
The target user isn't a travel agent or a spreadsheet person. They're someone who found a flight deal, wants to know if they can actually afford the full trip, and needs an answer in two minutes without creating an account or watching an ad.
Having spent 5+ years at flydubai analysing path-to-purchase data, I knew exactly where travellers dropped off: at the moment they couldn't quickly calculate whether a trip was within budget. Farebones solves that specific moment.
Three inputs. One honest number.
Destination, travel style (budget / mid-range / comfort), and group size. That's it. Farebones generates a full itemised breakdown — flights, accommodation, food, local transport, activities — with live currency conversion.
No account. No email. No upsell. You get the number, you make the decision. This became the core design principle: zero friction between the question and the answer.
Don't know where to go? Let Farebones decide.
Not every user arrives with a destination in mind. The Destination Quiz flips the flow: instead of typing a city, you answer a handful of questions — budget range, travel style, what kind of experience you want (city, nature, culture, food) — and Farebones suggests destinations that match.
This solved a real gap. A significant portion of travel inspiration happens in the daydreaming phase, before a destination is chosen. The quiz meets users at that earlier moment and hands them a shortlist of places they can actually afford, filtered by what they care about.
Quiz flow
Results
"The budget calculator tells you if you can afford a trip. The quiz tells you which trip you should take in the first place."
Building it required rethinking the AI prompts significantly — shifting from cost-calculation mode to recommendation mode while keeping the output grounded in real budget constraints rather than aspirational suggestions.
Is this trip actually worth it?
The Worth It Calculator takes a different angle: rather than just telling you what a trip costs, it contextualises that cost against your personal financial situation. Input your rough monthly take-home, how many months you have to save, and what you're willing to set aside — and it tells you whether the trip is realistically achievable in your timeframe.
This was the most requested feature after launch. Users kept asking "okay but can I actually afford this?" after seeing the budget breakdown. The calculator closes that loop: it turns a cost estimate into a savings plan.
It's deliberately simple — no linked bank accounts, no personal data stored, just a quick sanity check. The output is a clear yes/no with a suggested monthly savings target, keeping the zero-friction philosophy intact.
One file. No moving parts.
Farebones is a single HTML file with vanilla JavaScript. No framework, no build step, no backend server. The entire product — UI, logic, API calls, styling — ships as one deployable file. It runs entirely in the browser.
The Claude API handles cost intelligence contextually. Rather than maintaining a database of prices that goes stale, each query is generated fresh with awareness of destination, season, and travel style. A currency API handles live conversion.
Why it works the way it does.
Every friction point before the result is a reason to leave. Removing the account requirement meant anyone could get their budget in under a minute from a cold start. The tool earns trust by just working immediately.
Early versions asked for dates, departure city, travel months, and more. Users wanted the number fast. Stripping back to destination, style, and group size removed cognitive load and dramatically improved completion rate.
Static price databases go stale and can't factor local nuance. Using AI means the tool can account for seasonal variation, regional differences in cost of living, and travel style nuance that a spreadsheet never could. Adding a new destination is a prompt update, not a database migration.
As a solo builder, deployment complexity kills projects. One HTML file means: git push, done. No server to maintain, no dependencies to update, no build pipeline to break. The constraint became a feature — it forced a lean, focused product.
The parts that were genuinely hard.
Prompt engineering for cost accuracy. Getting the AI to return consistent, structured, plausible cost breakdowns — rather than either wildly optimistic or pessimistic numbers — required significant iteration. The prompt needed to encode travel style nuance, local context, and output format simultaneously.
Currency conversion reliability. Exchange rate APIs have rate limits and occasional downtime. Building graceful fallbacks while keeping the experience seamless required more defensive code than expected for a "simple" single-file app.
Scope discipline. The hardest part of a solo project is resisting feature creep. Farebones has had maybe twenty features cut that would have made it "more useful" but would have made it less immediately useful. Staying minimal is a daily choice.
What it proved.
Zero friction works. No sign-up, no paywall, no onboarding — just an immediate useful result. This became the design principle for every tool I've built since. The product earns trust by respecting the user's time from the first second.
Domain expertise is a superpower. Five years of e-commerce analytics at an airline meant I understood exactly where travellers needed help. The product isn't just technically functional — it solves the right problem at the right moment because I lived that problem professionally.
Small things ship. Farebones went from idea to live product in a weekend. The single-file constraint forced focus. I've since shipped two more tools using the same approach.
"People share tools that save them time. The most consistent feedback: 'I wish I had this before my last trip.' That's the sign you've built something real."