Software engineer building developer tools and programming languages. I work mostly in Node.js, and I'm currently learning Go.
-
uptime-monitor: An edge-native uptime monitor built with Remix 3 on Cloudflare Workers. HTTP, TCP, DNS and heartbeat checks swept by a per-minute cron, with multi-region re-checks from Durable Objects before an outage is declared. Ships a public status page with 90-day uptime bars, SVG badges, an RSS feed, a REST API with Prometheus metrics, and an MCP server so agents can list monitors and trigger checks.
-
shipnode: A CLI to deploy Node.js apps to a single VPS with zero-downtime releases, PM2, and Caddy. No Docker, no Kubernetes. The interesting part is the fluent config builder and Capistrano-style release symlinks with instant rollback, plus built-in SSH hardening and Cloudflare Tunnel support.
-
AlgoLang: An educational programming language with intuitive French syntax that compiles to JavaScript. A from-scratch lexer to parser to codegen pipeline, with a pedagogical mode that annotates the generated JS so learners can see how their code maps to JavaScript.
-
crudify: A Laravel package that scaffolds full CRUD from a single command. It generates models, migrations, policies, Livewire v4 / Volt pages, factories, and seeders, with relationships, soft deletes, file uploads, and searchable fields.
-
adam: A filesystem-first framework for durable AI agents that runs as a long-lived Node process on a self-hosted VPS. An agent is authored as a directory of instructions, tools, skills, and schedules, then built and deployed (often via shipnode).
-
reflection: A zero-dependency TypeScript library for runtime introspection of JavaScript classes and objects, inspired by PHP's Reflection. Discover properties and methods with descriptors, invoke members dynamically, and optionally read decorator metadata, aimed at plugin systems, serializers, and lightweight DI.
-
better-primitives: Effect-shaped async primitives for TypeScript built on Promise, AbortSignal, and better-result, with no Effect runtime. It models a lazy Task with an explicit typed-failure channel, plus typed streams, resources, scopes, and structured concurrency.
Published packages and work built around AdonisJS 7.
-
adonis-bachs: Bachs payments for AdonisJS — hosted checkout, subscriptions, refunds, payouts and signed webhooks, typed end to end with the whole API surface generated from Bachs' own OpenAPI document.
-
adonis-chariow: Sell through Chariow from an AdonisJS app: start a checkout, receive signed Pulse webhooks, gate a SaaS on a license key, and run subscriptions on top of licences. Two runtime dependencies:
zodandbetter-result. -
adonis-admin: A Filament-inspired admin panel for AdonisJS 7 rendered with Edge templates — no Inertia, no React, no runtime dependencies.
-
observe-adonisjs: A clone of the NestJS Observe product (landing page plus dashboard UI) built as a pnpm and Turborepo monorepo with a single AdonisJS 7 + Inertia React app on a shadcn-based design system.
-
onpair.dev: A GitHub App that reviews every pull request for the documentation it leaves behind — renamed environment variables, changed routes, stale config keys, altered public exports — and reports back as a check run before the drift ships. Deterministic contract analysis first, an optional AI doc-drift pass on top.
-
freestack: A suite of around twenty small bilingual (FR/EN) web tools — biolink, waitlist, feedback, status page, forms, polls, paste, split bill, bookmarks, countdown and more. TanStack Start, PocketBase and DaisyUI, deployed with shipnode.
-
vawu.chat: A link-and-discussion community for people building in and for Africa. Submissions get ranked, discussed, voted on and moderated, and reputation is earned rather than claimed. Built for low-end Android over expensive mobile data: server-rendered HTML, forms as the API, and JavaScript only where a page that already works needs it. One AdonisJS modular monolith on SQLite, deployable to a single small VPS.
- trivule: A TypeScript library for form validation in plain HTML or JavaScript, with real-time, declarative rules. Part of the JSBenin community.
- Diagnosing a flash of unstyled content in TanStack Start production
- Beginner guide: deploy a Node.js app with shipnode
- Durable Objects 101: sequential state on the edge
- Email: github@devalade.me
- Site: https://devalade.me




