Kampala · Uganda · Custom Engineering

Software development company in Kampala

Midway is an engineering team based in Kampala. We build custom business software to order — web platforms, Android and iOS apps, bespoke ERP and point-of-sale systems, and the integrations that connect them to URA EFRIS, QuickBooks, banks and mobile money. We then deploy it, migrate your data, train your staff and keep it running.

Nearly everything we are asked for is one of two problems: a business that has outgrown its spreadsheets, or a business whose systems refuse to talk to each other. Both are solvable, and in both cases you keep the source code at the end.

Capabilities

What we build

Web & cloud platforms

Customer portals, staff dashboards and internal tools that replace the spreadsheet, the WhatsApp group and the paper file at once. Deployed to your own server or to ours.

  • Multi-tenant and multi-branch architecture
  • Role-based permissions with a full audit trail
  • Live reporting, with Excel and PDF export
  • Works on a phone browser as well as a desktop

Mobile applications

Android and iOS apps for teams that work away from a desk — sales agents, drivers, field officers, cashiers — including the ones who lose signal halfway through the day.

  • Offline-first, syncing automatically once back online
  • Mobile money and card payment flows
  • Bluetooth receipt and label printing
  • Published to Play Store and App Store, or distributed privately

ERP, POS & accounting systems

Bespoke business systems modelled on how your organisation actually runs, rather than on how an off-the-shelf package assumes it should.

  • Double-entry ledgers and a real chart of accounts
  • Inventory, batch tracking, manufacturing and BOM planning
  • Payroll, procurement and accounts-receivable ageing
  • URA EFRIS fiscalisation built in from the start

API & system integration

Making the software you already own talk to the software you have just bought — or to URA. Most businesses do not need a new system so much as two existing ones that agree with each other.

  • URA EFRIS, QuickBooks, Tally, Sage, Odoo and Zoho connectors
  • Mobile money, bank feed and bulk SMS gateways
  • Legacy data migration, de-duplication and clean-up
  • Documented REST APIs so your next vendor is not stuck
Engagement

How a project runs

01

Scope and a fixed quote

We sit with the people who will actually use the system, map the workflow as it really happens, and return a written scope with a fixed price and a delivery date. No open-ended hourly billing.

02

Build in reviewable stages

You get a working environment early and review each milestone in it. Corrections land while they are still cheap, instead of arriving as a surprise at handover.

03

Deploy, migrate and train

We install on your infrastructure or ours, migrate and reconcile your existing data, and train the staff who will use the system daily — not only the manager who signed for it.

04

Maintain and extend

Security patching, backups, monitoring and new modules as the business grows. The source code is yours throughout, so you are never locked to us.

Evidence

Systems we have built

These are not products we license from someone else and resell. Each one was designed and written by this team, is in production today, and is maintained by the same engineers who would take on your project.

Built with

TypeScript, Next.js and React on the web, React Native for mobile, Node and Python/FastAPI on the server, MySQL and PostgreSQL for data. Everything is containerised with Docker and served behind Caddy, which is why the same build runs unchanged on our infrastructure, on your cloud account, or on a machine in your own office.

We choose boring, well-supported tools on purpose. Software you depend on should still be maintainable in five years by someone who is not us.

Who we build for

Retail & wholesaleSchools & academic institutionsLogistics, hire & rentalsManufacturing & distributionProfessional servicesNGOs & donor programmes

Most of our work is for Ugandan organisations between roughly ten and several hundred staff — large enough that manual process has started to cost real money, small enough that an international enterprise package would be absurd.

Questions & Answers

Software development in Uganda: common questions

How much does custom software cost in Uganda?
It depends entirely on scope, so we do not publish a price list that would be wrong for your case. What we do commit to is the shape of the answer: after a scoping session you get a written scope and a fixed quote against it, so the number is known before any code is written. A single internal tool and a multi-branch ERP are different orders of magnitude, and pretending otherwise helps nobody.
Do we own the source code?
Yes. On custom development engagements the source code we write for you is yours, handed over at delivery. You are free to host it elsewhere or have another team continue it. We would rather keep your business by being useful than by holding your code.
How long does a project take?
A focused internal tool is usually a few weeks. A full ERP or POS rollout with data migration and staff training runs to a few months. Because we build in reviewable stages, you are seeing and using working software long before the final milestone rather than waiting in the dark.
Can you connect our existing system to URA EFRIS?
Yes, and it is among the things we do most often. We have built EFRIS integrations for QuickBooks, Tally, Sage, Odoo and Zoho Books, plus a gateway API for teams integrating their own custom system. If your accounting package is not on that list the integration is usually still possible — the EFRIS half is the same everywhere, and only the extraction half changes.
Do you build apps that work without internet?
Yes. Offline-first is the default for anything used in the field or on a shop floor in Uganda, not an upgrade. The app keeps its own local database, carries on working through an outage, and reconciles with the server once a connection returns.
Do you maintain the system after delivery?
Yes, under a maintenance agreement covering security patching, backups, monitoring and new modules as requirements change. It is optional and the handover is complete without it, but most clients keep it — the alternative is discovering a failed backup at the worst possible moment.
Can you host it, or do we have to?
Either. We run managed hosting on our own infrastructure, we can deploy into a cloud account you own, or we can install on a server in your office when the data has to stay on the premises. The application is containerised, so the same build runs in all three.

Tell us what is not working

Bring the process that is costing you time — the reconciliation nobody wants to do, the report that takes three days, the two systems somebody re-types between. The first conversation is a scoping session rather than a sales call, and you leave it with a written scope and a fixed price whether or not you go ahead with us.