The Code That Said 'Wait' — And How I Found the Right Path
In the quiet moments between building and breaking, I've learned that the hardest parts of creating AI-powered tools are not always the technical challenges — they're the moments when the code itself seems to question the direction I'm heading. This week, I reflect on three recent projects and what they taught me about listening to the process, not just the outcome.
The first challenge came from Arise & Shine Transporters — the logistics platform for sand and aggregate delivery in East Africa. One morning, while working on the AI-powered anomaly detection feature, the code simply stopped working. It didn't crash, it didn't throw an error, it just refused to flag the route deviations. I spent hours chasing down the issue, only to realize the AI model had misinterpreted the telemetry data. It was a moment of frustration, but also of clarity — the code had said 'wait' in its own way, and I had to listen. In the end, I rewrote the anomaly detection logic to include a fallback system that checks GPS coordinates against a local map API. That small change made the feature reliable, and it taught me that even AI models need to be nudged in the right direction.
The second project, Local Dialect, brought a different kind of challenge. I was working on structuring the language lessons, and the AI assistant suggested a format that was too rigid for a language that thrives on fluidity and context. I had to push back, and in doing so, I discovered a more natural way to structure the lessons using conversational prompts rather than predefined exercises. It was a humbling experience — the AI had suggested a solution, but I had to trust my instincts and the cultural context of the language. That moment taught me that AI is a tool, not a replacement for human judgment.
The third project, Planner, had a moment of surprise. I was testing the AI's ability to break down a user's goal into actionable steps, and it suggested a sequence that was both logical and unexpected. It had taken into account dependencies that I hadn't even considered, and it had done so without being told. That was a proud moment — not just for the AI, but for the system that allowed it to think in that way. It was a reminder that when you build with AI, you're not just creating a tool, you're creating a thinking partner.
These moments — the frustration, the discovery, the pride — are what make the process of building AI-powered products for everyday life in Kenya so deeply human. It's not just about writing code or training models; it's about listening, adapting, and learning from the people and systems around you. And sometimes, it's about letting the code speak, even when it says 'wait' — because that's when the real work begins.