Service · Pillar 8
Custom Web Application Development in Kenya
Custom web application development is the building of software with logins, workflows, and databases beyond a CMS. Haryes Web Developers builds custom web applications in Kenya (client portals, booking systems, internal dashboards, and M-Pesa collection and disbursement platforms) scoped to ship a focused first version that earns before it grows.
Haryes Web Developers builds custom web applications in Kenya, software with logins, workflows, and databases beyond what a CMS provides. Typical projects are client portals, booking systems, internal dashboards, and platforms that move money over M-Pesa. This page covers what custom web application development includes, how we scope and build, build versus buy, pricing, and who the service is not for.
What does custom web application development include?
A custom web application is built for a specific business process that off-the-shelf software does not fit. A Haryes engagement typically covers:
- Discovery and scoping: mapping the process, the roles, and the data, and cutting the first version down to what must ship to earn
- Architecture: data model, authentication, hosting, and how the system integrates with what you already run
- Build: the application itself, with role-based access and an audit log
- M-Pesa and integrations: collection, disbursement, and reconciliation over the Daraja API, covered on our API integration and M-Pesa platforms page
- Testing: automated tests on the paths that handle money or sensitive data
- Deployment and handover: documentation, a training session, and the code in a repository you own
Common builds include client portals, booking systems, and internal dashboards that replace spreadsheets.
Custom build vs off-the-shelf software
Custom software is the right choice less often than people think. This is the decision we work through before recommending a build.
| Factor | Custom build | Off-the-shelf SaaS |
|---|---|---|
| Fit to your process | Exact | Approximate, you adapt to it |
| Upfront cost | High | Low |
| Ongoing cost | Hosting + maintenance | Per-user subscription, forever |
| Time to live | 8 weeks+ | Days |
| Ownership and data | Yours | The vendor’s platform |
| Best when | The process is your advantage, or no tool fits | A standard tool covers 80%+ of the need |
If a standard tool covers most of what you need, we will tell you to use it. We build custom when the process is a competitive advantage, when integration and reconciliation matter, or when no tool fits the Kenyan context, particularly anything involving M-Pesa at scale.
How Haryes approaches a custom application build
Scope the first version narrowly
We define the smallest version that delivers real value and can go live, and defer everything else. A first version that ships and earns beats a complete system that never launches.
Design the data and the flows
We model the data, the roles, and the permissions, and design the key screens with UI/UX design before building.
Build in increments
We build in two-week increments you can review on a staging environment, with automated tests on the money and data paths and an audit log from day one.
Deploy, document, hand over
We deploy to infrastructure you control, document how it runs, train your team, and agree a support arrangement for after launch.
Building M-Pesa platforms safely
Moving money at scale over the Daraja API is where custom builds most often go wrong. We build for the failure cases from the start: idempotent requests, verified callbacks, automatic transaction-status reconciliation, and a complete audit log of every request and response. The same discipline applies to handling personal data under the Kenya Data Protection Act.
How we scope a first version, and why narrow wins
The most common way a custom build fails is scope: a system designed to do everything, that takes a year, costs triple the estimate, and never quite launches. We scope against a different question, what is the smallest version that delivers real value and can go live?
- We list every feature anyone has asked for, then sort them into “version one” and “later”
- Version one covers one complete workflow end to end for the people who need it most
- Everything else is documented and deferred, not cut, just sequenced
- You get a fixed price and timeline for version one, and a rough roadmap for what comes after
A first version that ships in 8 to 12 weeks and starts earning beats a complete system that is still in development a year later.
Security and compliance for applications that handle money or data
If an application moves money over M-Pesa or stores personal data, the engineering standard is higher and non-negotiable.
- Money paths: idempotent requests so a retry never double-charges, verified Daraja API callbacks, an automatic transaction-status query to reconcile anything a callback missed, and a complete audit log of every request and response
- Personal data: consent and purpose captured at collection, data minimisation, encryption in transit and at rest, and retention limits, in line with the Kenya Data Protection Act
- Access: role-based permissions, enforced server-side, with every sensitive action logged against a user
- Testing: automated tests on the money and data paths that run on every change
What ongoing ownership looks like
Custom software is not finished at launch, it needs hosting, monitoring, security patching, and future changes. We deploy to infrastructure in your own accounts, document how it runs, and agree a support arrangement: either a monthly retainer covering maintenance and a block of development time, or an on-call basis for fixes with new features quoted per project. You always hold the code and can move it to another team.
What does a custom web application cost in Kenya?
A custom web application in Kenya costs from KES 150,000 in 2026. A focused internal tool or booking system sits at the lower end; a multi-role platform with payments, integrations, and reporting sits at the upper end. See the custom web application cost breakdown.
How a custom build is paid for and delivered in stages
A system is too large to buy in one decision, so we break it into stages that each end in something usable. Discovery produces a written specification you own and can take to another developer if you choose. The first build delivers the workflow that hurts most, in production, with real users on it. Later phases are quoted separately once that version has been used for a few weeks.
Payment follows the same shape: discovery is paid for on its own, the build is staged against agreed milestones rather than a single sum at the start, and nothing large is committed before the scope is written down. It means a project can be paused between phases without leaving a half-built system nobody can use, and it means the business is never asked to spend six figures on a description.
It also protects against the classic failure of custom software in this market: an eighteen-month build against a specification written before anyone had used anything, delivered to a business whose process changed nine months in.
Choosing the technology, and why it matters less than you think
Clients often arrive asking whether we will build in Laravel, Node or Next.js, usually because a previous developer had a preference. The honest answer is that for the great majority of Kenyan business applications the choice of framework is not what determines success. Clear requirements, a sensible data model and someone maintaining it afterwards matter far more.
What we do weigh is practical: whether the stack can be maintained by other developers in this market if we are hit by a bus, whether hosting for it is affordable locally, whether it handles the integrations the project needs, and whether it will still be supported in five years. A system built on something exotic is a system you cannot get help with later, and that is a business risk rather than a technical one.
Intermittent connectivity and the realities of the field
Many Kenyan applications are used away from a desk: a field officer recording visits upcountry, a driver confirming a delivery, an agent registering a member at a roadside kiosk. If the system assumes a stable connection, those users will fall back to paper and type it in later, which reintroduces exactly the errors the system was built to remove.
Designing for that means forms that survive a dropped connection, submissions that retry rather than vanish, interfaces light enough to load on a weak signal, and clear feedback about what has and has not been saved. Where the work genuinely happens offline, we scope local storage and synchronisation deliberately, because retrofitting it onto a system that assumed connectivity is close to a rewrite.
Turning “we need a system” into something buildable
Almost every custom application starts as a sentence: we need a portal, we need to stop using spreadsheets, we need to know where our stock is. The work of discovery is turning that into a specific description of who does what, in what order, and what the system has to produce at the end.
We do it by following the real process rather than the described one. Who receives a request today, what they write down, which file they open, who they forward it to, where it stalls, and what happens when someone is away. That walk-through usually reveals that the painful part is not where the business assumed, and that two of the five features on the original list are solving problems that will disappear once the first two are fixed.
The output is a written specification: the roles, the workflows, the data the system stores, the rules it enforces, what it integrates with, and an explicit list of what version one will not do. That document is what gets priced, and it is what protects both sides when someone remembers a new requirement in week six.
Data, integrations and the systems you already run
A new application almost never lives alone. There is usually accounting software, a payments provider, an existing website, a stock system, or at minimum several years of spreadsheets that have to be carried over. How that data is modelled at the start determines what the system can do in year three.
We map the entities before writing code: what a customer is, what an order or a case or a member is, how they relate, and which fields are genuinely required. Then we plan the integrations honestly. Some systems offer a proper API. Some offer a file export on a schedule. Some offer nothing, and the practical answer is a structured import that somebody runs weekly, which is not elegant but is far cheaper than pretending otherwise.
Migrating existing records is a project of its own and we scope it as one: cleaning, de-duplicating, deciding what not to bring, and running the import twice, once as a rehearsal and once for real.
Roles, permissions and the audit trail
The moment a system has more than one user, it needs to answer who may see what, who may change what, and who did change what. In most Kenyan organisations this matters more than any feature, because the system becomes the record when there is a dispute about an approval, a discount, a payment or a deletion.
Roles built around real jobs
Who submits, who approves, who can see financial figures, who may export data, and what a supervisor sees that a clerk does not.
An audit trail on sensitive actions
Approvals, discounts, payments and deletions recorded with the user and the time, because the system becomes the record in a dispute.
Deletions that can be undone
Destructive actions are soft deletes with a recovery path rather than permanent removals a single click away.
Accounts that survive staff changes
Individual logins rather than shared ones, so removing a leaver takes two minutes instead of a new password for everybody.
Access has to survive staff changes too, so accounts are individual rather than shared, and removing a leaver is a two-minute task instead of a password everybody now has to be told about.
Environments, deployment and what running it costs
A custom application is not a one-off purchase; it is something you now operate. That means at least two environments, a staging copy where changes are tested and the production system people depend on, with releases moving in one direction after a check rather than edits made live.
It also means running costs: hosting sized to real usage, a database with automated and tested backups, monitoring that tells us when something fails before a user reports it, certificate renewals, and third-party services the system depends on. We put a monthly figure on all of it during scoping, because a business that budgets only for the build is surprised twice, once by the running cost and once by the support it turns out to need.
Support itself is scoped rather than assumed: what is covered, how quickly we respond to a system that is down as opposed to a cosmetic bug, and how new features are requested and priced once the thing is live.
Security and the duties that come with holding data
An application holding customer or member records carries obligations under the Kenya Data Protection Act, and practical risk beyond compliance. We build to a baseline rather than treating security as a later phase: encrypted transport everywhere, hashed passwords, session timeouts, lockout after repeated failed logins, server-side validation of everything, protection against the standard injection and cross-site attacks, and file uploads that are checked rather than trusted.
On the data side that means collecting only what the process needs, restricting access by role, keeping an audit trail, setting retention periods, and being able to export or delete a person’s record on request. Where the system takes payments, card details never touch your servers and M-Pesa callbacks are verified rather than accepted at face value.
Adoption: the part that decides whether it was worth building
The most common failure of internal systems in Kenya is not technical. The software works and the team keeps using the spreadsheet, because the old way is faster for the person doing it even if it is worse for the organisation. A system nobody uses is a total loss regardless of how well it is built.
We plan for that from the start: involving the people who will actually use it during discovery, making the first version genuinely faster than what it replaces for at least one daily task, training in the organisation’s own words with a recording kept for new staff, and agreeing a cut-over date after which the old method stops rather than running both indefinitely.
Then we watch the first month. Which screens are used, where people stop halfway, what they still do outside the system. That is where the second release comes from, and it is a far better guide than the feature list anyone wrote before launch.
Who custom web application development at Haryes isn’t for
- Businesses where a standard SaaS tool would do. We will say so and save you the budget.
- Projects with no internal owner. Custom software needs someone on your side to make decisions and eventually own it.
- Anyone wanting a fixed price for an undefined scope. We fix the price for the scoped first version, not for an open-ended wishlist.
- Marketing websites and online stores. Those are web design and development and e-commerce development.
How to get started
Describe the process you want to systemise, who uses it, and what breaks today. You get back a build-versus-buy recommendation and, if a build makes sense, a scoped first-version proposal within five working days.
Request an Application Roadmap →Describe Your Project on WhatsApp
What a first version includes
Four things, before anyone talks about phase two. See application pricing.
A written specification you own
Roles, workflows, data and the explicit list of what version one will not do.
Yours, even if you stop here- The real process walked through, not the described one
- Integrations assessed honestly, including where there is no API
- A fixed price built on the specification, not on a conversation
The workflow that hurts most, in production
Narrow, finished and used by real people.
Weeks, not eighteen months- One workflow end to end rather than five half-built
- Roles and permissions that match real jobs
- An audit trail on approvals, payments and deletions
Environments and recovery
Staging, production, backups and monitoring from day one.
Running costs quoted up front- Changes tested on staging before release
- Automated database backups, tested by restoring them
- Alerts when something fails, before a user reports it
Training, and a team that uses it
Adoption planned rather than hoped for.
In your own words, recorded- The people who will use it involved during discovery
- A cut-over date after which the old method stops
- The first month watched, and the second release shaped by it
Replacing spreadsheets, or building a product?
Internal tools and customer-facing platforms are scoped differently.
Your team runs the business on spreadsheets, WhatsApp and memory.
We start with the workflow that costs the most time, put it in production, and extend from there.
Scope an internal toolYou need a portal, a booking engine or a member area with real users on it.
Discovery comes first, then a first version with payments and roles. Where it sits beside a store, that is e-commerce development.
Discuss a platform buildThe failure mode for custom software here is not bad code. It is a system nobody uses because the spreadsheet was still faster for the person doing the work.
Explore each part of the service
This overview summarises each specialism. Follow a link for the full detail, the overview never tries to replace the specialist page.
- Client portal developmentA client portal gives your customers a secure logged-in area to view documents, statements and requests and to make payments.
- Booking system developmentA custom booking system manages availability, takes reservations and collects deposits over M-Pesa, without the per-booking fees of hosted platforms.
- Business dashboards and internal toolsBusiness dashboards and internal tools replace the spreadsheets and manual processes a growing Kenyan business outgrows.
- API integration and M-Pesa platformsAPI integration connects your systems to each other and to external services; M-Pesa platforms move money at scale over the Daraja API.
Where to go next
Match the deliverable to the right service, or see this service in your city.
Common questions
What is a custom web application?
Software built for a specific business process, with logins, workflows, and a database beyond what a CMS offers. Common examples are client portals, booking systems, internal dashboards, and M-Pesa collection or disbursement platforms.
How much does a custom web application cost in Kenya?
From KES 150,000 in 2026. A focused internal tool or booking system sits at the lower end; a multi-role platform with payments, integrations, and reporting sits at the upper end.
Should I build custom software or use an off-the-shelf tool?
If a standard SaaS tool covers most of your need, use it, and we will say so. Build custom when the process is a competitive advantage, when integration and reconciliation matter, or when no tool fits the Kenyan context, especially anything involving M-Pesa at scale.
How long does a custom build take?
It depends on scope. We scope the smallest first version that delivers value and can go live, usually eight to twelve weeks, then build in two-week increments you review on staging.
Can you integrate M-Pesa for payments or payouts?
Yes. We build collection, disbursement, and reconciliation on the Safaricom Daraja API with idempotent requests, verified callbacks, automatic transaction-status reconciliation, and a full audit log.
Do I own the code?
Yes. The code is delivered in a repository registered to your business and deployed to infrastructure you control.
Can you take over a custom application another developer built?
Generally yes, after a paid code and architecture review to assess the state it is in, provided it uses a mainstream stack and we can get full access to the code, hosting, and any third-party accounts. If the review finds it is unsafe to build on, we will say so.
What happens after launch?
We document how the system runs, train your team, and agree a support arrangement (either a retainer or an on-call basis) for fixes and future increments.
Scope my web app.
Portals, booking systems, dashboards and M-Pesa platforms, scoped to ship a first version that earns.
Prefer to talk now?
Message us on WhatsApp or call. We reply within one working day.
No obligation. Fixed scope and price before any work starts.
