Why Your Tech Stack Matters More Than Your Idea
I have shipped 7 indie apps over the past 4 years. The ones that succeeded had something in common — and it was not the idea. It was the stack. A well-chosen tech stack lets you iterate fast, keep costs near zero while validating, and scale without rewriting when things take off. A poorly chosen one buries you in maintenance, vendor lock-in, and surprise bills.
The indie iOS landscape in 2026 is radically different from even two years ago. Swift 6 brought strict concurrency and typed throws. SwiftUI finally handles complex navigation and custom layouts without UIKit escape hatches. On-device ML is fast enough for real-time image processing. And the backend-as-a-service market has matured to the point where you genuinely do not need to run your own servers.
This guide covers every layer of the stack: development tools, backend, monetization, analytics, design, distribution, AI, and DevOps. For each category, I compare the top options with tables so you can make an informed decision instead of just grabbing whatever the latest YouTube tutorial recommends.
Development: Xcode 16, Swift 6, and SwiftUI in 2026
Xcode 16
Xcode 16 (released with iOS 18) is the best version Apple has ever shipped. Predictive code completion powered by Apple's on-device ML model is genuinely useful — not Copilot-level, but it handles boilerplate patterns well. The new build system improvements cut incremental compile times by roughly 25% on M-series Macs. The integrated String Catalog editor finally makes localization manageable for solo developers.
The only alternative worth considering is VSCode with the Swift extension for server-side Swift development. For iOS app code, Xcode is still the only game in town because of Interface Builder integration, the Simulator, and Instruments profiling.
Swift 6
Swift 6 strict concurrency mode is no longer optional — it is the default for new projects. If you have been ignoring Sendable warnings, now is the time to address them. The key changes that affect your stack decisions:
- Strict concurrency checking eliminates data races at compile time. Your networking layer, caching, and any shared state must be actor-isolated or Sendable.
- Typed throws let you catch specific error types instead of generic
Error. This makes error handling in API clients much cleaner. - Noncopyable types enable zero-cost abstractions for resource management (database connections, file handles).
- Embedded Swift opens the door for IoT and watchOS ultra-low-level development, though most indie developers will not need this yet.
SwiftUI vs UIKit in 2026
The debate is effectively over for new projects. SwiftUI should be your default unless you have a specific requirement that forces UIKit. As of iOS 18, SwiftUI handles custom container layouts, mesh gradients, SF Symbol animations, and full NavigationStack control. The remaining UIKit-only holdouts are:
- Complex
UICollectionViewcompositional layouts (SwiftUI'sLazyVGridis close but not equivalent) - WebView integration (
WKWebViewstill requires aUIViewRepresentablewrapper) - Camera and video capture (AVFoundation requires UIKit hosting)
For everything else — forms, lists, navigation, animations, onboarding flows, settings screens — SwiftUI is faster to build, easier to maintain, and produces fewer bugs. Every code example in this guide assumes SwiftUI.
Backend: Supabase vs Firebase vs AWS Amplify
Your backend handles auth, database, file storage, and server functions. Here is how the three main options compare for indie iOS developers:
| Feature | Supabase | Firebase | AWS Amplify |
|---|---|---|---|
| Database | PostgreSQL (full SQL) | Firestore (NoSQL) | DynamoDB (NoSQL) or Aurora |
| Auth | Email, OAuth, Apple, Magic Link | Email, OAuth, Apple, Phone | Cognito (full featured but complex) |
| Realtime | Postgres Changes (WebSocket) | Firestore listeners (excellent) | AppSync (GraphQL subscriptions) |
| Swift SDK quality | Good — official, async/await | Good — mature, large community | Mediocre — verbose, callback-heavy |
| Free tier | 500 MB DB, 1 GB storage, 2 GB bandwidth | 1 GiB Firestore, 5 GB storage | 25 GB DynamoDB, 5 GB storage |
| Pricing model | $25/mo Pro (predictable) | Pay-per-read/write (unpredictable) | Pay-per-use (complex billing) |
| Vendor lock-in | Low — standard Postgres, self-hostable | High — proprietary DB format | Very high — tightly coupled to AWS |
| Edge Functions | Deno-based, easy to deploy | Cloud Functions (Node/Python) | Lambda (any runtime) |
My pick: Supabase. PostgreSQL means you write real SQL, not proprietary query syntax. The pricing is predictable — $25/month for Pro regardless of read/write volume. And if you ever need to leave, you can export your Postgres database and move to any host. Firebase is fine if you are already invested in the Google ecosystem, but Firestore's per-read billing has burned many indie developers with unexpected bills after a viral launch. For a deeper dive, check out our Supabase SwiftUI tutorial that covers auth, database, and Sign in with Apple setup.
Monetization: RevenueCat vs Adapty vs Superwall
Subscription management is the most critical infrastructure decision after your backend. Getting it wrong means lost revenue, broken restore flows, and App Store rejections. Here is the comparison:
| Feature | RevenueCat | Adapty | Superwall |
|---|---|---|---|
| Core function | Full subscription management | Subscription management + A/B testing | Paywall management + RevenueCat/StoreKit backend |
| Free tier limit | $2,500 MTR | $10K MTR | 250 conversions/month |
| Paid pricing | $99/mo or 1% of MTR above threshold | From $29/mo + % of MTR | From $99/mo (0.5% of revenue) |
| Remote paywall config | Paywalls add-on (limited templates) | Built-in paywall builder | Core feature — full no-code editor |
| A/B testing | Experiments (paid plan) | Built-in A/B testing | Built-in paywall A/B testing |
| Swift SDK | Excellent — best-in-class docs | Good — modern Swift API | Good — easy integration |
| Web/Android support | iOS, Android, Web, Flutter, RN | iOS, Android, Flutter, RN | iOS, Android, Flutter, RN |
| StoreKit 2 support | Full | Full | Via RevenueCat or native StoreKit |
My pick: RevenueCat. It has the largest community, the best documentation, and the most mature Swift SDK. The free tier covers you until $2,500/month in revenue, which is more than enough for validation. When you start making real money, the 1% fee is a rounding error compared to Apple's 15-30% cut. Superwall is worth adding on top of RevenueCat if you want to A/B test paywall designs without app updates — but it is not a replacement for a subscription backend.
For paywall design patterns that actually convert, read our guide on SwiftUI paywall design best practices.
Analytics: TelemetryDeck vs Mixpanel vs PostHog
You cannot improve what you do not measure. But most analytics tools are built for growth teams at big companies, not solo indie developers. Here is what matters:
| Feature | TelemetryDeck | Mixpanel | PostHog |
|---|---|---|---|
| Privacy | Privacy-first, no PII, EU-hosted | GDPR compliant with config | Self-hostable, EU cloud option |
| Free tier | 100K signals/month | 20M events/month | 1M events/month (cloud) |
| Paid pricing | From EUR 8/month | From $20/month | From $0 (self-hosted) or usage-based |
| Swift SDK | Native Swift, lightweight (~50 KB) | Obj-C based, heavier (~200 KB) | Swift SDK available |
| Session replay | No | Yes (mobile add-on) | Yes (web and mobile) |
| Funnels & retention | Basic funnels, retention charts | Advanced funnels, cohorts, flows | Full funnels, paths, retention |
| ATT prompt required? | No — no user tracking | Depends on config | Depends on config |
My pick: TelemetryDeck for indie, Mixpanel when scaling. TelemetryDeck is built by an indie iOS developer for indie iOS developers. It does not require an ATT prompt, the Swift SDK is tiny, and the privacy-first approach means you never have to worry about GDPR compliance. The free tier covers most indie apps. When you hit product-market fit and need advanced funnels, cohort analysis, and experimentation, Mixpanel is the industry standard — and their free tier of 20M events/month is absurdly generous.
Design: Figma, SF Symbols, and Icon Generators
As an indie developer, you are also your own designer. Here is the minimal design toolkit:
- Figma (free tier): You do not need the paid plan. The free tier supports 3 Figma files with unlimited pages. Use it for wireframing screens before you code them. Even rough wireframes save hours of SwiftUI iteration. The Apple Design Resources kit for Figma gives you every native iOS component.
- SF Symbols 6: Over 6,000 free icons that automatically match the system font weight and adapt to dynamic type. There is no reason to use a third-party icon library in 2026. Use the SF Symbols app (free from Apple) to browse and search.
- App Icon generators: I use Bakery ($30 one-time) or the free Icon Kitchen web tool for app icons. Both export every required size for App Store submission.
- Screenshot generators: Screenshots Pro or AppMockUp for App Store screenshots. The free tiers work for a single app. Good screenshots double your conversion rate — do not skip this.
Distribution: TestFlight and ASO Tools
Getting your app in front of users involves two stages: beta testing and App Store optimization.
Beta Testing
TestFlight is free and the only sane choice for iOS beta distribution. You get up to 10,000 external testers. Share a public link on Twitter, Reddit, or your landing page. Collect crash reports and feedback directly in App Store Connect.
ASO (App Store Optimization)
Most indie developers completely ignore ASO and wonder why nobody finds their app. The App Store is a search engine — if your title, subtitle, and keywords do not match what people search for, you are invisible. Here is the comparison:
| Tool | Free Tier | Paid Price | Key Features | Best For |
|---|---|---|---|---|
| AppFollow | 1 app, basic tracking | From $83/mo | Keyword tracking, review monitoring, competitor intel | Serious ASO at scale |
| Astro (by Appfigures) | Limited search | From $30/mo | Keyword suggestions, difficulty scores | Indie developers on a budget |
| Sensor Tower | Very limited | From $79/mo | Market intelligence, download estimates | Market research and competitor analysis |
| App Radar | 1 app, 5 keywords | From $41/mo | AI keyword suggestions, localization | Localized ASO for international markets |
| AppTweak | 7-day trial | From $69/mo | ASO intelligence, ad intelligence, market data | Data-driven ASO optimization |
My pick: Astro for the first year, then AppFollow if you get traction. Astro's $30/month gives you keyword suggestions, difficulty scores, and tracking for one app. That is all you need to optimize your listing. Do not spend $80/month on ASO tools before you have validated that people want your app.
AI APIs: OpenAI, Claude, and On-Device ML
AI features are no longer a differentiator — they are expected. Here is how the options stack up:
- OpenAI API (GPT-4o, GPT-4o-mini): The default choice. Best documentation, largest ecosystem, and GPT-4o-mini is fast enough for real-time features at $0.15/1M input tokens. Use through a proxy server — never embed the API key in your app. Our AI iOS app tutorial covers the complete proxy architecture.
- Anthropic Claude API (claude-sonnet-4, claude-haiku): Best for long-form writing, nuanced analysis, and tasks that need strong instruction-following. Claude Haiku is competitive with GPT-4o-mini on price and slightly better at structured output. Worth integrating as a fallback or for specific use cases.
- On-device ML (Core ML, Create ML): For real-time features that must work offline — image classification, text sentiment, pose detection. Apple's Create ML app lets you train models with zero ML knowledge. The tradeoff is model size (keep it under 50 MB) and limited capability compared to cloud models. Use on-device ML for preprocessing and cloud APIs for heavy lifting.
- Apple Intelligence APIs (iOS 18.4+): Summarization, entity extraction, and writing tools built into the OS. Free, private, and instant — but only available on iPhone 15 Pro and later. Use these for system-level integrations like Spotlight suggestions and Siri intent handling.
DevOps: Xcode Cloud vs GitHub Actions vs Fastlane
CI/CD is the difference between shipping updates weekly and shipping them quarterly. Automate your build, test, and submission pipeline:
| Feature | Xcode Cloud | GitHub Actions | Fastlane (self-hosted) |
|---|---|---|---|
| Setup complexity | Very easy — GUI in Xcode | Medium — YAML config | Medium — Ruby Fastfile |
| Free tier | 25 compute hours/month | 2,000 min/month (public repos free) | Free (runs on your Mac) |
| Paid pricing | Included in Apple Developer membership | $4/mo per macOS runner (private repos) | Free (your electricity bill) |
| TestFlight upload | Native — one click | Via Fastlane action or xcrun | Built-in pilot command |
| Code signing | Automatic — managed by Apple | Manual — certificates in secrets | Match (shared certificates) |
| Custom scripts | ci_scripts folder (limited) | Full flexibility — any shell command | Full flexibility — Ruby + shell |
| Build speed | Apple Silicon machines, fast | Intel Macs (slower) or self-hosted M1+ | Your Mac's speed |
My pick: Xcode Cloud for solo indie, GitHub Actions for teams. Xcode Cloud requires zero configuration for basic build-test-deploy workflows. The 25 free compute hours cover weekly releases for a single app. When you need custom scripts (uploading dSYMs to Sentry, triggering Slack notifications, running SwiftLint), GitHub Actions gives you full control. Fastlane is still the gold standard for complex pipelines — many teams use it inside GitHub Actions as the actual build orchestrator.
The Complete Recommended Stack
Here is the full stack I recommend for indie iOS developers in 2026, with what each tool costs:
| Tool | Category | Monthly Cost | What It Does |
|---|---|---|---|
| Apple Developer Program | Distribution | $8.25 ($99/yr) | App Store access, TestFlight, Xcode Cloud |
| Xcode 16 | IDE | Free | Development, debugging, profiling |
| Supabase (free tier) | Backend | $0 | Auth, PostgreSQL database, file storage |
| RevenueCat (free tier) | Monetization | $0 | Subscription management, receipt validation |
| TelemetryDeck (free tier) | Analytics | $0 | Privacy-first event tracking |
| Figma (free tier) | Design | $0 | UI wireframing and design specs |
| SF Symbols 6 | Icons | Free | 6,000+ system icons |
| GitHub (free tier) | Source Control | $0 | Git hosting, issues, pull requests |
| Xcode Cloud | CI/CD | $0 (included) | Build, test, deploy automation |
| Sentry (free tier) | Crash Reporting | $0 | Crash tracking, error monitoring |
| OpenAI API | AI | ~$5-20 (usage) | GPT-4o-mini for AI features |
| Railway / Fly.io | AI Proxy Hosting | $0-5 | Proxy server for API key security |
| Plausible or Simple Analytics | Web Analytics | $9 | Landing page analytics (if you have a website) |
| Namecheap / Cloudflare | Domain | ~$1 ($12/yr) | Domain registration, DNS, CDN |
| Vercel (free tier) | Landing Page Hosting | $0 | Next.js hosting for your app's website |
| Resend (free tier) | Transactional Email | $0 | Password reset, receipt emails |
Total Monthly Cost at Different Scales
Here is what this stack actually costs depending on where you are in your journey:
| Stage | Monthly Users | Monthly Cost | What Changes |
|---|---|---|---|
| Validation / MVP | 0 - 500 | $8.25 | Just the Apple Developer membership. Everything else is free tier. |
| Early traction | 500 - 5,000 | $23 - $43 | Add domain ($1), web analytics ($9), AI usage ($5-20). Free tiers still cover backend and analytics. |
| Growth | 5,000 - 50,000 | $95 - $175 | Supabase Pro ($25), higher AI usage ($30-50), Astro ASO ($30), Sentry paid ($26). |
| Scale | 50,000+ | $300 - $600 | Supabase Pro ($25), RevenueCat paid ($99), Mixpanel ($20-50), GitHub Team ($4/user), heavier AI ($100+). |
The key insight: you can validate and launch an app for under $10/month. There is no upfront infrastructure cost. Every tool on this list has a free tier that covers the MVP phase. You only start paying when you have users — and at that point, the revenue should cover the costs.
Things I Would Do Differently
After 4 years of indie iOS development, here are the mistakes I made that you can avoid:
- Do not use Firebase for a new project in 2026. Firestore's pricing model punishes reads. Every time a user opens a list view, you pay per document fetched. With Supabase, you pay for the Postgres instance regardless of query volume. At scale, this difference is massive.
- Do not skip analytics. My first two apps had zero analytics. I had no idea which features people used, where they dropped off, or why retention was low. By the time I added TelemetryDeck, it was too late — the apps were dead. Add analytics from day one, even if you only track 5 events.
- Do not build your own auth. I wasted 3 weeks building a custom email/password auth system for my second app. It had bugs, no rate limiting, and no social login. Supabase Auth took 2 hours to integrate and handled everything — including Sign in with Apple, which is now basically required for App Store approval.
- Do not manually upload builds. Before Xcode Cloud, I was manually archiving, uploading to App Store Connect, and waiting for processing. I shipped maybe once a month. With CI/CD, I ship 2-3 times per week. The compound effect of faster iteration is enormous.
- Do not ignore ASO. My fourth app was objectively better than my third, but it got 1/10th the downloads because I gave it a clever name that nobody would ever search for. Your app name and subtitle should contain the exact words people type into the App Store search bar.
Getting Started Without Building from Scratch
Looking at this stack, you might feel overwhelmed. That is normal. Wiring together auth, a backend, subscriptions, analytics, onboarding, and a polished UI takes weeks of integration work before you write a single line of your actual product. Most of those weeks are spent on solved problems — the same auth flow, the same paywall logic, the same settings screen that every app needs.
That is exactly why boilerplates exist. The Swift Kit ships with Supabase auth, RevenueCat subscriptions, TelemetryDeck analytics, a complete design system with dark mode, onboarding flows, and a paywall — all pre-wired and ready to customize. Instead of spending 4-6 weeks on infrastructure, you spend a day configuring it and then focus entirely on what makes your app unique.
Check the features page to see what is pre-built, review the documentation for integration details, or head straight to pricing to grab the kit and start building your stack today. For a step-by-step launch plan, our 30-day launch playbook walks through the entire process from idea to App Store.