Joel Codja. Backend developer, specialised in API design and serverless edge architectures.

From Gabon, based in Cotonou.

Codja

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

My projects

Click the top card to draw it. Click the drawn card to put it back.Swipe to go through the cards. Tap one to play its demo.

MakiSend

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

Shipped
MakiSend
I build it at Lixali Studio.
  • Cloudflare Workers
  • D1
  • Queues
  • Workflows
  • TypeScript
  • Hono
  • Drizzle
  • Better Auth
  • Zod
  • Astro
  • React
  • Tailwind CSS
  • Vitest

Visit site: MakiSendGitHub: MakiSend

linkedin-scheduler

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

Shipped
linkedin-scheduler
My open-source project.
  • Python
  • LinkedIn API
  • cron
  • Node.js
  • Playwright
  • Shiki
  • Markdown

Visit site: linkedin-schedulerGitHub: linkedin-scheduler

Contrasto

Checks colour pairs against the WCAG AA and AAA contrast thresholds as you type.

Shipped
Contrasto
Side project.
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • next-intl

Visit site: ContrastoGitHub: Contrasto

zeroknowledgeIn progress

Share a secret through a link that opens once. It is encrypted in your browser, and the key never reaches the server.

Planned for
zeroknowledge
My own project, under way.
  • Cloudflare Workers
  • Hono
  • TypeScript
  • Web Crypto
  • D1
  • Durable Objects
  • R2
  • Vitest

pulseComing up

Checks your endpoints from the edge every minute and tells you before your users notice.

Planned for
pulse
Next on my list.
  • Cloudflare Workers
  • Hono
  • TypeScript
  • D1
  • cron
  • Astro

What I can do for you

Engraving: a hand comes out of a cloud and sets a compass on a block of stone, under a ribbon reading Labore et Constantia
Engraving: a hand firmly grips a cord
Engraving: two hands clasped in a handshake
  1. 01

    Build your backend from scratch

    You have an idea, a product or an app, and nothing behind it yet.

    I model your data, build the API your apps talk to, and set up the work that runs in the background: emails, payments, scheduled tasks. It goes live tested and documented from day one.

    What you get

    • A data model that fits your business
    • A documented API your apps can rely on
    • A backend in production, tested and documented
  2. 02

    Take over a backend that is slow, fragile or undocumented

    It works, mostly. But nobody dares to touch it, and the person who built it has left.

    I map how it really works and write it down, then fix what hurts first, slow queries, hidden errors, missing tests, without stopping what runs. Your team can ship again without fear.

    What you get

    • A map and documentation of what exists
    • The worst problems fixed first, without downtime
    • A backend your team can change safely
  3. 03

    Connect what you have to payments, email and outside APIs

    Your product works, but it has to talk to the rest of the world.

    Payments, emails, a CRM, another platform: I wire them in with webhooks, retries and logs, so a failure on their side never becomes a lost order on yours.

    What you get

    • Payments, email and third-party APIs wired in
    • Retries when an outside service fails
    • Logs that show what happened, and when

The tools I use

Languages
  • TypeScript
  • SQL
  • Python
APIs
  • Hono
  • Node.js
  • REST
  • OpenAPI
  • Scalar
  • Zod
Cloud and data
  • Cloudflare Workers
  • D1
  • Queues
  • Workflows
  • Drizzle
  • SQLite
Quality and delivery
  • Vitest
  • GitHub Actions
  • Docker

Where I do this today

  • Lixali Studio

    Backend developer

    – now

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

Writing

Notes from building things, published on Hashnode. Articles are in English only.

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.

    SecurityNode.js

  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.

    ArchitectureFlutter

  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.

    FlutterOffline-first

Let's talk

Hiring for a backend role, a project to build or take over, or just saying hello? Send a request to my inbox, or write to me directly.

Engraving: Mercury, messenger of the gods, flies on a cloud and holds up a letter

POST /joel/messages

Content-Type: application/json

// a message, straight to my inbox

{

"subject": What is it about?:
"",
"",
""

}