My AI Was Lying to Me About My Relationships

And I almost shipped it to a product.

Share
My AI Was Lying to Me About My Relationships

And I almost shipped it to a product.

---

I built a Relationships tab in my personal AI dashboard. It tracked the people I care about — showed me when I last talked to them, whether I was overdue, even drafted a check-in message when I needed one.

It looked like it worked. The UI was clean. Numbers populated. Contacts showed up. Honestly, I was proud of it.

Then I noticed my dad showing as a ghost. Someone I talk to regularly.

I dug in. Turned out the system was only counting messages I sent — not messages I received. So anyone who texts me more than I text them looked like a dead relationship. The app I built to help me be a better friend was quietly punishing me for having people who initiate.

That's the thing about building with AI. There's this seductive phase where everything looks right. The UI works. The data flows. You demo it and it's impressive. But "looks like it's working" and "actually working" are two completely different things — and the gap between them is where most projects die quietly.

---

The Week I Stopped Demoing and Started Fixing

I went back to basics. No new features. Just — does this thing actually tell the truth?

Here's what I found.

The sync only looked back 7 days. Efficient, sure. But I'd been building for weeks. A close friend who'd texted me multiple times showed up as someone I'd never contacted. He'd been there the whole time — the system just hadn't looked back far enough. A single manual backfill fixed it instantly.

The contacts search was timing out every time. Didn't matter what I typed, it just hung. Once I actually traced it, it was fetching phone numbers and email addresses for every single person in my contacts before narrowing by name. Hundreds of lookups before returning one result. Fixed it to filter first, then fetch. Works instantly now.

Even after that fix — the search was still silently failing. Took me embarrassingly long to figure out why. Turns out macOS never actually showed me the permissions prompt. The process needed Contacts access, didn't have it, and just timed out without ever telling me. Classic Apple. Once I found it, one toggle in System Settings fixed everything.

And the "Add Person" flow had a race condition I didn't catch until a family member came up blank. You'd type a name, results would start appearing — but because search requests were coming back out of order, the most recent results weren't always the last thing you typed. Fixed it by tagging each request so only the current one gets applied.

None of these are glamorous. None of them make a good demo. But they're the difference between a tool that looks useful and one that actually is.

---

The Uncomfortable Part

Here's what I haven't been able to shake.

By the time I found the inbound/outbound bug, it had been wrong for weeks. I'd been looking at it. I'd been using it. I told people about it. And it was giving me bad data the entire time — about my own relationships, with people I actually care about.

That's the real lesson from this week. Not the bug. Not the fix. The lesson is: I wasn't asking hard enough questions.

I was building. Adding features. Making it look better. And somewhere in there I stopped checking whether the foundation was right.

I don't think this is unique to me. I think it's what happens when you're excited about what something could be. You stop auditing what it is.

The goal now isn't to build faster. It's to build things I'm actually willing to trust.

---

Why I'm Not Just Using Someone Else's Tool

Someone asked me this week — why build all this from scratch? There are pre-built connectors for everything now. Calendar, email, CRMs.

But none of them read iMessage.

Apple's ecosystem is closed. The only way to get at your message history is to read the underlying database directly, which means you need local Mac access, which means you need something custom. No connector changes that.

And beyond the technical reality — even if there was a connector for everything, the value I'm building isn't in connecting to a calendar. It's in what I do with that data. Who matters to me. How I actually communicate. What patterns matter. A generic tool doesn't know that a close friend texts me more than I text him, and that's actually fine, it's just how we work.

The connectors are good for what they do. They're just not building what I'm building.

---

Where I Actually Am

At the end of this week: the infrastructure is impressive. The system runs dozens of automated jobs, scouts opportunities, syncs messages, synthesizes memory. Does it while I'm asleep.

But I have zero revenue. Zero external validation. Three products that are mostly done, sitting there.

Mostly done is the trap. Mostly done doesn't generate revenue. Shipped and imperfect does.

I've been building for months. I love building. But I'm learning to tell the difference between building because I'm making progress — and building because it feels safer than shipping.

One of those is momentum. The other is just a comfortable place to hide.

---

This is Forged Agents — learning in public, one broken thing at a time. If something in here resonates, reach out. Seriously.