Case study · Cross-industry
Custom Business Applications
Internal systems built around a specific workflow.
- Category
- Custom software
- Industry
- Cross-industry
- Platforms
- Web application · Mobile app where field work is involved
- Technology
- Laravel / ASP.NET Core · MySQL
01 · Project overview
What was built, and for whom.
Not every business problem fits a product. Many of CodeWave's engagements are custom applications built around one specific workflow — a requisition process, a field inspection, a membership register, a service desk. This engagement type describes how those systems are built.
- Built for
- SMEs and institutions replacing spreadsheets and manual processes
- Type
- Representative engagement
- Platforms
- Web application, Mobile app where field work is involved
- Focus
- web mobile erp
02 · Business challenge
The problem, as the business experienced it.
A process that mattered — approvals, requests, field data, records — ran on spreadsheets, paper and chat, with no audit trail, no reporting and no way to see where things were stuck.
The process usually works — until it has to scale, be audited or be handed to someone new. Then the spreadsheet, the WhatsApp group and the paper form become the problem.
- Requests and approvals passed around by email and chat
- Field data collected on paper and re-typed later
- No audit trail of who approved what, when
- Reporting that meant rebuilding the data by hand
03 · Our approach
How we got from the problem to the system.
Purpose-built applications with role-based screens, approval workflows, document generation, notifications and reporting, integrated with the systems already in use.
-
01
Understand
We map the workflow with the people who run it — every role, hand-off, exception and report.
-
02
Architect
A data model and permission model that reflect the real process, designed to extend as the business changes.
-
03
Design
Role-specific screens: the approver sees a queue, the field officer sees a form, management sees a dashboard.
-
04
Build
Delivered in reviewable increments, with automated tests and demos every step of the way.
-
05
Integrate
Connected to the systems already in use — accounting, SMS, email, M-Pesa or an existing database.
-
06
Deploy & support
Deployed, documented and handed over with source code, then supported under a clear agreement.
04 · Solution architecture
Layers of the system.
Clients at the top, the core application in the middle, integrations and data underneath. Green marks the integration layer where the system meets the outside world.
Clients
- Web application
- Mobile app (field work)
Application
- Workflow & approvals
- Role-based screens
- Document generation
- Notifications
- Reporting & audit trail
Integrations
- Accounting
- SMS & email
- M-Pesa
- Existing databases
Data & infrastructure
- MySQL / SQL Server
- Queues & scheduled jobs
- Monitoring & backups
05 · Key features
What the system does.
Approval workflows
Requests move through defined stages with the right people notified.
Role-based screens
Each role gets the screens it needs and nothing else.
Document generation
Letters, forms, invoices and reports generated from system data.
Field data capture
Mobile forms with photos and location, syncing when connectivity allows.
Notifications
SMS and email at the moments that matter.
Reporting & audit trail
Every action recorded; every report available without rebuilding data.
06 · Technology
The stack behind it.
Chosen for the job — mature, supportable and straightforward to host and staff for in Kenya.
- Backend
- PHP Laravel ASP.NET Core
- Frontend
- Vue Blazor Tailwind CSS
- Data
- MySQL SQL Server
- Integrations
- REST APIs SMS M-Pesa
07 · Business impact
What changed for the business.
Outcomes are described qualitatively. Figures are published only when verified by the client and approved for release.
-
01
Reduced manual processes and re-keying
-
02
A full audit trail of requests, approvals and changes
-
03
Field data captured once, at source
-
04
Reporting available on demand from live data
08 · Screens
Interface illustration.
A representative illustration of the interface, not a live screenshot — no client data is shown.
Approval queue
New requestAwaiting
This week
Audit trail
Similar problem?
Have a process that looks like this one?
Tell us how it runs today. We will tell you what a system built for your operation would involve.