About Me

I'm Raif. I build line-of-business software — the operational tools people use all day to actually do their jobs — usually as the first engineer on a fuzzy idea.

This blog is mostly about two TypeScript libraries I wrote and then had to live with:

smart-enum — enums that carry their own behavior, serialize cleanly, and live in one discoverable place instead of five.

ioc-manifest — build-time dependency-injection codegen over Awilix, with a static dependency graph that catches wiring bugs before they run.

I'm the author of both and their most annoyed user. Every post here comes out of something that broke, surprised me, or turned out to be wrong in a real application.

I started blogging in 2010 at Cannibal Code, writing about FubuMVC and StructureMap. I stopped for about sixteen years. The problems turned out to be the same ones.