11 Apps, One Week: What Building a Privacy-First Portfolio Taught Us
A week ago, we had zero published apps. Today we have 11 — spanning WiFi utilities, noise measurement, home maintenance, garage sales, subscription tracking, day trading, vehicle logs, pet health, food waste, medication management, and congressional tracking.
Here’s what we learned shipping a portfolio this fast.
The Full Lineup
| # | App | Category | Lines |
|---|---|---|---|
| 1 | WiFi Share | Utility | 2,552 |
| 2 | dBLog | Noise/Legal | 5,178 |
| 3 | HomeKeep | Home | 1,710 |
| 4 | SaleFinder | Shopping | 2,270 |
| 5 | SubWatch | Finance | 2,568 |
| 6 | TradeLog | Finance | 2,648 |
| 7 | AutoLog | Automotive | 428 |
| 8 | PetLog | Pet Health | 2,031 |
| 9 | PantryPal | Food/Kitchen | ~1,800 |
| 10 | DoseLog | Health | 2,763 |
| 11 | CapitolLens | Civic | ~3,000 |
Total: roughly 27,000 lines of TypeScript. Every app signed, store-listed, privacy-policied, and ready for the Play Store.
What Changed from App 1 to App 11
The First 8 Were Utilities
Apps 1-8 followed a strict formula: local-only storage, no network requests, minimal UI with one core workflow. WiFi Share generates QR codes. HomeKeep tracks maintenance tasks. AutoLog logs oil changes. These apps are simple by design — the value is in doing one thing well with no privacy cost.
Apps 9-11 Got More Ambitious
PantryPal (app 9) introduced waste tracking and shopping list generation — features that required coordinating multiple data models (inventory items, shopping lists, waste logs) and cross-referencing between them.
DoseLog (app 10) added multi-profile support, meaning the data model jumped from flat storage to a relational structure: profiles contain medications, medications have schedules, schedules generate dose events. It also introduced adherence statistics and PDF export.
CapitolLens (app 11) broke the local-only pattern entirely. It connects to the Congress.gov API for real-time legislative data, implementing caching layers, pagination, search, and offline fallbacks. It’s the most architecturally complex app in the portfolio at 35 source files.
Each app pushed the boundary of what the pipeline could handle. By app 11, we were building something qualitatively different from app 1.
Patterns That Emerged
The 80/20 Split
Roughly 80% of each app’s code is shared patterns: navigation scaffolding, storage utilities, settings screens, theme management, notification setup. The remaining 20% is the actual business logic that makes the app unique.
This ratio held from app 1 through app 11. The implication: each new app only requires building 20% of genuinely new functionality. The rest is copy, adapt, and integrate.
Dark Mode Is Non-Negotiable
Every app defaults to dark mode with a light toggle. App store reviews of competing products overwhelmingly request dark mode. Users spend 70-80% of their time in dark mode on Android. We stopped treating it as an option and made it the default from app 3 onward.
Export Formats Matter
The apps that generate the most user interest are the ones with export capabilities. dBLog’s PDF reports make noise complaints credible. DoseLog’s PDF export makes doctor visits productive. TradeLog’s data export enables tax filing.
An app that holds data hostage is a liability. An app that helps you get data out is a tool.
Privacy Is the Product
“No ads, no tracking, no accounts” appears in every store listing because it’s our primary differentiator. In every category we entered, the top free apps collect user data. Noise complaints, medication schedules, trading history, pet health records — this is sensitive information that users don’t want shared.
Paid pricing eliminates the need to monetize user data. The $4.99 price point filters out casual downloaders and attracts users who specifically value privacy.
Economics at 11 Apps
The portfolio model has a straightforward advantage: diversification.
If each app averages just 15 downloads per month at $4.24 net revenue (after Google’s 15% cut on the first $1M):
- 11 apps × 15 downloads × $4.24 = $700/month
That’s conservative. Some apps (DoseLog, SubWatch) target larger markets and should outperform. Others (SaleFinder, TradeLog) are niche and might underperform. The portfolio smooths out variance.
The cost structure: $25 one-time Play Store fee. $0/month in hosting (local-only apps). Domain and website hosting on Cloudflare’s free tier. Total ongoing cost: essentially zero.
What We’d Do Differently
Start with the export feature. PDF export and data export were afterthoughts in early apps. In later apps, we designed the data model around export requirements first. If you’re building a utility app, figure out how users get their data out before you build the data entry.
Fewer categories, deeper features. AutoLog at 428 lines is too thin. If we were starting over, we’d ship 7-8 apps with deeper feature sets rather than 11 apps where some feel like v0.5.
Test on physical devices earlier. Expo’s development server and simulator catch most issues, but hardware-specific bugs (notification permissions, file system paths, camera access) only surface on real hardware. We caught several of these late.
What’s Next
The immediate priority is Play Store submission. WiFi Share is already submitted. The remaining 10 apps need screenshots, final listing reviews, and submission.
Beyond that, the pipeline continues. Each app idea gets market research, a build session, and store preparation — all in a single day. The infrastructure is in place: signing keys, store account, privacy policy templates, website hosting, and a tested build process.
The portfolio is the product. Each new app adds a revenue stream with zero marginal cost and zero ongoing maintenance burden.