Semeton Balogun

Backend and systems engineer. Multi-tenant platforms for banks and enterprise SaaS; offline-first data systems for national health campaigns.

Semeton Balogun

I build backend systems where the hard part is production: tenant isolation, data that has to stay correct across services and offline devices, and deployments inside bank networks. At Seamless Technologies I work on a multi-tenant HR suite. On contract with eGov Foundation I work on DIGIT, the open-source platform behind Nigeria's malaria campaigns. Since mid-2026 I've worked agent-first, under rules enforced by a tool I built, agent-contract.

Before that I was technical lead at Zercom Systems. I led the rewrite of an LMS used by Wema Bank, First Bank, PremiumTrust Bank, and Seven-Up Bottling Company, and acted as solutions architect for its bank deployments. What I keep coming back to, and write about, is how architecture decisions hold up once they meet production.

I came to software from nursing. I studied at the University of Lagos, graduated with distinction and qualified as a registered nurse, while working as a graphic designer and creative director on the side. Curiosity got me teaching myself to code. In 2020 I joined the tech apprenticeship at Bincom Dev Center, my first engineering role, with Emmanuel Ogwo as my mentor. I'm now pursuing a Master's in Information Technology at Miva Open University.

Work

eGov Foundation — Hub Software Engineer, West Africa (Contract)

Jun 2026 – present

Bridge between country programme teams and the platform engineering team on DIGIT HCM, the open-source platform running national malaria campaigns (SMC and ITN).

  • –Supported SMC and ITN campaigns across Abuja, Bauchi, Taraba and Borno, including on-site field support
  • –Diagnosed activity dates being stamped at server sync time instead of on-device creation time: late-synced work counted against the next day's quota, locking field workers out of working days and skewing attendance-based payment. Documented the root cause and the fix requirement
  • –Contributed to the stock-reconciliation design for an ITN distribution pilot: partial receipts, auto-returned shortfalls, and in-transit vs lost states in an offline-first ledger
  • –Sizing infrastructure and support staffing for a 2027–29 multi-state campaign programme (11 states, ~27M target population)

DIGIT HCM · PostgreSQL · Elasticsearch · Kibana · Offline-first sync

Seamless Technologies — Backend Engineer

Nov 2024 – present

Recruitment platform and HRMS modules (internal recruitment, exit, onboarding) for a multi-tenant HR suite serving enterprise clients.

  • –Built the Kafka pipeline publishing recruitment, exit and onboarding data to the company data lake, as a non-blocking side effect so a mapping failure can't fail the primary write
  • –Implemented the two-way integration between the recruitment platform and the core HRMS: requisition-to-job creation, status sync back, internal-applicant pre-fill, SSO with company-access checks, service-to-service auth
  • –Led tenant-isolation and security hardening: SSRF-safe webhooks, company-scoped reads and writes, per-client mail credentials with delivery logging, throttled upload limits, GDPR self-service deletion (anonymise or hard-delete)
  • –Backend for AI-assisted hiring: CV parsing, candidate ranking with normalised scores, automated screening; frictionless apply with no sign-up, OAuth pre-fill and magic-link login

PHP 8 · Laravel · MySQL · Kafka · Redis/Horizon · Algolia · S3 · Pest

Zercom Systems — Technical Lead

Apr 2023 – Nov 2024

Led engineering on Tangerine LMS: from a separate codebase per client to one multi-tenant platform, Tangerine365, running on-premise at banks and enterprises, as a self-serve cloud product, and inside Human Manager HRMS.

  • –Set up version control and merged the per-client codebases into one, with per-client customisation — a bug fix now shipped once instead of once per deployment
  • –Acted as solutions architect for client deployments: chose the architecture and server specifications, and represented engineering in every critical stakeholder meeting
  • –Designed the hardest rollout, First Bank's three-tier on-premise deployment built to the bank's infrastructure requirements
  • –Launched the self-serve cloud version at tangerine365.com, and made it the default learning module in Human Manager HRMS so every new HRMS tenant gets an LMS
  • –Wrote a custom SQL Server driver alongside the MySQL default; deployed across IIS inside bank networks, Apache, DigitalOcean, and AWS; cut infrastructure costs ~85%
  • –Built REST integrations with 5+ external organisations, ran security and load testing with OWASP ZAP and JMeter, and trained client teams on the platform

PHP 8 · Laravel · SQL Server · MySQL · Node.js · Memcached · Docker · IIS · Apache

ScholarshipIQ — Backend Engineer

Jun 2022 – Apr 2023

