01: Overview
The
Audience
This product is built for a narrow, specific person: someone holding crypto with a large unrealised gain, looking at a tax bill measured in tens or hundreds of thousands, who has started to wonder whether the answer is to live somewhere else.
They are financially literate but not tax professionals. They already have a shortlist in their head, usually Portugal, the UAE, Singapore, Switzerland, gathered from forums and half-remembered articles. What they do not have is a way to see the spread across many countries at once, on the actual size of gain they are sitting on.
Every product in this category is built for the opposite moment. Connect a wallet, import a transaction history, reconcile, file. That is the right tool in April and the wrong one for a question asked at midnight about the next five years of your life.
View Live App →
88
jurisdictions, compared side by side
36
tax a long-term gain at zero
0
accounts, wallets or uploads
Free
iOS live, Android in beta
02: Challenges
What made
this hard
The interface was never the difficult part. The difficulty is that this audience is about to make an expensive, slow, personal decision, and they will not extend trust to a tool that looks confident and turns out to be wrong.
- The dataset is the product. 88 jurisdictions of tax treatment, each of which can change without notice, and any one of which being wrong discredits the rest
- This audience verifies. They will check a number against their accountant, and the product has to survive that
- The honest answer is an estimate, and saying so plainly is a trust asset that a confident-looking interface can easily undermine
- Relocation is a life decision, not a transaction, so any pressure or urgency in the design misreads the moment completely
03: Process
How I built it
Most of the work went into deciding what the product would refuse to do. Every feature that would have required an account, an import or a wallet connection was cut, which left one question and three inputs.
01
Name the audience
Not crypto holders generally, but the subset with enough gain to make relocation worth modelling. That choice set everything downstream: comparison over filing, breadth of countries over depth of transaction handling.
02
Reduce to one question
Three inputs get to an answer: a gain amount, a jurisdiction, and whether it is short or long term. No asset type, no dates, no cost basis. The estimate is deliberately coarse because the decision it informs is coarse.
03
Build the dataset
All 88 jurisdictions checked against primary sources, principally national revenue authorities and PwC Worldwide Tax Summaries, with each rate recording where it came from. The handful that remain unsourced are marked as such rather than quietly presented.
04
Design for scanning
The natural motion here is comparing a field of options, not completing a form. The interface became a printed ledger: ruled columns, tabular figures, one accent, so the eye can run down 88 rows and find the outliers.
04: Design Principles
Built on three ideas
◎
The empty column is the argument
Zero-rate jurisdictions leave their debit cell blank rather than printing a badge. Running down the list, the eye hunts the gaps, and the product makes the case for looking closer without a word of persuasion.
◈
One accent, spent carefully
Red marks money actually taken, and nothing else. An early build coloured every non-zero rate red, which lit up 55 of 88 rows and flattened the scan. Reserving the accent restored the hierarchy the whole list depends on.
◇
Estimate, stated plainly
The product says what it is on the calculator screen, not only in a footer. Android is called a beta because it is one. Restraint about what the tool cannot do is what makes the number it does give believable.
05: Key Decisions
The calls
that mattered
Most of these came from tension between making the product feel authoritative and keeping it truthful about its own limits. Where the two conflicted, truthfulness won, and the design had to carry the weight instead.
"Honesty is a house rule inherited from the product: estimates are called estimates, Android is called a beta, and the not-for-profit footing is stated plainly."
Project design system
- No account, no wallet, no upload: the calculation runs entirely on the device. For an audience modelling a move to protect a large gain, not handing over their holdings to find out is the point, not a feature
- Short and long term settled together: seeing both at once turns the holding period into a visible decision, and often answers the question without anyone moving country at all
- Country detail explains itself: each jurisdiction carries plain-language notes on holding periods, exemptions and the catches, because a rate alone is not enough to act on
- The rate table ships inside the app: it works offline, which follows from the privacy position rather than being a separate feature
- Free, with no paid tier: the established competitor is a paid filing product. Charging for a five-second estimate would have invited a comparison this product would lose
06: Outcomes
What I shipped
An app that answers one question in about ten seconds, a verified dataset behind it, and a set of jurisdiction guides for the people who decide to go further. Live on the App Store; Android remains a gated beta.
88
Jurisdictions verified
Free
No account, no paid tier
The most valuable work is the least visible. Tax treatment is not something you look up once and own forever: rates move, exemptions lapse, and a country can change its position between one release and the next. So every rate carries its source, the modelling behind each one is written down, and the small number that cannot be traced to a primary authority are marked rather than quietly presented. For an audience that will take these numbers to an accountant, none of that shows in a screenshot, and all of it is why the screenshots are worth trusting.