Urgent.News

What's breaking now, across thousands of outlets.

Tech

Building Billinox, an Offline-First Invoicing App for Small Businesses

Discover the story behind Billinox, an offline-first invoicing app built for small businesses, and the lessons learned building, shipping, and scaling it.

Building Billinox, an Offline-First Invoicing App for Small Businesses

Starting a small business can be a daunting task, as owners must manage customers, invoices, payments, expenses, and more. One of the issues a reporter faced was that many small business owners use notebooks, spreadsheets, messaging apps, and scattered files to track who owes them money. This prompted the creation of the offline-first invoicing app, Billinox.

Billinox was designed for small businesses and independent professionals who don't require complex accounting software. The app allows users to create professional invoices, send them to customers, record payments, track outstanding balances, and keep business records safe. It was built with Flutter and uses Drift and SQLite for local storage, ensuring the app works offline and is faster for users with poor connectivity.

To provide backup and multi-device recovery, Billinox uses Google Drive's application data storage. Operations are queued and uploaded to the user's Google Drive, allowing for retryable uploads, conflict resolution, tombstones for deleted records, and incremental synchronization. This approach keeps the core application local while still giving users a way to protect their data.

While a centralized backend could simplify some aspects, Billinox opted for a client-focused architecture, utilizing the device's capabilities to handle most of the application's workload. The app's data model and business logic are designed to handle invoicing complexities, such as multiple invoices, partial payments, overdue invoices, and different currencies. This approach emphasizes the importance of the underlying data model and business logic alongside the user interface.

Building Billinox has taught the reporter that product development involves making decisions about whether to build a feature and whether it will be valuable to users. Sometimes, removing complexity is a better product decision than adding more functionality. The reporter is bringing Billinox to the RevenueCat Shipathon to test the product and address real-world challenges like user acquisition, onboarding, pricing, store listing optimization, and listening to feedback.

Written by urgent.news from HackerNoon's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at hackernoon.com →

More in Tech

More from Wednesday 2 September →