Product & Tech
Good software solves the right problem. Finding that problem is most of the work.
Process
I believe the quality of a technology is defined by its effect on reality. At any level of information entity: a person, a product, an organisation. happens as we use information to represent some aspects of reality increasingly better, through three steps.
Map
We accurately represent the world of the system as its things and their happenings. Domain-driven design in a product context, loosely speaking. This gives us a starting point: a shared picture of what is there.
Model
We connect those things through their relationships: what affects what, how, when and why. Then we increase the fidelity of the model through structured experiments: corresponding changes to reality and to our model of it. This gives us confidence in its predictive power and shrinks the surface of the unknown.
Make
We design purposeful new changes towards our desired outcomes, based on the predictions of our model. This gives us the control to shape reality and create the change we want.
Approach
Theory of Change
Start with the problem. Map how intervention leads to outcomes. Measure along the way.
Data-Driven
Controlled experiments, because memory is unreliable and opinions are cheaper than evidence.
User-Centric
Empathy first, then design. Understand the problem before designing the solution.
Optimized
Maximum impact, minimum effort. Not laziness — focus. Refine until the system is clean.
Well-Structured
C4 model means everyone on the team sees the same system, not their own mental model of it.
Designed to Evolve
Modular from day one. The architecture should anticipate change, not resist it.
Technical Expertise
AI Systems
- Human-in-the-loop AI architectures
- Agent-based AI systems
- Feedback loops for continual model improvement
- LLM observability and prompt engineering
Education Technology
- Personalized learning paths
- Adaptive content delivery
- Interactive engagement mechanisms
- Learning analytics and outcomes measurement
System Architecture
- C4 model for system visualization
- Iterative development approaches
- Modular architectures that evolve with requirements
- Scalability and performance optimization
