Case Study
TaxFriend ERP Ecosystem
Tax Operations Platform
Built a full-stack ecosystem for tax workflows with a dedicated mobile suite, appointment scheduling, and real-time advisor communication serving Sri Lankan businesses.
Next.js 15.NET 8Expo SDK 54React NativePostgreSQLSignalRRedux SagaPayHere
Role
Full-stack engineer across web (Next.js 15), API (.NET 8), and mobile (Expo SDK 54) delivery.
Business Problem
Tax advisors needed a unified platform where clients could browse tax categories, book appointments (in-person or virtual), make payments, and communicate in real-time — while the back-office team managed 25+ operational modules. The mobile app needed to work in Sinhala, Tamil, and English with offline-capable auth.
Key Decisions
- Split API into v1 (full ERP for web) and v2 (subset for mobile) to avoid bloating the mobile client with unused endpoints.
- Used Redux Saga in the mobile app for complex async flows (appointment booking → payment → confirmation) while keeping the web app on simpler React Context + TanStack Query.
- Implemented SignalR for real-time appointment workflow updates rather than polling, reducing server load and improving UX.
- Chose PayHere SDK for mobile payments (Sri Lankan market) with server-side reconciliation via background jobs.
Architecture
- Built Next.js 15 web interfaces (25+ dashboard modules) and Expo SDK 54 mobile flows with a shared API contract.
- Implemented appointment scheduling with time-slot management, escalation background jobs, and real-time SignalR updates.
- Integrated PayHere payment workflows with server-side reconciliation and receipt generation.
- Built i18n support across 3 languages (English, Sinhala, Tamil) with RTL-aware layouts.
Architecture Diagram
Outcomes
- Unified multiple customer tax tasks in one coherent platform experience across web and mobile.
- Reduced coordination friction through integrated scheduling and live communication channels.
- Enabled trilingual access for Sri Lankan market with proper Sinhala/Tamil font rendering in PDFs.
Measurable Impact
- 3 client applications (Next.js web, .NET API, Expo mobile) sharing one backend
- 25+ dashboard modules in the web back-office
- 12 Redux slices in the mobile app managing complex async workflows
- 5 background services (email, push, appointment escalation, payment reconciliation, system validation)
- 37 API service modules in the backend