Software Developer · The Gambia

Building systems that hold up in the real world.

I design and build full-stack web platforms, offline-first mobile apps, and data-driven tools — modeled with Domain-Driven Design so they stay reliable as they grow, and as AI gets woven into how they work.

Stack  Node.js · TypeScript · Next.js · KotlinFocus  Web · Mobile · AI · DataBased in  The Gambia, West Africa
01

Domain-driven architecture

Every system starts as a model of the real process it supports — bounded contexts, clear aggregates, and boundaries that keep growth from turning into a mess.

02

Built for real conditions

Field teams don't always have signal. I build offline-first by default — local storage, background sync, and interfaces that keep working when the network doesn't.

03

End-to-end delivery

From data model to deployed product — backend, frontend, mobile, and the pipelines that ship it — one person who can own the whole build.

04

AI where it earns its place

Not AI for its own sake — assistants, automation, and generated reports layered onto a system only once the fundamentals underneath it are solid.

Why it holds up

Software that keeps working after launch day.

Built for real institutions

Production systems used daily by a government agency and its field teams — not portfolio demos.

End-to-end ownership

From data modeling to deployment, one person accountable for the whole build, start to finish.

Works where connectivity doesn't

Offline-first by default, so field teams in low-signal areas are never blocked from doing their job.

A stack built to last

TypeScript, tested, and documented — code the next developer on the team can actually pick up.

Capabilities

Four domains, one way of building.

I borrow the language of Domain-Driven Design for how I organize skills too — each area below is a domain I can own from architecture to launch.

Domain: Web

Web platforms

Full-stack applications and dashboards — from public-facing sites to internal admin systems, built with clean DDD-structured backends in TypeScript or Python.

Next.jsExpressFastAPITypeScriptPython
Domain: Mobile

Mobile systems

Offline-first Android apps for field work — photo and GPS capture, local databases, and background sync back to a live backend.

KotlinJetpack ComposeRoomRetrofit
Domain: AI

AI & automation

Embedding AI where it earns its place — assistants, document and report automation, and intelligent workflows layered on top of solid systems.

LLM integrationAutomationAPIs
Domain: Data

Data & analytics

Turning raw records into decisions — realtime dashboards, exportable reports, and analytics views built on top of production data.

RechartsPythonSupabase RealtimeReporting

Working stack

Tools I reach for
TSTypeScript
NxNext.js
PyPython
FaFastAPI
KtKotlin
TwTailwind CSS
PgPostgreSQL
MyMySQL
DoDocker
NdNode.js
Also in the toolkit
ExpressJetpack ComposeSupabasePrismaVercelRailwayJestPlaywright
Selected work

Systems built and shipped.

A mix of public-sector platforms and independent builds — each one modeled, built, and deployed end to end.

Abstract network representing a connected system of applications
Public sector · Visitor management

Visitor management platform

A paperless visitor registration system built for a government agency, replacing a manual, Excel-based front-desk register with a single digital system used across every department.

  • 100% digital check-in across 27 departments, with secure staff email & password sign-in
  • Live analytics dashboard tracking visitor traffic and department activity in real time
  • DDD-structured Node.js/Express backend with a Next.js frontend, deployed on Railway and Vercel
Next.jsExpressPrisma
A hand checking off items on a digital tablet checklist
Public sector · Field operations

Field inspection & compliance suite

An offline-first system for a government agency's field teams, pairing a mobile inspection app with automated compliance reporting and a permit & licensing workflow.

  • Offline-first Android inspection app — GPS-tagged findings, photo capture, and background sync
  • Automated, branded PDF compliance reports generated straight from field data
  • Permit & licensing workflow built around the same domain model
  • DDD-structured Node.js/Express backend, deployed on Railway and Vercel
KotlinExpressPrisma
Warehouse aisles of stocked shelving, representing a logistics and fleet system
Public sector · Logistics & fleet

Logistics & fleet management platform

A platform built for a government agency to bring real-time visibility to shipments, vehicles, and warehouse stock — replacing manual tracking with a single connected system.

  • Real-time shipment visibility and route optimization across the agency's fleet
  • Warehouse and inventory management with live stock levels
  • Sustainability tracking built into day-to-day reporting
  • Analytics dashboards summarizing operations for decision-makers
Next.jsTypeScriptTailwind CSS
Screenshot of the GamFoot homepage
Independent build · Community platform

Gambia Sports Platform — GamFoot

A multi-tenant platform for managing Nawettan (community football) tournaments across The Gambia — built independently, end to end, as a personal initiative under TechPalz.

  • Super Admin, Community Admin, and Fan roles across 10 seeded Gambian communities
  • Live scores and tournament brackets powered by Supabase Realtime
  • Full player, team, and admin-invitation management with custom transactional email
Next.js 16SupabaseTailwind CSS
Code displayed on a developer's screen
Public sector · Web & CMS

Public-sector website & CMS rebuild

A full redevelopment of a government agency's public website, moving it onto a modern headless CMS and presenting the rebuild directly to board-level stakeholders.

  • Next.js frontend paired with a headless CMS for editable, non-technical content updates
  • Built in partnership with an in-house colleague and an external delivery partner
Next.jsHeadless CMS
Collaborate

Room to build together.

I like working alongside other developers, designers, and domain experts — not just shipping alone. If one of these looks interesting, open an issue, send a pull request, or just say hello.

Gambia Sports Platform

GamFoot

A growing multi-tenant platform for Nawettan tournaments — more communities, live-score improvements, and a better fan experience are all open ground.

Next.jsSupabaseTypeScript
View on GitHub ↗
Next.js + DDD reference build

This portfolio

The site you're on — open source end to end, including the AI chat pod and the DDD layering. Good ground for a dev who wants to see the architecture and suggest changes.

Next.jsTypeScriptTailwind CSS
View on GitHub ↗
Python / FastAPI example

Fixture Scheduling Service

A small DDD-layered FastAPI service in the repo. Ideas welcome: a real persistence adapter, auth, or extending the domain beyond fixture scheduling.

PythonFastAPI
View on GitHub ↗

Have a different idea for us to work on?

Let’s talk
How I work

From domain model to deployed product.

The same sequence every time — it’s what keeps systems maintainable once they’re out of my hands.

Model

Discover & model

Map the real-world process first — the entities, rules, and edge cases — before a line of code is written.

Architect

Design the domain

Turn the model into bounded contexts and aggregates, so each part of the system has a clear, single responsibility.

Build

Build end to end

Backend, frontend, and mobile together — built in step so nothing is bolted on after the fact.

Ship

Test & deploy

Automated tests, then a real deployment pipeline — not a demo that only works on one machine.

Support

Iterate & support

Software meets real usage and real feedback. I stay on to fix, extend, and scale it.

Mass Jammeh
About

Mass Jammeh

I’m a software developer based in The Gambia, working across web, mobile, AI, and data. Most of my production work has been building digital systems for public institutions — the kind of software that has to work reliably for people who aren’t especially technical, often in places with unreliable connectivity.

That’s shaped how I build: offline-first where it matters, modeled with Domain-Driven Design so systems stay understandable as they grow, and shipped as complete products — not just prototypes. Alongside that, I co-founded a technology venture building automated digital solutions for institutions across West Africa, and I keep a handful of independent projects running for the same reason most developers do: to build the things I think should exist.

Location
The Gambia, West Africa
Focus
Web · Mobile · AI · Data
Primary stack
Node.js / TypeScript
Approach
Domain-Driven Design
Get in touch

Have a project in mind?

Whether it’s a full platform, a mobile app, or a system that needs AI woven in — I’m glad to talk through what you’re building.