The idea
Prop firm traders (people who trade with other people's money) need specific calculators that account for strict drawdown rules. Every existing calculator is either ugly, full of ads, or doesn't know that FTMO has a 5% daily drawdown limit.
So I built PropWise — 10 interactive tools across 168 SEO-optimized pages, all in vanilla HTML, CSS, and JS. No framework. No build step. No dependencies.
What I built
10 core tools:
- Position Size Calculator (pre-configured for 12 prop firms)
- Challenge Cost Calculator (expected cost to get funded based on pass rate)
- Risk of Ruin Calculator (probability of blowing your account)
- Revenge Trade Calculator (mathematical damage of emotional trading)
- Overtrading Detector (optimal trading frequency analysis)
- Live Session Timer with ICT kill zones
- Compound Growth Calculator
- Pip Value Calculator
- Prop Firm Comparison (12 firms)
- "Am I Ready?" readiness quiz
Plus 158 programmatic pages:
- 55 firm + account size specific calculators (e.g. "FTMO 100K Position Size Calculator")
- 66 head-to-head comparison pages (e.g. "FTMO vs FundedNext")
- 36 brand-specific tool pages (e.g. "Topstep Risk Calculator")
Tech stack
Intentionally simple:
- Vanilla HTML/CSS/JS
- Python build script to generate 168 pages from templates
- Nginx on a VPS
- Certbot for SSL
- Google Analytics
- No database, no API, no framework
The programmatic SEO approach
Instead of 10 pages targeting broad keywords like "position size calculator," I generated pages for every combination:
- Every firm × every account size = unique page with pre-calculated lot sizes
- Every firm × every firm = comparison page with side-by-side data
- Every firm × every tool type = brand-specific landing page
Each page has:
- Unique title, description, and keywords
- Schema.org markup (SoftwareApplication, BreadcrumbList, FAQPage)
- Breadcrumb navigation
- Heavy internal linking (5+ contextual links per page)
- Pre-calculated data tables (not just a blank calculator)
One Python script generates everything:
python
for firm in FIRMS:
for account in firm["accounts"]:
# Generate unique page with pre-filled calculations
build_page(
slug=f"{firm['slug']}-{format(account)}-position-size-calculator",
title=f"{firm['name']} {format(account)} Position Size Calculator",
body=generate_calculator_page(firm, account)
)
/// Design decisions
Dark theme — traders stare at dark charts all day. A bright white tool site would feel jarring.
No signup wall — every tool works immediately. No email capture, no "sign up to see results." Trust is built by being useful, not by gating.
Share cards — every calculation produces a shareable card with the result, optimized for Twitter screenshots. Organic distribution > paid ads.
Sound effects — subtle audio feedback: a cha-ching for positive results, an alert for dangerous risk levels. Small detail, big UX impact.
What I'd do differently
Would use a static site generator instead of a custom Python script
Would add a service worker for offline use
Would build a proper design system instead of inline styles
Results
Just launched. 168 pages indexed in Google, zero budget spent. Let's see what happens.
Check it out: propwise.site
Source approach and all tools are free. If you're a trader, I'd love feedback on what's missing.
---
Top comments (0)