Sterling Labs
← Back to Blog
Privacy & Security·6 min read

How I Built Ledg Without a Server and Used It to Fund Sterling Labs

March 17, 2026

Short answer

The architecture behind the offline-first budget tracker and how it funds my consulting work without ads or data selling.

Most indie hackers in 2026 start with a SaaS wrapper. They spin up a Stripe account, connect an API key, and hope for the best. I did the opposite.

Most indie hackers in 2026 start with a SaaS wrapper. They spin up a Stripe account, connect an API key, and hope for the best. I did the opposite.

I built Ledg to run without a server, without cloud storage, and without bank linking. I wanted a tool that lived on the device. This decision changed how I fund Sterling Labs.

In 2024 and 2025, privacy was a marketing angle. In 2026, it is the product. People know their data gets sold to brokers before they even finish typing a username. I built Ledg to prove you can build a profitable business without touching that data.

Here is the exact architecture and workflow I used to ship the app and keep the lights on at Sterling Labs.

The Constraint: No Data Leaves the Phone

The core requirement for Ledg was strict. If you do not have a server, you cannot store the data remotely. This means no iCloud sync and no web dashboard.

When I started, I could have added AES-256 encryption to the database file and called it a day. That is not enough. The threat model changed in 2025 with the rise of AI scraping tools that target public cloud dumps. If your data is in a bucket, someone can find it.

So I removed the cloud entirely. The database lives on the device file system. Users control the keys.

This constraint drove every technical decision from day one. I did not write a single line of backend code. No Node.js services. No Python workers. Just Swift and local storage on iOS.

The Dev Environment for 2026

Running a one-person operation requires hardware that does not slow down. I do not rent cloud instances for development. I compile locally to ensure speed and control.

My setup runs on a Mac Mini M4 Pro. The chip handles Xcode builds in seconds without fan noise or heat throttling. I use https://www.amazon.com/dp/B0DLBVHSLD?tag=juliansterlin-20 for the main unit. It sits on my desk alongside an Apple Studio Display https://www.amazon.com/dp/B0DZDDWSBG?tag=juliansterlin-20 to keep the workflow tight.

I type code using the Logitech MX Keys S Combo https://www.amazon.com/dp/B0BKVY4WKT?tag=juliansterlin-20. The tactile feedback matters. I am typing thousands of lines a day during sprints.

For navigation, the MX Master 3S https://www.amazon.com/dp/B0C6YRL6GN?tag=juliansterlin-20 lets me switch between Xcode and Safari without moving the hand.

I also use a CalDigit TS4 Dock https://www.amazon.com/dp/B09GK8LBWS?tag=juliansterlin-20 to manage inputs. It keeps the desk clean so I can focus on logic rather than cable management.

This hardware choice is not about luxury. It is about reducing friction. When the build takes 10 seconds instead of two minutes, I write more code.

The Architecture: SQLite and SwiftData

Ledg uses a local SQLite database wrapped in SwiftData. There are no external API calls for data retrieval.

The app architecture follows a strict separation of concerns:

1. UI Layer: SwiftUI for the interface.

2. Logic Layer: Swift classes that handle math and categorization.

3. Storage Layer: Direct SQLite access with no ORM overhead.

I avoid heavy frameworks like CoreData for this specific use case because I need direct control over the file. The database is a single file stored in the app sandbox.

I do not use AI to categorize transactions. In 2026, people assume an app is spying on them if it suggests a category without asking. I let the user define the categories. The app supports recurring transactions, but it does not guess what you spent money on.

I also do not support receipt scanning. Optical character recognition requires a server or heavy local processing that drains battery. I want the user to focus on the numbers, not the paper trail.

Pricing: The Value of Privacy

I priced Ledg based on value, not cost-plus. Most budget apps charge a monthly fee. I offer that too.

  • Free version: Basic manual entry and limited categories.
  • Pro Monthly: $4.99/mo for unlimited categories, recurring transactions, and export features.
  • Pro Yearly: $39.99/yr (save 17%).
  • Lifetime License: $99.99 one-time payment.
  • The lifetime option is the key differentiator. In a market where subscriptions are becoming annoying, people want to own their tool.

    I do not use Stripe directly for the lifetime deals on some platforms, but I do process payments through App Store Connect. The revenue comes in monthly for subscriptions and as a lump sum for lifetime users.

    This pricing model aligns my incentives with the user. If they stop using Ledg, I do not lose money. They keep paying for value.

    How This Funds Sterling Labs

    Ledg is not the end goal. It is a cash-flow engine for Sterling Labs.

    Sterling Labs provides technical consulting and development services https://jsterlinglabs.com. I take clients who need custom solutions that generic tools cannot handle.

    The revenue from Ledg pays for the server costs, marketing, and development time while I handle client work.

    I do not mix the codebases. The Ledg app is a standalone iOS product. Sterling Labs handles external projects for other companies.

    This separation allows me to say no to bad clients. If a client asks for something that violates my privacy principles, I walk away. Ledg revenue covers the gap while I find better work.

    I also use TradingView for market research on tech stocks https://www.tradingview.com/?aff_id=137670. I track the performance of software companies to understand market trends.

    For trading signals and analysis, I rely on TC2000 https://www.tc2000.com/download/dallastecson and https://www.tc2000.com/pricing/dallastecson for technical analysis tools. This keeps my investment side separate from the product code.

    The "No Marketing" Workflow

    I do not run ads for Ledg. I do not pay for influencer shilling. In 2026, ad costs are too high for a niche product like this.

    The marketing strategy is simple: build something people trust and let them find it.

    1. App Store Optimization: I focus on keywords like "offline budget" and "privacy finance".

    2. Product Hunt Launches: I launch when the app is stable, not beta.

    3. Community Feedback: I listen to users who leave reviews on the App Store.

    I do not have a blog for Ledg updates. I use X to post changes. If a user asks how to export data, I answer the question publicly so others can see it too.

    This transparency builds trust. People know the app is not a scam if I am open about how it works.

    Why I Cut the "Cloud Sync" Feature

    Many competitors offer iCloud sync for free. It is a major selling point. I removed it from the roadmap to keep the scope small.

    I do not want to manage encryption keys for users. If my server goes down, their data is gone. If I do not store the data, I cannot lose it.

    This also means no shared budgets. You cannot share a Ledg budget with your spouse. Each device is an island.

    For most users, this is a feature not a bug. They want control over their financial data. They do not want to invite family members into their private accounts through a cloud portal.

    I added manual entry as the primary input method. This forces the user to engage with their numbers every time they add a transaction. It creates awareness that apps like YNAB try to automate away.

    The Bottom Line

    If you want a budget app that does not sell your data, try Ledg. If you need custom automation or consulting, check out Sterling Labs.

    The playbook is simple: build something offline-first, price it fairly, and let the product speak for itself.

    Want this built for you?

    Sterling Labs builds automation systems like the ones described in this post. Tell us what you need.