Dan Agaba

Full-Stack Software Engineer — Laravel / PHP

I build production systems end to end and run them — backend, interfaces, Android apps, and the Linux servers underneath. Fifteen years, an MSc in Software Engineering, and six platforms live right now. Every one of them is below, and you can open them.

Kampala, Uganda · UTC+3 Remote, full-time or contract primarch.work

Selected work

Control room dashboard showing live activity across multiple estates

Estate & Office Security Operations

live demo

A multi-tenant platform for guard companies and property managers. Guards work from an Android app — logging visitors at the gate, scanning QR checkpoints on patrol, raising panic alarms and filing incident reports. Supervisors watch a live control room across every site. Residents get visitor passes and a door buzzer that reaches them on WhatsApp or SMS.

The hard part was patrol verification: proving a guard physically walked the route. QR checkpoints are placed on uploaded floor plans and drawn back floor by floor with a coverage summary. 41 database tables, 207 automated tests, two Android apps, and a 14-phase deployment runbook.

Patrol round plotted on an uploaded floor plan Gate visitor log Incident case list
Laravel 13FilamentLivewireMySQL Ionic / CapacitorAndroidLeafletSanctum Multi-tenancy
Open it — one-click demo logins →
Drag-and-drop voucher designer with layout presets and a live canvas

Gift Card & Voucher Platform

live

Lets any merchant run their own gift-card programme. They design the voucher in a drag-and-drop canvas editor — layout presets, snap guides, shapes, gradients, QR placement, undo/redo — then sell through a public storefront and redeem by scanner.

Each merchant connects their own payment gateway, so funds settle directly to them and no float sits with the platform. Merchant and company approval workflows, profile-change approval as an anti-fraud control, subscription billing, multi-currency. 48 tables, 95 automated tests.

Laravel 13LivewireAlpine.jsFabric.js MySQLPayment gatewaysMobile moneyQR
Open it →
GatePass event ticketing landing page

Event Ticketing with Mobile Money Auto-Verification

live

Built for a market that pays by mobile money rather than card. Organisers were matching MTN and Airtel payment messages against ticket orders by hand, one at a time. This verifies them automatically and issues the ticket with nobody touching it.

Multi-organiser tenancy, custom registration fields, discount coupons, subscription and per-event billing, and a companion Android scanner app working against a token-authenticated API at the gate.

Laravel 13FilamentSanctumMySQL Ionic / CapacitorMobile money APIsQR scanning
Open it →
Table for Six landing page in a dark theme

Table for Six — Real-Time Social Dining

live

Six strangers who share an interest sit at one table for sixty minutes. Interest-matched seating, a verification step before a seat is confirmed, conversation deleted at table close, and a double-blind “sit together again” vote neither side sees unless both agree.

Real-time messaging over WebSockets with Laravel Reverb, timezone-aware scheduling across East African and European hours, a companion Android app, and a dark theme designed from scratch. 238 automated tests.

Upcoming tables listing
Laravel 13LivewireLaravel ReverbWebSockets Queue workersMySQLTailwind CSSAndroid
Open it →

AI Interior Visualisation

live

Sold to interior design studios. A client photographs a real room; the platform repaints walls, swaps flooring or furniture for products from a real catalogue, or restyles the whole space from a sentence of description — then turns the result into a costed, shoppable bill of materials. Panoramas and short AI video walkthroughs included.

The AI layer sits behind a driver abstraction, so providers and models are configured in the application rather than written into it. One codebase serves two front ends: an admin panel for the studio and a client portal for their customers. 45 tables, 161 automated tests, three languages, four payment rails.

Laravel 13FilamentLivewire Google Gemini (image / vision / video)Queue workers StripePayPali18n
Open it →

Brandsmith — AI Social Media Management

live

A codebase rescue rather than a build from scratch, and worth saying so. I inherited a commercial Laravel / Inertia / Vue application, rebranded it end to end and extended it into a working product.

Added campaign planning with content types, a pluggable AI engine layer so OpenAI, Anthropic and Gemini are swapped by configuration, scheduled auto-publishing to Facebook, Instagram, X, TikTok and LinkedIn, an API health monitor, credit and subscription billing, and team accounts with granular permissions. A good part of the work was repair: the backend referenced database columns the migrations had never created.

Laravel 11Inertia.jsVue 3MySQL OpenAI / Anthropic / GeminiLegacy refactoring
Open it →

Also built and running

What I work with

Languages

PHP 8.3, JavaScript, Python, SQL, HTML, CSS

Frameworks

Laravel 10–13, Livewire, Filament, Alpine.js, Tailwind CSS, Vue, Inertia, Angular

APIs & real-time

REST API design, Laravel Sanctum, WebSockets (Reverb), queue workers, webhooks

AI integration

Gemini image, vision and video; provider abstraction so models swap by configuration; queued generation with budget caps

Mobile

Ionic + Capacitor for Android, QR and barcode scanning, token-authenticated sync

Payments & messaging

MTN MoMo, Airtel Money, Stripe, PayPal, Africa’s Talking, Twilio, WhatsApp Cloud API

Infrastructure

Ubuntu VPS administration, Apache with PHP-FPM, Let’s Encrypt, Git, deployment runbooks, automated backups

Testing

PHPUnit, feature and integration testing, code review. The platforms above carry 95–238 tests each

Background

MSc Software Engineering, Limkokwing University of Creative Technology, Malaysia, 2013. BSc Computer Science, Makerere University, Uganda, 2008.

Before building my own products I spent years on in-house airtime remittance platforms serving Uganda, Kenya, Ethiopia and Tanzania — database design, third-party telecom and payment API integration, and quality assurance. Earlier, I customised the Koha library system for the Uganda Bureau of Statistics and built the online student registration system for Makerere University’s Faculty of Computing.

I work alone on whole systems, which means I write the tests, the documentation and the deployment runbooks as well as the code — so somebody else can take the work over.

Get in touch

Available now

Open to remote contract or full-time work. Based in Kampala on UTC+3 — a full working-day overlap with Europe, and mornings with US Eastern.

Emailprimarch.admin@gmail.com
Phone+256 780 337 692
WhatsApp+256 780 337 692