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 connects iOS and Android apps with a web management dashboard for landlords and property managers. It handles properties, leases, rent invoicing, M-Pesa collections, partial payments, automatic reconciliation, receipts, credits and reporting.
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.