The Evolution from Code Craftsmanship to Living Systems: A Conversation About the Future of Software Architecture

The Great Paradigm Shift We stand at a remarkable inflection point in software development. For decades, we’ve been craftsmen — carefully shaping code, debugging line by line, architecting systems through sheer intellectual force. But something profound is happening: we’re transitioning from writing code to conducting systems. The shift is from imperative (“do this step, then that step”) to declarative (“here’s the goal, you figure out the steps”) thinking. Instead of telling the computer how to solve problems, we describe what we want and let intelligent systems figure out the implementation. ...

August 23, 2025 · Tolic Kukul

Building Hybrid Declarative Systems: A Practical Architecture Guide

Yesterday I explored how proof trees and machine learning can work together. Today, let’s get practical: how do you actually build these hybrid declarative systems? Back in 2012, I built a proof of concept for medical software that tracked drug interactions, advised on dosage, and provided decision support that human doctors could review. It was a glimpse into what’s now becoming mainstream. Here’s how I’d build it now. The Four-Layer Architecture Think of a hybrid declarative system like a brain with specialized regions that collaborate: ...

January 20, 2025 · Tolic Kukul

What Happens When You Combine Proof Trees with Machine Learning

In my previous article, I explored proof trees: how declarative languages like Prolog break down questions into smaller steps until they can be answered with known facts. It’s structured, logical, and explainable. But it also has a weakness: proof trees need perfect information. If a fact is missing or noisy, the tree collapses. Machine learning has the opposite strengths and weaknesses. ML thrives in messy environments (images, speech, incomplete data), but its reasoning is often a black box. You get an answer, but not much of a “why.” ...

January 19, 2025 · Tolic Kukul