pharmacy — behavioral compounds
I build tools that make invisible systems visible.
You’ve seen portfolios before. Probably too many this week. Most of them list the same frameworks, show the same todo apps, claim the same passion for clean code. And somewhere around the twentieth one, you stopped reading the descriptions and started just scanning for something that felt different.
That instinct is right. Because what you’re actually looking for isn’t on the resume.
80 repos · 32 public · 126K datapoints · Everything rendered from first principles.
Most developers ship features. I ship behavioral systems inside native products.
The stack changes. The operating question doesn’t: what invisible human pattern is deciding whether this product gets trusted, ignored, repeated, or abandoned?
I build that layer directly into the software. Native iOS apps. Procedural visual systems. Product loops that make emotional state, decision pressure, motivation drift, or interpersonal subtext measurable enough to design against.
Read the Room looks like your iMessage inbox, but the point is not the pixels. The point is that every character has a psychological profile, every response is scored, and every scenario teaches whether you can actually read a person instead of replaying canned tactics.
When the final character turned out to be immune to every influence technique except authenticity, I kept it. Not because it sounded poetic. Because the system produced that result on its own.
Stillness takes the opposite problem: how do you build calm without stock assets, fake atmosphere, or generic wellness sludge? The answer there was procedural Canvas scenes, synthesized audio, and a product surface that feels soft even though the implementation underneath is mechanical and exacting.
WeighIt takes a dense intelligence-analysis method and turns it into a touchable iOS workflow. SoloFinance reduces freelance money anxiety to three numbers that fit on one screen. Different products. Same move: take something mentally noisy and engineer it into a clean operating surface.
That is the throughline. I’m not interested in shipping more screens. I’m interested in building products where the psychology is part of the architecture.
So when a team says, “the feature works, but users still don’t adopt it,” I usually find the same underlying failure: the model of the user is too shallow. The interface assumes rational behavior where the real driver is anxiety, ambiguity, status, privacy, avoidance, reward anticipation, or social risk.
That is the work I do best: native product engineering with a behavioral spine strong enough to change outcomes, not just visuals.