Software engineer · Accra, GH

Solomon Andoh.

I build software that keeps working after the demo. My work lives in the gap between a prototype that works once and a system that survives reality.

Currently open to work.

Based in Accra, GH.
Local time GMT
Systems that last.
APIs, background workers, auth and data.
Open to work.
Software engineering roles and collaborations.

01 / Selected work

Projects.

Services built to learn what happens after the tutorial ends: workers, retries, tokens and connections that drop.

All code on GitHub
01Publishing

Limarr — collaborative writing app

Collaborative publishing for careful writers. Contributors suggest line-by-line edits, the owner reviews each proposal in a thread, and nothing merges without approval. Named version snapshots keep the working draft separate from what is published.

FastAPIPostgreSQLSvelteKit
Live
02Monitoring

Probey — uptime monitoring service

Uptime monitoring service. Probes HTTP/TCP endpoints globally and logs health metrics. Developed as a deep dive into background workers and handling long-running tasks.

FastAPISQLAlchemyDockerPostgreSQLRedis
Live
03Authentication

Auth service

Standalone authentication service with JWT + refresh token rotation, OAuth2 social login (Google, GitHub), rate limiting, and audit logs. Designed to be drop-in for any project.

FastAPIOAuth2JWTPostgreSQL
Live
04Realtime

Realtime notifications hub

WebSocket notification hub with room-based subscriptions, delivery guarantees, and fallback to Server-Sent Events. Handles 10k+ concurrent connections with Redis pub/sub under the hood.

WebSocketRedis pub/subSSEasyncio
Live
05Attendance

Attendee

A real-time attendance system that replaces traditional paper based attendance taking, utilising real-time location information to validate presence.

FastAPIPostgreSQLPython
In progress

02 / Writing

Notes from
breaking things.

What I learned building these services, written down while it was still fresh. Mostly things the tutorials skipped.

  1. 01

    Why a lean asyncio worker beat reaching for Celery, and what deploying it taught me.

    fastapiasyncio
  2. 02

    Short-lived access tokens, rotating refresh tokens, and why the old one dies immediately.

    authjwt
  3. 03

    Ghost connections after a restart, and the two engine settings that made workers recover.

    sqlalchemyasync
  4. 04

    3 AM sessions, rejected applications, a first deploy that crashed, and why I'm not stopping.

    storymotivation

03 / The toolkit

The stack,
end to end.

Python first. Everything around it is there to get a service built, tested, shipped and kept alive.

12 tools, from the model
layer to the deploy
  • 01

    Python

    Primary language

  • 02

    FastAPI

    Web framework

  • 03

    PostgreSQL

    Relational database

  • 04

    SQLAlchemy

    ORM and queries

  • 05

    Redis

    Caching and queues

  • 06

    Celery

    Task workers

  • 07

    Docker

    Containerisation

  • 08

    Nginx / Traefik

    Reverse proxy

  • 09

    GitHub Actions

    CI and CD

  • 10

    Pydantic

    Validation

  • 11

    Alembic

    Migrations

  • 12

    pytest

    Testing

04 / About

Logic under
the hood.

Software Engineer. Python and FastAPI, for now. I tried the UI route for a bit, but moving things around and coloring stuff wasn't all that fun—I realized I care more about the logic under the hood than the buttons on the dashboard.

My work lives in the gap between a prototype that works once and a system that actually survives reality. I’m a firm believer that programming is learned by breaking things, fixing them, and having the grit to stay above the noise.

Outside this, I'm probably making beats, car spotting or watching anime. You can checkout some of my beats here.

05 / Contact

Let's build
something real.

Open to software engineering roles and collaborations. Email is the fastest way to reach me.

Rather see the code first? Find me on GitHub