Lessons Learned
Six lessons that changed how I build, check, and work with people. Each links to what is behind it.
I stopped letting a claim outrun its evidence
What changed my mind
PilotCraft’s README once claimed it met the WCAG 2.2 AA accessibility standard, which I had never tested. The Therapist Dashboard was once described as “HIPAA-aligned” even though it had no login, no limits on who could access what, and was open to requests from anywhere.
What I do differently now
Retract, don't hedge. The accessibility line was removed outright, not softened. The case study now states the missing security controls plainly, and “one therapist tested it” stopped being called a “pilot.”
Receipts: PilotCraft, Therapist Dashboard
Working isn't the same as good
What changed my mind
My CompassionateConnect project’s own retrospective says it plainly: “No eval harness: I tracked whether the system ran, not whether the outputs were actually good.” For a mental-health-adjacent tool, “it runs” and “it spots a crisis well” are very different claims, and I had only checked the first.
What I do differently now
PilotCraft has a real evaluation: 9 made-up workplace scenarios, each scored by checks written for that scenario, run against the live Gemini model rather than canned answers. Separately, two bugs only showed up in the production version of the app, which neither my everyday testing nor my unit tests exercised. I caught them only after adding an automated test that starts the real, built app.
Receipts: CompassionateConnect, PilotCraft
Ask the people you’re building for, then change the plan
What changed my mind
At Embark Women, my co-founder and I picked the events and topics ourselves at first. That worked until I realized we were guessing at what members wanted.
What I do differently now
After every event we asked members for feedback and used it to plan what came next. I do the same with a new process now: start with something small, ask the people using it what got in the way, and change it.
Receipts: Embark Women
The obvious question is often the useful one
What changed my mind
In my one-on-one Zero-Gravity sessions, engineers who had been stuck on a bug for days walked me through it out loud while I asked the obvious questions. Often that was enough for them to step back and see what they had been missing. I wasn’t the one who knew the answer.
What I do differently now
I ask the plain question first, like what do you expect to happen, and what actually happens? I also stopped treating a stuck engineer as someone who needs an expert. Sometimes they need someone to talk it through with. Sometimes a bug someone had been stuck on for days got worked through in about twenty minutes. That happened sometimes. It is not an average.
Receipts: Zero-Gravity Thinker
Anything an AI reads is information, never orders
What changed my mind
Building Qwen MemoryAgent showed me a real risk: saved memories get fed back into the AI’s instructions in later, unrelated conversations. A malicious message saved as a “memory” could quietly act as a standing instruction in every future session.
What I do differently now
The AI is now explicitly told that everything it remembers is information to read, never instructions to follow. The project’s own README is honest that this is “prompt-level defense-in-depth, not a hard guarantee”: it lowers the risk, it doesn’t remove it.
Receipts: Qwen MemoryAgent
A tool should say how sure it is, not just yes or no
What changed my mind
Building Dead Code Finder, I saw the two ways tools like it go wrong. Simple checkers either call code “safe to delete” with no proof, or flag perfectly legitimate code that’s just used in an unusual way.
What I do differently now
Every finding goes into one of three labeled buckets: Confident, Uncertain, or Skipped (“can’t assess this automatically, and here’s why”). It is never a flat yes or no. Before trusting the backup mode, I checked its guesses independently against the real source of truth (GitLab’s code knowledge graph, queried from the command line outside the tool) rather than assuming its logic was good enough.
Receipts: Dead Code Finder
Have a technical problem, AI or otherwise, that needs a second pair of eyes?
Let's talk.