ograh.xyz
Open to work · Kumasi, Ghana · GMT (UTC+0)

Hi, I'm Bernard OgrahBackend Engineer

Building scalable APIs, distributed systems, and the infrastructure they run on.


About

I’m a backend engineer with 3.5+ years of experience building and maintaining production systems across fintech, healthcare, e-commerce, and logistics.

I primarily work with Java and Spring Boot, as well as Go, with PostgreSQL for data modeling and Redis and RabbitMQ for caching and asynchronous processing. I’ve worked across the backend lifecycle, from designing database schemas and APIs to testing, deployment, and maintaining containerized applications.

I’m particularly interested in building reliable systems, designing clear application workflows, handling authentication and authorization, and keeping databases and services performant as they scale.

Outside of client work, I enjoy building small infrastructure and developer tools to better understand how systems work. Some of these include a self-hosted PaaS, an error-tracking platform, and a clipboard manager written in Rust.

Education

BSc. Computer Science

Kwame Nkrumah University of Science and Technology

Kumasi, Ghana · Graduated Nov 2025


Stack
Use daily
JavaSpring BootSpring SecurityGoTypeScriptPostgreSQLRedisRabbitMQKafkaDockerGraphQLGit
Have shipped with
PythonRustPHPSpring Data JPAGinChiNext.jsNestJSFlaskTraefikAWSCloudflare R2FlywayLinuxRESTWebSocket / STOMPSOAP / WS-SecurityJWTPaystackOpenAPIJUnit

Experience
  1. Jun 2026 — Present

    Software Engineer, Backend · Rpl Technologies

    Remote

    • Building Go services that integrate with SOAP APIs, including WS-Security message signing and verification.
    • Packaging and running the services as Docker containers backed by PostgreSQL.
    GoPostgreSQLSOAPWS-SecurityDocker
  2. Nov 2025 — Present

    Software Engineer, Backend · AmaliTech Services

    Kumasi, Ghana

    • Building Java 21 / Spring Boot services exposing GraphQL APIs over PostgreSQL, with Kafka for event-driven workflows.
    • Writing JUnit test suites alongside the features they cover.
    Java 21Spring BootGraphQLPostgreSQLKafkaJUnit
  3. Feb 2026 — Present

    Backend Developer · Kova Delivery

    Remote

    • Built the backend behind a live delivery marketplace: merchant, rider, and admin APIs with real-time dispatch to riders.
    • Ported it from Spring Boot to Go without changing the API contract the apps depend on, then retired the Java service.
    Case study
    GoJava 21Spring BootPostgreSQLRedisRabbitMQWebSocket
  4. Nov 2025 — Mar 2026

    Backend Developer, Contract · JustGo Health

    Remote

    • Built Spring Boot and PostgreSQL backend features for a healthcare product, with Redis caching and file storage on Cloudflare R2.
    JavaSpring BootPostgreSQLRedisCloudflare R2
  5. Dec 2024 — Present

    Backend Developer, Contract · KOVA Marketplace

    Remote

    • Backend for an e-commerce marketplace across Spring Boot and Go (Gin) services on PostgreSQL.
    • RabbitMQ for asynchronous processing and Redis for caching.
    JavaSpring BootPostgreSQLGoGinRabbitMQRedis

Open sourceLive

Cargo

Self-hosted Platform-as-a-Service

A Dokploy/Coolify-style PaaS shipped as a single Go binary serving the API, embedded React UI, River job queue, and deploy engine. Takes an app from a GitHub repo or registry image to a live HTTPS URL with Dockerfile/Nixpacks auto-detection, one-click rollback, multi-tenant orgs with RBAC, and Let's Encrypt certificates via Traefik.

GoReactPostgreSQLTraefikDockerRiver
Closed sourceLive

Kova Delivery Platform

Multi-sided logistics backend

The backend behind a live delivery marketplace: merchant API, rider mobile API, and admin operations. Real-time dispatch over RabbitMQ and STOMP WebSockets, Redis-backed rider presence and assignment locks, and a constrained delivery state machine with audit history. Built on Spring Boot, then ported to Go behind an unchanged API contract, 195 of 196 routes, to cut hosting cost.

GoJava 21Spring BootRabbitMQRedisPostgreSQL
Closed source

Send Money BT

Offline peer-to-peer payments

Value transfer between two phones over Bluetooth LE, with no server and no network. The hard part is double-spending: a device that moves money offline can spend the same balance twice. Each sender's vouchers are hash-chained, so spending twice forces the payer to fork their own chain — producing a self-verifying, non-repudiable fraud proof signed by the offender and checkable by anyone, with no ledger and no connectivity.

GoTypeScriptBLEPostgreSQLHash chains
Open source

Error Tracking Platform

A minimal Sentry, rebuilt

An error tracking system built to understand how Sentry works from the inside. Errors land on a Go/Chi API, get buffered into Redis for a fast ack, and drain to PostgreSQL via background workers — with API-key auth per project, TTL-cached reads, and a Next.js dashboard for triage.

GoChiRedisPostgreSQLNext.js
More
  • KeysVault · API key management platform

    Go · Next.js · PostgreSQL · Redis

  • AmaliScribe · Local-first meeting transcription

    Go · Electron · React · whisper.cpp

  • Form Configurator · Metadata-driven form service

    Java · Spring Boot · PostgreSQL · JSON Schema

  • Portfolio Analyzer · LLM pipeline over your GitHub

    NestJS · BullMQ · TypeORM · PostgreSQL

  • Clipwise · Keyboard-first clipboard manager

    Rust · egui · X11 · Wayland

  • Amali-RMBP · Twi-language conversational AI

    Python · Flask · Llama-3 8B · GhanaNLP API


Lab


Contact

Have something you need built on the backend?

I'm open to backend and platform engineering roles, and to contract work. I'm based in Kumasi, Ghana, on GMT (UTC+0) all year, and work remotely with teams in any time zone, shifting my hours for overlap. The fastest way to reach me is email.

ograhbernard@gmail.com