Live-operation product
SubTrack BH
An Android app I use every day to run a 37-subscriber internet business: payments, expiry dates and router access in one place.
- Role
- Founder & Lead Developer
- Status
- Live · in daily operation
- Year
- 2026
- Stack
- Kotlin · Jetpack Compose · Room · Firebase · WorkManager · MikroTik RouterOS API · Payment webhooks
01 · Context
The problem
Subscriber names, packages, payments, expiry dates, balances and reconnections become unreliable when managed through memory, messages or separate records.
The response
SubTrack BH runs Leo’s live Starlink service end to end for 37 paying subscribers: a subscriber signs up, pays, and the platform verifies the payment and provisions or suspends network access on the router automatically. Room is the local source of truth, with Firebase services for accounts and messaging.
02 · Contribution
What I built
- 01
Modelled subscribers, rooms, plans, devices, payments, expenses, reminders and subscription windows.
- 02
Separated administration, subscriber, core, backend and Firebase concerns across project modules.
- 03
Added accounting, reconciliation, reporting, backup and PDF utilities.
- 04
Wired payment verification to router automation, so a confirmed subscription maps to real MikroTik bandwidth limits without manual work.
- 05
Designed the product around the actual workflow of operating the service.
03 · What it does
What it does
today.
04 · Engineering
Hard parts,
clear decisions.
Consistent account state
Payments, package duration, balances, expiry and reconnection rules must agree across screens instead of relying on a manually edited status label.
Admin/subscriber boundaries
The subscriber app must expose only account-safe, read-oriented functions while financial writes and business controls remain in the admin app.
Offline-first financial records
Local operation is essential during connectivity problems, while future synchronisation must avoid duplicate or conflicting financial records.
05 · Reflection
What I learned
Planned or still in development
- Complete subscriber invoices and payment history
- Expanded closing, reconciliation and asset-management interfaces
Where it stands
SubTrack runs my internet service today, with 37 paying subscribers. Payments are verified in the app, and network access is provisioned or suspended automatically.
The code