Building Software That Works For You

I build tools using four core principles: offline-first architecture, self-hosted systems, software-for-one philosophy, and working towards local-first development. These approaches prioritise ownership, privacy, and independence – giving people control over their tools and data.

The 4 Development Pillars

Offline-First

Software designed to function completely without internet connectivity. Your data stays on your device, the app works reliably offline, and you're never dependent on servers or cloud services to get work done.

Self-Hosted

Running software on your own infrastructure, whether that's your VPS, home server, or local machine. You control updates, data storage, and how long the software remains available – no platform lock-in.

Software-for-One

Building tools for yourself first, solving your own problems without guessing what "users" might want. This focused approach creates highly effective software that works exactly as intended – if it helps others too, that's a bonus.

Local-First

Software where data lives on your device first, with optional cloud sync on your terms. This is the direction I'm working towards – combining offline capability with seamless multi-device access while maintaining full user control.

Frequently Asked Questions

What's the difference between offline-first and local-first?

Offline-first means the software works completely without internet – everything stays on your device with no syncing capability. Local-first also keeps data on your device primarily, but adds optional syncing between your own devices on your terms. Think of offline-first as "works without internet" and local-first as "works without internet, plus you control how it syncs."

Why build software-for-one instead of for a market?

Building for yourself eliminates guesswork and creates focused, effective tools that solve real problems. There's no pressure to add unnecessary features or compromise on core functionality. If the tool works perfectly for you, chances are it'll work well for others with similar needs – but that's secondary to creating something genuinely useful. This approach avoids the bloat and complexity that comes from trying to please everyone.

Can self-hosted tools still be used by non-technical people?

Yes. While self-hosting requires some technical setup initially, once configured, the tools themselves can be designed for anyone to use. Many creators and small business owners successfully run self-hosted systems on affordable VPS hosting with minimal technical knowledge. The key is providing clear documentation and focusing on tools that don't require constant maintenance once they're running.

Why choose offline-first over cloud-based software?

Offline-first tools offer privacy, ownership, and independence from subscriptions and platform changes. Your data never leaves your device, you're not dependent on company servers staying online, and there's no recurring cost to keep using the software you've purchased. For personal productivity, financial tracking, and business tools, most people don't actually need cloud connectivity – they need reliability and control.

How do these approaches work together?

These four principles complement each other. Software-for-one determines what gets built and why. Offline-first ensures it works without internet dependency. Self-hosted gives you infrastructure control. Local-first adds optional device syncing while maintaining ownership. Together, they create tools that prioritise user autonomy, privacy, and long-term stability over vendor lock-in and recurring revenue models.

Are these approaches suitable for all types of software?

Not everything needs to be offline-first or local-first. Large-scale collaboration tools, real-time multiplayer applications, and services requiring heavy computation may benefit from cloud-first designs. However, personal productivity tools, financial organisers, journaling apps, small business software, and creative tools are perfect candidates. Most everyday software would benefit from giving users more control and reducing unnecessary cloud dependency.

Projects Built With These Principles