Candice, your family's helper
Text Candice in iMessage. Your family’s personal data is handled on-device with Apple’s foundation model. Complex tasks go to Claude with masked PII.
Meet Candice
I've been shipping production software since 2011, long before most of this was called AI. Now I build agents that keep the craft, the judgment and the accountability firmly human.
The conversation always seems to be about whether AI will replace us. Sitting here, watching an agent write the bulk of my code, I understand why people ask. But they are looking at it the wrong way.
The real shift isn't about replacement—it's about responsibility. Accountability. As these tools get better, my job is no longer just about writing lines of code. It is about deciding what is actually worth building, checking the work and owning the impact. The agent can write, but it cannot dream. And when the system breaks, the agent doesn't answer for it. I do. I am accountable.
I learned that on a quiet day not too long ago. I had built an agent to watch over our servers. An observability agent. Suddenly, it raised a red alert, claiming three apps were down, then urgently recommended changing a production network setting. It was a drastic fix. Before I let it act, I checked the servers myself. Everything was perfectly fine. The bug wasn't in the infrastructure; it was in the observer itself. The agent had been mistaking successfully finished jobs for critical failures. I left the network alone and fixed the agent. A few days later, when it raised its next alert, it was telling the truth.
That experience solidified a second belief of mine: your tools should belong to you. If I am going to be accountable for what my AI does, I want it running where I can see it, control it, and trust it.
The projects below are what this belief looks like in practice.
Text Candice in iMessage. Your family’s personal data is handled on-device with Apple’s foundation model. Complex tasks go to Claude with masked PII.
Meet Candice
Plasmie is a free Mac app that keeps notes on your work day. Every hour it reads the apps you connect, then summarises and files decisions made and topics talked about using Apple's on-device model. When it isn't sure where something belongs, it asks you.
Visit sitePokémon Agents adds fun while you develop by turning your Claude Code sessions into random Pokémon. Instead of monitoring a list of terminal windows, you can see at a glance which agents are working, which are done, and which ones have questions for you. Each repository/session/project is represented as a Pokémon that levels up and evolves based on your actual development activity, such as commits, merges, and successful test runs. Watch out for badges and legendaries!
Visit siteA non-commercial fan project inspired by the Pokémon games. Not affiliated with or endorsed by Nintendo, Game Freak, Creatures or The Pokémon Company.
I've always been the lead who still writes code, it helps me make better technical decisions.
Line-managed senior engineers while staying hands-on in Laravel, ReactJS and in-house MVC frameworks.
Built Laravel, ReactJS and MinIO-backed applications from the ground up.
Project lead on a J2EE financial web app for a Japanese client.