Mobile & full-stack developer

Software that real households use every day.

I build offline-first mobile apps, self-hosted services and the small devices around them: a kitchen wall display, e-reader mods, a care-coordination app. Everything here is in daily use by real people.

Open to full-time remote roles

123,287 → 1,342EPUBCheck errors after epubkit's repair
25smart-display plugins, one setup wizard
3 screensphone, e-reader and kitchen wall display
EN · FRbilingual apps, built in Quebec
Open source

Selected projects

Public code, real users. Each one started as a problem in our own house.

Python · CLI

epubkit

Point it at a folder of downloaded books and get back a library a Kobo opens without complaint: converted, metadata filled in, filenames normalised, structurally repaired, validated with EPUBCheck, and optionally with spoiler-free recaps bound into each book.

Proven on a real 373-book library. The repair rules were each learned by breaking something first.

PythonlxmlEPUBCheckPyMuPDFLocal LLMs

RecapMod

A Kobo mod that adds a Recap button: when you last read, what happened, and who you've met so far. Never past your current page, fully offline.

C++QtNickelHook

Home Screens plugins

Twenty-five plugins for an open-source smart display, plus a wizard that sets them all up for your family in one pass. Releases are built by CI.

ReactTypeScriptViteVitest

Grimmory add-ons

A shared Wishlist and a one-click "Set up my Kobo" for a self-hosted library, added without touching the app's code or database.

PythonSQLiteWeb Pushnginx
In daily use

The kitchen wall

Real screens from our wall display, running the Home Screens plugins. Names are swapped for placeholders.

Wall display home screen with the time, weather, bin schedule, dinners, a week of family events and a hockey score
Home: the day at a glance, from bins and dinners to the week ahead.
Wall display planning screen with a month calendar showing school cycle days, kitchen timers, freezer meals and the weekly menu
Planning: school cycle days, timers, freezer stock and the week's meals.
Wall display screen for a child, with a bedtime card, the school day, a morning chore checklist with a star reward bar, and countdowns
Kid’s screen: bedtime, the school day and chores that earn stars.
Private work

Case studies

Built for a client, an employer or my own household. Code walkthroughs on request.

A communication and care-coordination app for adults with severe non-verbal autism and the many caregivers around them. The person being cared for taps picture buttons or a body map on a tablet; parents, nurses and educators get it in real time on their phones.

  • Multi-tenant by household: one caregiver can belong to several care teams, each with its own role and permissions.
  • Real-time signals over WebSockets with a pending, acknowledged and resolved flow, plus medications, intake limits, vitals and equipment logs.
  • Bilingual French and English, designed for Quebec's privacy law (Loi 25), with sensitive fields encrypted at rest and CI on both apps.
Read the case study →

An app for an electrical contractor's customers to watch their whole-house standby generator and start or stop it from anywhere, plus the firmware for the small device wired into the generator.

  • ESP32 firmware reads run state and fault signals from the generator controller's harness and talks to Firestore over plain REST.
  • Commands only count as done when sensors confirm the engine is running, not when a relay clicks.
  • Runs on Firebase's free tier by replacing cloud functions with a scheduled sweep for alerts, offline detection and push. Security rules are covered by 60+ tests.
Read the case study →

A production offline-first field app. Crews fill in forms and records with no signal, and everything syncs once they're back online.

  • Clean Architecture per feature module, with dependency injection and branded ID types.
  • Local-first data in WatermelonDB on SQLite, with a sync service that catches up when the device reconnects.
  • Detox end-to-end tests, Sentry and Datadog monitoring, French and English.
Read the case study →

Our household's own Todoist-style task app: shared lists on phones, laptops and the kitchen wall display, running on a home server.

  • Kotlin and Ktor API over PostgreSQL, with a React and TypeScript web app.
  • Feeds the wall display through its own plugins for tasks, the meal plan and medication doses, each wall authenticated with its own key.
  • Built test-first in small steps: every step ships with its test as the spec, and a local AI model implements the screen against it.
Read the case study →
What I bring

Skills

Mobile

React Native and Expo apps that work offline first: local databases, sync, push notifications, store releases on iOS and Android.

React NativeExpoWatermelonDBDetox

Full-stack & web

APIs and web apps end to end, from the database schema and auth to the screen, with tests at every layer.

TypeScriptReactKotlin · KtorRailsPostgreSQLFirebase

Systems & devices

The parts most developers skip: embedded firmware, e-reader mods, self-hosting, Docker and CI pipelines.

PythonC++ · QtESP32DockerGitHub Actions
Offline firstApps keep working with no signal and catch up later.
Bilingual by defaultFrench and English from the first screen.
Privacy built inLeast data, encrypted where it matters, Loi 25 aware.
Tests as the specBehaviour is pinned down before it's built.

Have something people will use every day?

I'm happy to walk through any of these projects, including the private ones, in more depth.