I prefer the backend to remain the central source of identity and authorization truth. On mobile, sensitive tokens belong in secure storage while non-sensitive state can use ordinary local persistence. For higher-risk products, I design around permissions, isolation, verification, auditability, and explicit revocation rather than trusting the client.
What this looks like in practice
Google/Apple authentication, secure token storage, biometrics, and account-lifecycle controls in mobile apps.
Facility- and role-scoped clinical access in CliviQue HMIS.
Financial-account verification, KYC/KYB-oriented onboarding, and payment controls in RentPayor workflows.
Idempotency, callback verification, and explicit authorization boundaries around payment state.
Each project below links to a deeper case study covering product scope, engineering ownership, supporting systems, and production evidence.
SaaS · Case study
JournPad: Voice Journal
Voice-first journaling app that preserves the original recording, transcribes spoken entries, and uses AI to generate useful titles, summaries, and categories. Entries can be searched and revisited by date, linked to goals, supported by reminders and prompts, and protected with account, deletion, and optional biometric controls.
Rent collection and reconciliation software for landlords and property managers. RentPayor creates rent invoices, lets tenants pay KES rent through an invoice-linked M-Pesa flow, automatically reconciles confirmed payments, and keeps partial balances, carried-forward credits, receipts, leases, units, tenants, and manual payment records in one rent ledger.
Mobile wardrobe-management and outfit-recommendation product. Users create wardrobes, upload clothing photos for AI-assisted category, tag, and description analysis, and generate one-time, daily, or weekly outfit suggestions that can use precise local weather; recommendation history is stored locally in SQLite and designed to sync with the cloud.