// OMEROHM LABS — TECHWORKS DIVISION

T. G. David
Tlhobogang_

Engineering the shape of sound, light and signal.

Full-stack software engineer and mechatronics / instrumentation engineer. Engineer operating across the full stack — from PLC ladder logic and SCADA floors to Django backends, Flutter apps, and CI/CD pipelines. I build systems that replace paper, spreadsheets, and downtime with software.

AVAILABLE FOR PROJECTSGABORONE, BOTSWANA

Projects

Selected systems — from maintenance backends to mobile fleet ops.

P-01BACKEND

Django CMMS Backend

Computerized maintenance management system for a government printing workshop — job-ticket tracking and digitized asset records that cut maintenance turnaround by over 1.5×. Security-hardened with brute-force lockout, rate limiting, and CI security scanning (bandit + safety).

  • Django
  • PostgreSQL
  • Docker
  • Python
  • Security Hardening
IN PRODUCTION
P-02PLATFORM

TutorLink BW — ThubleAi

Online tutoring platform for the Botswana curriculum (BGCSE, IGCSE, Cambridge). Connects students with tutors, handling enrollment, sessions, and assessments — built API-first with an OpenAPI-documented, fully tested backend.

  • Next.js
  • TypeScript
  • Prisma
  • PostgreSQL
  • REST / OpenAPI
MVP
P-03MOBILE

Fleet Management App

Cross-platform mobile app for fleet operations: driver assignment tracking, on-device document scanning, and automated permit-expiration alerts so no vehicle runs on expired paperwork.

  • Flutter
  • Dart
  • Supabase
DEPLOYED
P-04E-COMMERCE

Government Bookstore E-commerce

Storefront for hosting and distributing government publications, built as a Turborepo monorepo with pnpm workspaces and an optimized Prisma schema driving catalog, inventory, and order flows.

  • Turborepo
  • Next.js
  • Prisma
  • TypeScript
  • pnpm
IN DEVELOPMENT
P-05FINTECH

NxtGenPay

Mobile payments platform — a cross-platform Flutter front end with Supabase authentication and session management, laying the rails for a next-generation payment experience.

  • Flutter
  • Dart
  • Supabase
IN DEVELOPMENT
P-06AI

Gemini Tool-Use Agent

An agentic AI coding assistant in Python: it plans over a function-calling loop with Google Gemini, then reads files, runs code, and writes changes through a controlled tool interface.

  • Python
  • Google Gemini
  • LLM / AI Agents
DEPLOYED

Stack

Core engineering toolchain, grouped by system layer.

Backend & Data

SYS-A

Server-side systems, APIs, and the data layer.

  • Python
  • Django
  • Node.js
  • PostgreSQL
  • Prisma
  • Supabase
  • REST / OpenAPI

Frontend & Mobile

SYS-B

Interfaces that make complex systems legible.

  • React
  • Next.js
  • TypeScript
  • Flutter
  • Tailwind CSS

DevOps & CI/CD

SYS-C

Shipping, automating, and keeping it running.

  • Docker
  • GitHub Actions
  • Turborepo
  • pnpm
  • Nginx
  • Linux
  • Git

Systems, Automation & AI

SYS-D

From the factory floor to the language model.

  • Industrial Instrumentation
  • PLC / SCADA
  • Embedded C/C++
  • Go
  • LLM / AI Agents

Field Log

Where the engineering happened — factory floors to research labs.

2025 — NOW

Maintenance Engineer@ Government Printing & Publishing Services

Digitized factory equipment records and built data-driven maintenance systems — breakdown time down, throughput up 1.5×.

2024 — 2025

Systems Analyst / Developer@ Botswana Harvard Health Partnership

Data-driven research systems and analysis UIs with Python, Django, pandas, and React.

2024 — NOW

Full-Stack Software Engineer@ Africort Investments

React frontends, Django API layers, Nginx server setup and build automation under SCRUM.

2021 — 2022

Control & Instrumentation Intern@ Water Utilities Corporation

SCADA management, PLC ladder-logic programming, and industrial network equipment on live water infrastructure.

2015 — 2020

B.Eng — Mechatronics & Industrial Instrumentation@ Botswana International University of Science & Technology

Embedded C/ASM, signal processing, robot motion planning, drones and control systems.

Contact

Open channel — projects, contracts, and collaborations.

$./init_handshake --channel [whatsapp|email]

Direct contact details are kept off the page to keep the bots out. Pick a channel, leave your own contact, and the message lands with me directly — usually answered within a day.

CHANNEL