case study · project 01

Farebones

An AI-powered travel budget calculator that tells you the real cost of a trip before you book — not after you've already committed.

↗ visit farebones.com ← all projects
TypeSolo indie project
StatusLive · active
StackHTML · Claude API · Currency API
ArchitectureSingle-file · Netlify

the problem

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."

the audience

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.

at a glance
170+
Destinations
covered globally
3
Inputs required
destination, style, size
0
Sign-ups needed
ever
the product

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.

Farebones screenshot

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.

feature · destination quiz

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.

Destination quiz

Quiz flow

Quiz results

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.

feature · worth it calculator

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.

Worth It Calculator

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.

architecture

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.

HTML/CSS/JS Claude API (Anthropic) Exchange Rate API Netlify CDN Single-file architecture Zero dependencies
key decisions

Why it works the way it does.

01
No sign-up, ever

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.

02
Three inputs only

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.

03
AI for contextual intelligence

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.

04
Single-file architecture

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.

challenges

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 I learned

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."

next case study —
Layovr
read case study →