About
The path behind the systems, products, and open-source work.
I started programming in 1998 with a small C program. What stayed with me was not the language itself, but the desire to understand what happens beneath an abstraction: how data moves, where assumptions fail, and why a system behaves differently under real conditions than it did in a demo.
That instinct has taken me through startup products, financial and healthcare systems, distributed infrastructure, and developer tooling.
At Inferal, I work as a founding engineer across the core engine, its ontology system, and Relay. I built Relay from the ground up as the product's data-synchronization capability. Working across those layers means treating ingestion, meaning, and runtime behavior as parts of one system rather than isolated implementation tasks.
I founded MonitorMe around an open-source observability framework. I designed the product across telemetry ingestion, backend services, dashboards, and browser session replay, then installed and configured it for several client environments through consulting engagements.
My consulting work includes a latency-sensitive trading and credit platform for Attijariwafa Bank and healthcare data systems for Cheikh Zaid Hospital. Those environments reinforced the same lesson: correctness, privacy, performance, and operability are product requirements, not work to postpone until after launch.
Outside commercial work, I contribute to the Rust compiler, Deno, and rust-analyzer. I also created Bitarena, a bitset-accelerated generational arena for stable handles and fast iteration over sparse tables, with documented invariants, Miri in CI, and reproducible benchmarks.
How I approach engineering
I try to make the system's important properties visible. That means understanding the data path, separating reversible choices from foundational ones, measuring before optimizing, designing failure behavior deliberately, and documenting why a boundary exists.
Speed matters, especially in a startup. The useful question is not whether to move quickly or build carefully. It is which decisions are cheap to revisit, which ones compound, and how to preserve room for the product and the team to grow.
I use AI as engineering leverage: to explore a codebase, test alternatives, shorten implementation loops, and challenge a design. I still expect the resulting architecture, code, tests, and operational behavior to stand on their own. The tool can accelerate the work; it does not inherit responsibility for the result.
You can review the systems and products I have worked on, inspect my open-source contributions, or read my engineering notes.
