Joel Codja. They call me the “Great One”.

Backend developer at Lixali Studio. From Gabon, based in Cotonou.

Codja

Joel/ko.dʒa/say ko-ja

Where I am right now

Live from my own API: the city I am in, my local time and the weather outside. City level, nothing finer.

Now in
Cotonou, Benin
Local time
Weather
–
From
Gabon

Request

GET https://joelcodja.pages.dev/api/where

Response

{
  "city": "Cotonou",
  "country": "Benin",
  "from": "Gabon",
  "timezone": "Africa/Porto-Novo",
  "coordinates": {
    "lat": 6.3654,
    "lon": 2.4183
  }
}

My projects

All projects

MakiSend

Open-source transactional email that runs on your own Cloudflare account.

I build it at Lixali Studio.

  • Your app gets a 202 at once. A Workflow sends the email, retries it and logs the result.
  • 300 to 400 ms per send at best, about 2 s at worst. SMTP takes most of it.
  • Three retries 30 s apart, then a dead-letter queue for hard failures.
  • Credentials, recipients and bodies are AES-256 encrypted at rest in D1.

Stack: Cloudflare Workers · Workflows · D1 · Queues · TypeScript

The MakiSend dashboard listing sent emails with their statusThe MakiSend dashboard listing sent emails with their status

linkedin-scheduler

Write LinkedIn posts in advance as Markdown files and let cron publish them through LinkedIn's official API.

My open-source project.

  • No server and no web interface: a folder, two scripts and a cron line.
  • Never posts twice: a ledger, a publishing state and a lock between runs.
  • Renders 1080×1350 post cards from an HTML template, code samples highlighted.
  • Checks before sending: --check proves the token, --dry-run shows what would go out.

Stack: Python · LinkedIn API · cron · Node.js · HTML

The linkedin-scheduler website: your LinkedIn posts, written ahead, published on time

About

I have spent three years building production APIs and services, mostly with Node.js and TypeScript.

I care about clean data models, documented REST APIs, and code the next person can change safely.

Experience

  • Backend developerLixali Studio

    – now

    Developer-facing APIs, event-driven systems and serverless infrastructure deployed at the edge.

Writing

Notes from building things, published on Hashnode.

All posts
  1. Implementing AES-256-GCM Encryption at Rest in Node.js

    Key management, IV generation and authenticated encryption for data at rest in a Node.js service.

  2. Clean Architecture in Flutter: Why It Matters

    The principles of Clean Architecture in Flutter, and why they make an app easier to test and change.

  3. Building a Robust Flutter Todo App: MVC Architecture and Offline-First Approach

    An MVC Flutter app that keeps working offline, with its data persisted in Hive.

Off the clock

Puroresu, Afrobeats and a controller. What I watch, play and listen to once the laptop closes.

The orange comes from here.

Satoshi Kojima, my favourite wrestler of all time. Not even Ryohei Oiwa beats him. He loaded trucks outside the dojo until they let him in, and ended up with all three crowns of Japanese wrestling.

Read his story
Satoshi Kojima. The orange starts here.

On repeat

My girlfriend got me into Asake, and into most of this list: Afrobeats, 2000s pop and 90s rap. It all plays while I code.

  1. RememberAsake · Work of Art · 2023Listen on Apple Music: Remember
  2. Peace Be Unto YouAsake · Mr. Money With The Vibe · 2022Listen on Apple Music: Peace Be Unto You
  3. ObaAsake · M$NEY · 2026Listen on Apple Music: Oba
  4. Lonely At The TopAsake · Work of Art · 2023Listen on Apple Music: Lonely At The Top
  5. UnavailableDavido feat. Musa Keys · Timeless · 2023Listen on Apple Music: Unavailable
  6. ElectricityPheelz & Davido · Pheelz Good EP · 2022Listen on Apple Music: Electricity
  7. Fallin'Alicia Keys · Songs in A Minor · 2001Listen on Apple Music: Fallin'
  8. Hips Don't LieShakira feat. Wyclef Jean · Oral Fixation, Vol. 2 · 2005Listen on Apple Music: Hips Don't Lie
  9. GlamorousFergie feat. Ludacris · The Dutchess · 2006Listen on Apple Music: Glamorous
  10. Big PoppaThe Notorious B.I.G. · Ready to Die · 1994Listen on Apple Music: Big Poppa
  11. Hit 'Em Up2Pac · Greatest Hits · 1998Listen on Apple Music: Hit 'Em Up
Photo credits

Kojima's photo from Wikimedia Commons, cropped and converted to WebP.

Album artwork via Apple Music, © the artists and their labels. Fire Pro Wrestling World © Spike Chunsoft, artwork from its Steam page. Street Fighter Alpha 3 © Capcom, from the 1998 arcade flyer. Shown to say what I listen to and play; all rights stay with their owners.

Let's talk

Hiring for a backend role, or want to talk about a post? Write to me directly or use the form.