What Is a Domain Model?
A plain-language guide to Domain Models
Over the years I’ve noticed something curious: almost every software system has a domain model… yet very few companies ever write it down.
In my last role, I remember two different customers — completely independently — asking whether we had a domain model that explained how API entities related to one another. They weren’t asking for new features or documentation changes. What they were saying, in essence, was: “We’re trying to piece together how these concepts fit, but it isn’t obvious from the API operations alone.”
What Are Your Professional Interests?
Reflecting on professional interests
I recently read Supremacy by Parmy Olson, about the race to commercialise Generative AI. One thing that struck me was how both Demis Hassabis, the British entrepreneur behind DeepMind, and Sam Altman, the American entrepreneur behind OpenAI, started their ventures without a specific commercial goal. They were driven by curiosity and possibility. The money and commercialisation only came later, once they became allied with — and partly absorbed by — the giants of Big Tech, Google and Microsoft.
That made me stop and think: What would it look like to pursue professional interests purely for their own sake, without the constraints of short-term business goals?
Introducing the Model Context Protocol (MCP)
Introducing the Model Context Protocol: Why it matters for product development
We’re still in the early days of building practical applications on top of Large Language Models (LLMs) like OpenAI’s ChatGPT, Google’s Gemini, or Anthropic’s Claude. But one thing is already clear: LLMs alone aren’t enough. To move beyond simple question-and-answer interactions, they need three things:
- Prompts – carefully designed instructions or templates for repetitive tasks.
- Resources – documents, databases, or other sources of context.
- Tools – APIs and system calls that let the model act in the real world, safely.
AI Glossary
A personal glossary of AI concepts, platforms and products.
This glossary is a personal reference and explainer covering common terms related to Artificial Intelligence (AI). It includes concepts, platforms, frameworks, metrics, and popular models or products. It’s not intended to be definitive or exhaustive — the field moves fast — but it captures many of the key ideas and names that come up frequently in current AI discussions. All terms are listed in alphabetical order for easy reference.
Technical Documentation Is the New Source Code
How technical documentation has become a core asset — as central to the developer experience as the codebase itself.
In an age of Large Language Models and executable specifications, technical documentation is no longer a second-class citizen. It is the interface, the architecture, and increasingly, the source code itself.
This isn’t a metaphor. It’s a real shift — one that’s both technological and philosophical — and it describes the arc of my own career.
Api First vs Data First
The Hidden Tension Between APIs and Data Models: A Case Study of Enumerations.
In the world of modern system design, there’s a constant debate between API-first and data-first approaches. While each has merit, the real challenge comes from how these two worldviews intersect — or collide — during actual product evolution.
I recently encountered a perfect example that captures this tension: the humble customer title field.
The Journey Begins
Why I’m starting a professional blog in 2025
So, the journey begins…
In a world dominated by short-attention-span video reels, I still believe there’s a place for thoughtful, well-crafted writing on professional topics — as long as it stays short and relevant. I’m always generating ideas, making discoveries, and reflecting on my work, and it makes sense to share those learnings with the community. It’s also a valuable discipline to shape those thoughts into a coherent blog post.