🚀
You're live!
Your app is on the App Store and Google Play. Time to post to r/financialindependence and watch the downloads roll in.
1
App icon Free
✓
Create a free Figma account
Go to figma.com → click "Get started for free" → sign up with Google or email. You do NOT need the paid plan — the free tier is enough for this entire step.
✓
Create a new file → make a 1024×1024 frame
In Figma: click "+ New design file" → press
F on your keyboard to open the Frame tool → click anywhere on the canvas → in the right panel, set Width: 1024, Height: 1024 → press Enter. This is your icon canvas.✓
Import the app-icon.svg file I gave you
Find the
app-icon.svg in your downloaded zip (inside the icon/ folder). In Figma: drag the SVG file directly onto the 1024×1024 frame. It will appear on the canvas. Click it, then in the right panel set W: 1024 H: 1024 to make it fill exactly. The icon shows dark navy background, exponential green/blue bars, and a gold trend line.✓
Export as PNG — no alpha, no rounded corners
Click the frame (not the icon inside it) in the left panel → scroll to the bottom of the right panel → click "+" next to "Export" → set format to
PNG, scale to 1x → click "Export Frame". Do NOT add rounded corners yourself — Apple rounds them automatically. If you round them yourself, Apple rejects the icon.✓
Make the 512×512 Android version
In Figma: right-click the frame → Duplicate → select the new frame → in right panel set W:
512 H: 512. Export it as PNG. This is for the Google Play store listing. Also note: for the Android adaptive icon inside the app itself, the logo should be centered within the inner 66% of the canvas (the "safe zone"). Google crops the outer edges on some devices.✓
Make a 1024×500 feature graphic for Google Play
In Figma: create a new frame W:
1024 H: 500. Add your app name "FIRE Calculator" in big text on the left, your tagline "Real historical returns for VTSAX, FZROX & 12 more FIRE funds" in smaller text below, and the app icon on the right. Dark navy background. Export as PNG. Google Play requires this banner — Apple does not.2
Screenshots Free
✓
Download Google Chrome if you don't have it
Go to google.com/chrome → download and install. You need Chrome specifically for its DevTools screenshot capture — Safari and Firefox don't have the same exact-pixel capture feature.
✓
Open the first screenshot HTML file in Chrome
Find the downloaded zip → open the
screenshots/ folder → right-click screenshot-1-calculator.html → "Open with" → Google Chrome. You'll see a full-page design appear.✓
Open Chrome DevTools and set exact pixel dimensions
Press
F12 (Windows) or Cmd+Option+I (Mac) to open DevTools → click the phone/tablet icon in the top-left of the DevTools panel (it looks like a phone next to a tablet) → at the top of the screen you'll see dimension boxes → set the first box to 1290 and the second to 2796 → press Enter. This is the exact iPhone 15 Pro size Apple requires.✓
Capture the screenshot at full resolution
Make sure zoom is set to
100% in the DevTools bar → press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows) → a command menu appears → start typing "screenshot" → click "Capture full size screenshot". Chrome automatically saves a PNG to your Downloads folder. Rename it 01-calculator.png.✓
Repeat for all 5 screenshot files
Open each HTML file and repeat the DevTools capture:
screenshot-1-calculator.html→ save as01-calculator.pngscreenshot-2-historical.html→ save as02-historical-simulator.pngscreenshot-3-scenarios.html→ save as03-scenarios.pngscreenshot-4-funds.html→ save as04-fund-library.pngscreenshot-5-trust.html→ save as05-privacy-free.png
✓
Decide: do you want iPad screenshots too?
If your
app.json has "supportsTablet": true, Apple REQUIRES iPad screenshots (2048×2732). Your two options: (A) set "supportsTablet": false in app.json to skip this requirement, or (B) recapture all 5 screenshots in DevTools at 2048×2732. Most first-time apps choose option A to save time.3
Privacy policy hosting Free
✓
Create a free GitHub account
Go to github.com → click "Sign up" → enter your email, create a password, choose a username → verify your email. The free plan is all you need. Your username will appear in your privacy policy URL, so pick something reasonable (e.g. your name or "firecalcapp").
✓
Create a new public repository called "fire-calculator"
On GitHub: click the "+" icon in the top-right → "New repository" → Repository name:
fire-calculator → set to Public (required for GitHub Pages) → check "Add a README file" → click "Create repository". You'll land on your new empty repo page.✓
Update your email in the privacy policy file first
Before uploading: open
privacy-policy.html in any text editor (Notepad on Windows, TextEdit on Mac) → find the text privacy@yourapp.com → replace it with your real email address → find yourusername in the GitHub link → replace with your actual GitHub username → save the file.✓
Upload privacy-policy.html to your GitHub repo
In your GitHub repo: click "Add file" → "Upload files" → drag your
privacy-policy.html file into the upload box → scroll down → click "Commit changes". Wait a few seconds for it to appear in the file list.✓
Enable GitHub Pages to get your live URL
In your repo → click "Settings" (top tab) → in the left sidebar scroll down to "Pages" → under "Source" select "Deploy from a branch" → Branch:
main → Folder: / (root) → click Save. Wait 2–3 minutes. Refresh the Settings → Pages page. You'll see a green box saying "Your site is live at https://YOURUSERNAME.github.io/fire-calculator/". Your privacy policy URL is: https://YOURUSERNAME.github.io/fire-calculator/privacy-policy.html. Copy and save this URL — you'll paste it into both app stores.✓
Verify the URL works in your browser
Open a browser → paste your privacy policy URL → press Enter. You should see the dark-themed privacy policy page load correctly. If you see a 404 error, wait another 3 minutes and try again — GitHub Pages can take up to 10 minutes the first time. If it still fails, go back to Settings → Pages and make sure it shows "Your site is published."
4
Apple Developer account $99/year
✓
Enroll in the Apple Developer Program
Go to developer.apple.com/programs/enroll → click "Start Your Enrollment" → sign in with your Apple ID (the one linked to your iPhone) → choose Individual (NOT Organization, unless you have an LLC) → fill in your legal name and address → pay $99 USD → submit. Apple emails you within 24–48 hours with approval. You cannot proceed with iOS submission until approved.
✓
Note your Apple Team ID for later
Once approved: go to developer.apple.com/account → under "Membership Details" you'll see your Team ID — it looks like
A1B2C3D4E5. Copy it and save it somewhere. You'll need it in your eas.json file later.✓
Create your app in App Store Connect
Go to appstoreconnect.apple.com → "My Apps" → click the "+" button → "New App" → fill in:
- Platforms: iOS
- Name:
FIRE Calculator: Index Funds - Primary Language: English (U.S.)
- Bundle ID: click "Register a new Bundle ID" → go to developer.apple.com → Identifiers → "+" → App IDs → App → continue → Description: FIRE Calculator → Bundle ID (Explicit):
com.YOURNAME.firecalculator→ Register. Then come back and select it. - SKU: any unique string, e.g.
firecalc2025
✓
Fill in the App Store listing text
In App Store Connect → your app → "App Store" tab → "1.0 Prepare for Submission" → fill in:
- Name: FIRE Calculator: Index Funds
- Subtitle: Historical Returns Simulator
- Description: open
store-copy-and-launch.md→ copy everything under "Description (4,000 chars max)" → paste it - Keywords: copy the keyword string from the doc (100 chars max)
- Support URL: your GitHub Pages main URL
- Privacy Policy URL: your full privacy-policy.html URL
✓
Upload your 5 screenshots
In the same "1.0 Prepare for Submission" page → scroll to "App Previews and Screenshots" → click "6.7-inch Display" → drag your 5 PNG files in one at a time in order (01 through 05). Apple displays them in the order you upload. After uploading, you can drag to reorder. The 6.7" slot covers iPhone 15 Pro Max — this is the only required size.
✓
Upload your app icon (1024×1024 PNG)
In App Store Connect → "App Information" (left sidebar) → scroll to "App Store Icon" → upload your 1024×1024 PNG. Common rejection reasons: has an alpha (transparency) channel, has rounded corners, file is not exactly 1024×1024. If rejected, open the PNG in Preview (Mac) → File → Export → uncheck "Alpha" → save and re-upload.
✓
Set age rating, pricing, and category
Still in App Store Connect:
- Age Rating: click "Edit" next to Content Rating → answer every question with "None" or "No" (no violent content, no adult content, no gambling, etc.) → submit → it rates automatically as 4+
- Pricing: click "Pricing and Availability" in left sidebar → Price: Free → Available in all territories (or choose specific ones)
- Category: click "App Information" → Primary Category: Finance → Secondary Category: Utilities
5
Build & submit iOS Free with EAS
✓
Install Node.js on your computer
Go to nodejs.org → download the "LTS" version (the left button) → run the installer → click through all the defaults → finish. To verify it worked: open Terminal (Mac: search "Terminal" in Spotlight; Windows: search "Command Prompt") → type
node --version → press Enter → you should see something like v20.11.0.✓
Install EAS CLI globally
In Terminal, type exactly:
npm install -g eas-cli → press Enter → wait for it to finish (1–2 minutes). Then verify: eas --version → should show a version number. If you see "permission denied" on Mac, type sudo npm install -g eas-cli instead and enter your Mac password when asked.✓
Create a free Expo account and log in
Go to expo.dev → "Sign Up" → create a free account. Then in Terminal:
eas login → enter your Expo email and password → you'll see "Logged in as yourusername".✓
Unzip the app and navigate to it in Terminal
Unzip the
fire-calculator-app.zip file you downloaded. In Terminal:
- Mac:
cd ~/Downloads/fire-calculator - Windows:
cd %USERPROFILE%\Downloads\fire-calculator
ls (Mac) or dir (Windows) to confirm you see files like app.json and package.json.
✓
Update app.json with your real bundle ID
Open
app.json in a text editor. Find every occurrence of com.yourcompany.firecalculator and replace it with your actual bundle ID (e.g. com.jane.firecalculator — must match exactly what you registered in Apple Developer portal). Also replace YOUR_EAS_PROJECT_ID with blank for now — EAS will fill it. Save the file.✓
Run npm install to download all dependencies
In Terminal (make sure you're in the fire-calculator folder):
npm install → press Enter → wait 2–4 minutes while it downloads all the packages. You'll see a lot of text scroll by — that's normal. It's done when you see your cursor return. You'll see a new node_modules folder appear.✓
Run eas init to link your project to Expo
In Terminal:
eas init → press Enter. EAS asks "Would you like to create a project?" → Yes. It creates a project at expo.dev and automatically adds your project ID to app.json. You'll see "Created project @yourusername/fire-calculator". This only needs to be done once.✓
Build the iOS app in the cloud
In Terminal:
eas build --platform ios --profile production → press Enter. EAS asks:
- "Do you want to log in to your Apple account?" → Yes → enter your Apple ID email and password
- "Generate a new Apple Distribution Certificate?" → Yes
- "Generate a new Apple Provisioning Profile?" → Yes
✓
Submit the build to App Store Connect
After the build email arrives: in Terminal run
eas submit --platform ios → it asks for your Apple ID again → enter it. EAS automatically uploads the .ipa file to App Store Connect. When done, go to appstoreconnect.apple.com → your app → TestFlight tab. The build will appear there within 15 minutes (Apple processes it).✓
Attach the build and submit for App Review
In App Store Connect → your app → "1.0 Prepare for Submission" → scroll down to the "Build" section → click the "+" button → select the build that just uploaded → scroll back to the top of the page → make sure everything is filled in (no yellow warnings) → click the blue "Submit for Review" button. Apple sends an email with the result in 1–3 days. Most finance apps are approved on the first review.
6
Google Play $25 one-time
✓
Create a Google Play Developer account
Go to play.google.com/console/signup → sign in with your Google account → accept the terms → pay the one-time $25 USD fee with any credit card → your account is active immediately. No waiting period unlike Apple.
✓
Create a new app in Play Console
In play.google.com/console → click "Create app" (top right) → fill in:
- App name:
FIRE Calculator: Index Fund Simulator - Default language: English (United States)
- App or game: App
- Free or paid: Free
- Check both "Declarations" checkboxes
✓
Fill in the main store listing
In Play Console → left sidebar → "Store presence" → "Main store listing" → fill in:
- Short description (80 chars): copy from
store-copy-and-launch.md - Full description: copy the full description from the doc
- Screenshots: upload your 5 PNGs under "Phone screenshots"
- Feature graphic: upload your 1024×500 Figma export
- App icon: upload the 512×512 PNG
✓
Add your privacy policy URL
Play Console → left sidebar → "Policy" → "App content" → "Privacy policy" → click "Start" → paste your full GitHub Pages privacy policy URL → click "Save". Without this, you cannot publish to the store. This is the same URL you used for Apple.
✓
Complete the content rating questionnaire
Play Console → "Policy" → "App content" → "Content rating" → click "Start questionnaire" → Category: select Finance → answer all questions (select "No" or "Does not apply" for everything — this is a calculator, no violence, adult content, gambling, etc.) → click "Submit". Your rating will be "Everyone" (E). This takes about 3 minutes.
✓
Fill in the remaining required sections
Play Console → "App content" has several more required sections. Check each one:
- Target audience: select 18+ only
- News apps: No, this is not a news app
- COVID-19 contact tracing: No
- Data safety: click through → no data collected from users → no data shared → Save
✓
Build the Android app and submit it
In Terminal (inside the fire-calculator folder):
eas build --platform android --profile production → press Enter. This builds an AAB (Android App Bundle) in Expo's cloud. Takes 15–25 minutes. When done, run: eas submit --platform android → EAS will ask you to link your Google Play account and uploads the AAB automatically. Alternatively, download the .aab file from expo.dev and upload it manually in Play Console → "Production" → "Create new release" → upload the .aab.✓
Roll out to production
In Play Console → left sidebar → "Production" → you'll see your release → click "Review release" → Google checks for obvious errors → if all green, click "Start rollout to production" → in the popup click "Rollout" to confirm. Google reviews typically take a few hours to 1 business day. You'll get an email when it's live on the Play Store.
7
Launch day marketing Free
✓
Post to r/financialindependence — your #1 priority
Open
store-copy-and-launch.md → find the "REDDIT LAUNCH POST" section → copy the entire post. Go to reddit.com/r/financialindependence → click "Create Post" → paste the post → add both your App Store and Google Play links where marked → post. Best time: Tuesday or Wednesday, 8–10am Eastern Time. Do NOT post on weekends. Respond to every single comment in the first 2 hours — engagement keeps the post visible.✓
Post to r/personalfinance
Adapt the Reddit post slightly: lead with the compound interest calculator feature (not the historical simulator, which is more FIRE-specific). Title suggestion: "I built a free compound interest calculator with inflation and tax modeling — and a historical simulator showing real S&P 500 returns since 1993. No ads, no subscription." Check r/personalfinance rules first — they allow tool posts if you're transparent about being the developer.
✓
Post to r/investing
For r/investing, lead with the ETF comparison angle. Title suggestion: "Built a free app to see what $500/month into QQQ, VTSAX, or FZROX would actually be worth today — real annual returns, real crashes included." Different angle, same app — each subreddit audience cares about different features.
✓
Launch on Product Hunt
Go to producthunt.com → "Submit a product" → use the Product Hunt section from your store-copy doc. Important timing: Product Hunt launches reset at 12:01am Pacific Time. Submit the night before and schedule it. On launch morning, message 5–10 friends and ask them to upvote it first thing. Early upvotes in the first 2 hours determine if you make the "top 5 of the day" list, which drives exponential traffic.
✓
Email 3 personal finance bloggers
Use the outreach email template from your store-copy doc. Good targets with large FIRE audiences:
- Physician on FIRE (physicianonfire.com) — huge FIRE community
- Mad Fientist (madfientist.com) — FIRE-focused, loves tools
- The College Investor (thecollegeinvestor.com) — reviews apps
- Afford Anything (affordanything.com) — Paula Pant, FIRE podcast
✓
Get your first 10 reviews (critical for rankings)
App Store ranking algorithms heavily favor apps with early reviews. Text 10 people you know — friends, family, anyone with a smartphone — and ask them to download the app and leave an honest review. Send them the direct link. Say exactly: "Can you download this app and leave a quick review? Even just 3–5 stars helps a lot." Do this within the first 48 hours of going live.
✓
Plan your v1.1 update based on feedback
Watch comments on Reddit and reviews in both stores carefully. The most common feature requests from FIRE calculator users are: (1) SWR / withdrawal mode — "how long will my money last?", (2) FIRE number calculator — "how much do I need to retire?", (3) Monte Carlo simulation — random return sequences. Plan your first update around whichever gets requested most. Updates keep you in the "Recently Updated" section of both stores.