Built the backend for an academic matching and funding platform.

  • –Backend services and REST APIs in Laravel, integrated with a React frontend
  • –Cut API response times ~50% through query optimization and indexing
  • –Introduced staging environments and branching discipline; cut production errors by over 90%
  • –Added email verification to eliminate ghost sign-ups
  • –Integrated Flutterwave for payments, HubSpot for user management, and cron-driven email automation

Bincom Dev Center — Backend Developer

Sep 2020 – Jul 2022

Joined through Bincom's tech apprenticeship; became my first engineering role.

  • –Backend components in Node.js and PHP across educational platforms (ARM Learn) and internal API systems
  • –OAuth2 integrations with Google and Facebook
  • –Trained 5+ interns; helped run technical community events

Projects

Tangerine365 — Led

Multi-tenant LMS deployed across Wema Bank, First Bank, PremiumTrust Bank, and Seven-Up Bottling Company.

A full rewrite of a legacy PHP 7.4 LMS into a multi-tenant PHP 8 platform with per-tenant database isolation. The hard part was the multi-database strategy — keeping MySQL as default while supporting SQL Server for the banks that required it, without forking the codebase.

What I did
  • –Designed the multi-tenancy layer using the strategy pattern; one codebase, multiple database drivers
  • –Two tenancy models from that codebase: subdomain-based in the cloud (tenant.tangerine365.com), ID-based inside Human Manager HRMS
  • –First Bank deployment: external load balancer → two proxying web servers → internal load balancer → two app servers → central SQL Server
  • –Built core modules for user management, course delivery, and integrated Jitsi Meet proctoring
  • –Set up CI/CD across IIS (Windows Server) and Apache (Ubuntu) deployments

Read: Part 1 · Part 2 · The hosting setup

PHP 8 · Laravel · MySQL · SQL Server · Docker · Jitsi Meet · LDAP · IIS

Terminoxx360 — Sole engineer, new version

Real-time ATM fleet monitoring, running at Access Bank.

I maintain the version running at Access Bank, where I fixed the jobs that stalled under database locks. I then rebuilt the platform as its sole engineer: a new version designed to avoid those locking problems, built to serve multiple countries and regional subsidiaries from one deployment.

What I did
  • –At Access Bank: diagnosed transaction-heavy jobs stalling under database locks and rewrote them for transactional efficiency
  • –Added index-based query optimization and schema cleanup that cleared the persistent slow-query backlog, plus auto-restart for stuck jobs
  • –New version: multi-tenancy by country and regional subsidiary, with full brand customisation per tenant
  • –Map views, a full monitoring history, and detailed reporting, behind a deliberately simpler UI
  • –AI-generated system overviews, reports, and alerts, with Ollama, Claude, or OpenAI as the model provider

Read: The hosting setup

Laravel · MySQL · Redis · Queue workers · Ollama · Claude · OpenAI

TrustCenta — Sole engineer

Two products: estate access control and a cybersecurity suite.

TrustPass handles QR-based entry passes for digital estates — role-based permissions, real-time revocation, web dashboard and mobile app. The Cybersecurity Suite wraps ZAP and Gophish behind clean APIs with scheduled scans and automated reporting.

What I did
  • –Designed and built both systems from scratch
  • –Web (Next.js) for administrators; React Native for gate personnel
  • –Wrapped ZAP and Gophish behind clean APIs with scheduled scans and automated email reports

Read: Post-mortem, Part 1 · Part 2

Laravel · Next.js · React Native · MySQL · Docker · ZAP · Gophish

Agent Contract — Creator

A governance runtime that puts deterministic guardrails around AI coding agents.

Published npm CLI that drops a policy layer into any repo so AI agents (Claude, Codex, Copilot) operate under explicit, enforceable rules instead of hoping they read the instructions file. Enforcement happens before writes land, not in post-hoc review. v0.8 on npm. I use it daily in my own agent-first workflow on production codebases.

What I did
  • –Designed a layered runtime: repository contract (policy) → execution role (scoped authority) → governance runtime (enforcement) → verified writes
  • –Built deterministic scope enforcement via exit codes — violations are blocked before they reach the codebase, not caught in diff review
  • –Added Repository Memory so architectural decisions and session state persist across executions instead of being rebuilt each time
  • –Made governance provider-independent, so the same contract holds whether the agent is Claude, OpenAI, or a future model
  • –Shipped and maintain it as an installable CLI: npm i -g @semeton/agent-contract
  • –Companion tool: @semeton/azure-boards-cli (azb), so agents can read and update tickets from the terminal

Read: The writeup

Node.js · CLI · YAML · Claude · OpenAI

Writing

Engineering writing on Codeplified, practitioner to practitioner.

Subscribe on Substack

Elsewhere