I built a TikTok Shop profit calculator as a static site — no backend, no database, just HTML/CSS/JS computing fees in the browser. The interesting part wasn't the code. It was discovering how messy TikTok's 2026 fee structure is.
What the calculator computes (October 2026 rates):
- US: 8% reported (Aug 2026); official table still shows 6%. Transaction fee bundled, no separate charge. New seller rate 3% for 30 days. Refund admin fee: 20% of refunded fee, max $5/SKU.
- UK: 9% VAT-inclusive. No separate transaction fee. New-seller reduced period exists (terms unconfirmed).
- EU (DE/FR/IT/ES/NL): 9% standard since Jan 8, 2026 (was 5%). New seller 4% for 60 days. Refund admin fee 20%, max 5 euros.
The US 8% figure is the fun one: multiple seller-ops sources report it effective August 4, 2026, but TikTok's public rate table (revised May 2026) still lists 6%. So the calculator has a toggle — reported 8% default, official 6% optional. When the platform won't give you a straight answer, you ship the ambiguity honestly.
Technical notes for the curious:
- Static site, about 10 pages, deployed on Modal as an ASGI app serving static files. One real SEO fix so far: /index.html and / both returned 200 with identical content, so I added a 301 redirect route in FastAPI before the static mount.
- All math runs client-side; fee data lives in a small JS config so monthly rate updates are a one-file change. (TikTok changes these constantly — there's now a monthly research pass to keep rates current.)
- Analytics and cookie consent from day one, because the monetization plan is ad revenue after the custom domain lands.
Biggest lesson: for a tool like this, the data is the product. The calculator UI took a day; keeping fee rates accurate is the actual ongoing work. If you're building in a space where the platform changes pricing quarterly, design for data updates first and UI second.
Try the live calculator here: https://abumanan551-eng--tiktokshop-calc-webapp.modal.run — happy to answer questions about the fee research or the static-site setup.
(This article is original content written for dev.to.)
Top comments (0)