Helm: Cross-Platform Client Portal App
A bilingual (EN/PT) invoicing and client-management app for self-employed clients of an accounting practice, live on the App Store and Google Play from a single codebase.
Good afternoon
Maple & Co.
Invoiced this month
€2,230
Outstanding
€1,280
Recent invoices
Riverside Wellness Clinic
€640.00
Kelly Civil Engineering
€1,280.00
Harte & Sons Joinery
€310.00
Illustrative interface with fictitious sample data, shown in place of confidential client screens.
The problem
Many of the practice's clients are self-employed sole traders who needed a simple way to raise invoices, track who owed them money, and keep on top of tax deadlines, without learning a full accounting package or calling the practice for every small task.
What I built
A single Next.js PWA wrapped with Capacitor for native iOS and Android distribution, so one deploy serves the web app and both app-store builds. Inside: invoice creation and history, client and balance tracking, a tax calendar surfacing upcoming deadlines, and document upload (receipts, statements, letters) straight to the practice. Sign-in is passwordless (email-link based) and the whole interface is bilingual, English and Portuguese, reflecting the client base.
Subscriptions run through Stripe, and native push notifications go out via Apple Push Notification service directly rather than Firebase/FCM, keeping the notification path fully within Apple's stack for iOS. I owned the app end to end, including the App Store and Google Play submissions: navigating review feedback (screenshot and onboarding-flow requirements), TestFlight distribution and the release process through to approval.
Impact
Clients can raise an invoice, check who still owes them, and upload a document from their phone in under a minute, work that used to mean a spreadsheet, an email, or a phone call to the practice.