Side Pocket

Global side income. One ledger. Tax items sorted.

Side Pocket brings global side income into one multi-currency ledger, with a tax layer that organises the items you will probably need. It separates fees from withholding, compares form-style totals with payouts, and prepares a report for your accountant.

Atlas, the Side Pocket pigeon, waving

The problem

Your tax form says one thing. Your bank says another.

Forms don't match what landed

1099-K forms report gross, including the platform's own fee, and PayPal can report the same money again.

r/Upwork · r/tax

Fees with no paper trail

One Fiverr seller reported over $12,000 in fees across two years, without documentation for tax time.

r/Fiverr

Nothing set aside

US platforms withhold nothing for US persons, leaving quarterly estimated taxes as a surprise.

r/PartneredYoutube

How it works

One ledger, then the tax layer on top.

1

Import every export

Drop multiple platform exports into Side Pocket; it detects each platform automatically.

2

One ledger

The ledger separates gross income, platform fees, payment fees, tax withheld and net income. Non-USD records use their own transaction date's exchange rate.

3

Tax items, sorted

Withholding by platform and country, a set-aside at your chosen rate, the next US estimated-tax deadline, and an accountant export.

What we learned

Every number needs a source, not a confident guess.

Our first version gave the model raw exports and let it calculate. When an exchange rate was missing, it silently borrowed a nearby day's rate and returned a confident number. In v2, code does every calculation; AI orchestrates and explains. Missing data stops the run instead of triggering a guess.

72 / 81v1, model does the math
9 / 9v2 on the questions v1 failed
89 / 89v2 on the full test set
PRISM analysis of a v1 run: critical compliance failure, fabricated earnings data
v1 · CRITICALPRISM: the agent fabricated earnings data when a rate was missing.
PRISM analysis of a v2 run: compliant, appropriately refused to estimate
v2 · compliantPRISM: the agent appropriately refused to estimate missing critical data.

Built with

PRISM by Block Convey

Every run is traced, with every model and tool call recorded as a step. PRISM clustered 11 failed v1 runs, and per-trace analysis moved from CRITICAL/HIGH for missing-rate runs to LOW for explicit refusals.

Nicrron

Claude Fable 5.1 and Claude Opus 5.5 run the agent through Nicrron. GPT-6 Astra wrote all product copy. Google nano-banana-pro drew the Tilly mascot and app icon.

FAQ

Is this tax advice?

No. We organise tax items and prepare an export for your accountant; you choose the set-aside rate. We do not calculate tax owed or judge tax residency. Estimate only. Not tax, legal, or financial advice.

Is the data real?

We use fictional creators and data in the demo. We use the real 1099-K threshold and the real Fiverr, Upwork, Freelancer.com and Contra fee rules. We simulate and label other fee and form assumptions.