The Distance Between an Idea and a Thing
In January 2025, I barely knew what a terminal was.
This was mildly inconvenient, because I had decided to start building software.
I had spent years following artificial intelligence, experimenting with the tools, watching the research and trying to understand where it might lead. I could discuss the legal implications of a state conducting a cyberattack against another state. Getting a development project to run on my own computer was a separate area of expertise.
Less than two years later, building software has become part of my daily life. Things that once looked like an impenetrable wall of technical knowledge have become working materials. I have developed a substantial practical skill set, although not by following the route I would have expected.
I should say plainly what my part is: I define the problem, the product, the design and the AI workflow, AI agents write the code, and although I read every diff that lands I am not your last line of defence on code quality.
Looking back, the interesting part is not simply how much the technology improved. It is how each improvement changed what I needed to learn, what I could attempt, and eventually what I thought was valuable.
The story begins with a rather different kind of computer problem.
2016
When the old categories stopped fitting
In 2016, I wrote my bachelor's thesis in law: Cyber Attacks and the Use of Force: Identifying the Legal Challenges of Jus ad Bellum in Cyber Warfare.
I have always been interested in technology, but this was when that interest began to acquire a particular shape. I was fascinated by the questions that appeared when technological capabilities moved beyond the situations our institutions had been designed to handle.
Consider a power station. Destroying it with a missile fits relatively comfortably into our understanding of military force. What happens when the damage is caused by software? Does it matter that nothing crossed the border physically? How should we distinguish espionage, disruption, sabotage and an armed attack when the same general medium can be used for all four?
International law was not absent. The first Tallinn Manual, published in 2013, was already a substantial scholarly attempt to explain how existing international law applied to cyber warfare. The difficulty was translating established principles into circumstances that exposed their ambiguities. The manual itself was not a treaty or a new law, but an interpretation of how the law should apply.
That distinction interested me. A new technology does not necessarily make every old rule irrelevant. Sometimes it makes us discover that we never agreed quite as clearly as we thought about what the rule meant.
Elsewhere, in March that year, a computer was making a different set of assumptions look less secure. DeepMind's AlphaGo defeated Lee Sedol, one of the world's greatest Go players, by four games to one. In the second game, it played the now-famous Move 37, a move so unconventional that expert observers initially questioned it. It became part of the winning strategy.
AlphaGo against Lee Sedol, game two, the board at move 37
| Line from the edge | 2 | 3 | 4 | 5 |
|---|---|---|---|---|
| Stones standing on it | 5 | 18 | 13 | 1 |
I would not pretend that my thesis and AlphaGo formed a coherent philosophy in my head at the time. They did not. But looking back, I recognise the connection. In one setting, technology was putting pressure on our legal categories. In another, it was challenging expert expectations about what a good decision could look like.
I had become interested in the space between what machines could do and what people were prepared to understand.
I have spent much of the following decade in that space.
2017 to 2021
The future, available in slightly awkward software
The AI tools I actually began using were considerably less dramatic than AlphaGo.
Among them was QuillBot, whose paraphrasing tool originated in 2017. These early writing products were narrower than the general-purpose assistants we recognise today. Still, software that could do something useful with language was enough to draw me in.
Meanwhile, an important change was taking place in research. The 2017 paper Attention Is All You Need introduced the transformer architecture, which made it possible to train language systems in a different and more parallelisable way. OpenAI published the work behind the original GPT in 2018, then opened access to GPT-3 through an API in 2020.
For most people, these developments were not yet an obvious part of everyday life. You encountered their consequences through small products with particular jobs: rewrite this paragraph, suggest a headline, produce some marketing copy. Jasper and Rytr emerged in 2021, with Rytr explicitly building on GPT-3. I experimented with tools like these and found them fascinating, despite their limitations.
Almost nobody around me was particularly interested. To find people discussing what the technology could do, I went looking in obscure corners of the internet.
There is something quite enjoyable about that stage of a technology. The products are rough, the terminology has not settled, and people are still sharing discoveries rather than selling complete systems for becoming an expert by Thursday.
I was not impressed because the outputs were consistently excellent. They were not. I was impressed that the underlying capability existed at all.
That became an important distinction for me.
A tool can be too unreliable for a particular job today and still deserve serious attention.
The sensible response depends on what you are deciding. Whether to entrust it with important work is one question. Whether to start learning about it is another.
2020 to 2022
While we were generating paragraphs, biology was changing
The history of those years can become misleading when told entirely through consumer products. While I was experimenting with writing assistants, another branch of AI was making progress on a problem that had occupied scientists for decades.
Proteins are chains of amino acids that fold into three-dimensional structures. Their shapes matter enormously to what they do. Knowing the sequence does not make determining the structure straightforward, and experimental methods can require substantial time and effort.
In November 2020, DeepMind announced AlphaFold's breakthrough performance in CASP, a major protein-structure prediction assessment. Crucially, this was a blind test. The systems had to predict structures whose experimental results had not been made publicly available in advance. Their answers could then be compared with measurements from the physical world. AlphaFold achieved accuracy competitive with experimental structures in the majority of cases evaluated, as described in the subsequent research paper.
By July 2022, DeepMind and EMBL's European Bioinformatics Institute had expanded their public database to more than 200 million predicted structures, covering nearly all catalogued proteins known to science. These were predictions, not 200 million new laboratory determinations, but the scale of the resource was extraordinary.
Predicted protein structures, July 2022
- Each mark
- 100,000 predictions
- 2,000 marks
- 200,000,000 predictions
- One experiment
- One structure, slowly
Looking back, AlphaFold captures something I would later encounter in my own, much smaller world of building software.
When an important part of the work becomes dramatically easier, the remaining work changes.
A predicted protein structure does not, by itself, produce a medicine. Scientists still need to understand what matters, investigate interactions, design experiments and establish whether an intervention works. AlphaFold made a powerful contribution within that larger process; it did not abolish the process.
That is more interesting to me than a simple story about replacing scientists. A constraint had loosened. What could researchers now investigate that had previously been too difficult, too expensive or too slow?
AlphaFold also gives me a useful correction whenever my scepticism about AI benchmarks becomes too sweeping. A carefully designed evaluation can tell us something consequential. Here, there was an external reality against which to check the answer.
The problem is not measurement. It is forgetting what a measurement measures.
2022
February 2022: the idea became visible
My own decisive moment arrived through images.
I had seen the DALL·E demonstrations. When OpenAI introduced it in January 2021, examples included an armchair shaped like an avocado. It was an amusing object, but also a remarkably clear demonstration of a new capability: describe a combination of concepts, and a machine could produce a plausible visual interpretation.
Then, in February 2022, I was lucky enough to get early access to Midjourney V1.
The first version was abstract, painterly and often incoherent. Midjourney's own documentation describes it in much those terms. It remained the default model only until April, before successive versions began replacing it.
None of that diminished what happened when I tried it.
I could have an idea, put it into words, and see an image appear a few minutes later. It would not necessarily be the image I had imagined. Sometimes that was disappointing. Sometimes the difference was the most interesting part.
Seeing a demonstration had impressed me. Using the tool changed my relationship with the possibility.
An idea no longer had to remain entirely inside my head while I worked out how to acquire the skills or resources to express it. There was something in front of me that I could react to, reject, refine or build upon.
People around me tended to notice the flaws. They were not wrong. But I could not make myself regard those flaws as the most interesting thing about it.
I knew we were near the beginning. I did not know how quickly the beginning would be left behind.
One way I would like to show this history is through a sequence of images made with the same prompt across generations of Midjourney. The human instruction stays still while the machine's ability to interpret it changes. Version numbers are forgettable. A visual comparison makes the movement tangible.
There is a trap here, of course. Once you have watched several seemingly formidable limitations recede, it becomes tempting to assume that every limitation will follow the same path. I try to resist that. Progress in image quality does not prove that every problem in reliability, judgment or real-world action is about to disappear.
But the opposite mistake is equally serious: treating the shortcomings of an early implementation as permanent properties of the technology.
Midjourney taught me to look carefully at both the current result and the mechanism producing it. I would draw on that lesson again when the images became applications.
2022 to 2023
A conversation that never really ended
On November 30, 2022, OpenAI released ChatGPT. I signed up that day.
I have used it, and other AI tools, every day since.
ChatGPT did not invent language models. What it gave me was a particularly accessible way to keep working with one. I could ask a question, challenge the answer, change direction, supply an example and continue. OpenAI's launch description made that conversational format central to the product.
For me, that continuity mattered. Instead of treating AI as a machine into which I inserted a request and from which I collected an output, I began using it as part of a process of thinking.
Explain this. That explanation assumes something I do not understand. Give me an example. Now show me where the example breaks.
The learning was accompanied by another kind of education: discovering how easily useful assistance and confident nonsense could arrive in the same voice. OpenAI had warned about this in the original announcement. ChatGPT could produce plausible answers that were nevertheless incorrect.
In 2023, the legal profession supplied a particularly uncomfortable example. In Mata v. Avianca, lawyers submitted fictitious judicial opinions generated by ChatGPT, complete with fabricated quotations and citations. They continued to stand behind the material after its existence was challenged. The court sanctioned the lawyers and their firm.
For someone with a background in law, the lesson is difficult to miss.
The appearance of authority is not authority. A citation is not evidence until it leads somewhere.
What interests me is how this changes the signals we rely on. A polished document used to provide at least some indication that time, knowledge and effort had gone into producing it. With AI, that connection becomes less dependable. An impressive answer may represent understanding, or it may represent an impressive answer.
My response has not been to stop using the technology. It has been to become more interested in the path between the claim and the evidence.
I also try to apply that scrutiny to myself. A leading question can make it very easy to obtain an articulate defence of something I already believe. It is a pleasant experience. That does not make it a useful one.
Over time, I came to value AI less as a source of agreeable answers and more as a way to expose gaps, explore alternatives and make my own thinking easier to examine.
That habit would become important once the things I was asking it to produce could actually run.
2024 to 2025
The year I chose a different apprenticeship
During 2024, several developments began converging.
Anthropic released Claude 3.5 Sonnet in June, with improved coding capabilities and a workspace for viewing and working with generated artifacts. In September, OpenAI introduced o1-preview, the first public release in its new reasoning-model series. It had been trained to spend additional computation working through problems before answering, including trying different approaches and correcting mistakes.
The significance of o1 was not that machines had suddenly begun thinking in a human sense. It was a practical change in how a language model could work on a difficult problem. More time spent working through an answer could produce better results, rather than merely a longer answer.
At the same time, the surrounding tools were changing. Replit introduced its Agent in September, and Bolt.new launched in October. Editors such as Cursor were bringing AI closer to the files and working environment of a software project. The distance between asking for code and doing something with that code was shrinking.
AI-assisted coding was not new. GitHub Copilot had entered technical preview in June 2021. What changed for me around the turn of 2025 was that building software began to look plausible without first completing a conventional apprenticeship in programming.
So I made a deliberate bet.
I would not organise my learning around becoming someone who could write every line of code unaided. I expected the models' ability to produce code to improve faster than my own ability to learn syntax from scratch. Instead, I would concentrate on understanding enough to direct the work, inspect it, diagnose problems and retain control.
Every rung moved us further from the machine
AI
make it ninety seven, unless that looks wrong
Cloud
replicas: 97
Frameworks
useState(97)
Languages
int x = 97;
Assembly
mov al, 0x61
Machine code
10110000 01100001
The machine
That decision did not save me from learning technical things. It gave me a compelling reason to learn them.
I spent hours in VS Code, Cursor and Windsurf. I watched videos about GitHub, Vercel and Supabase. I asked AI to explain terminals, databases, deployment, package managers and the relationships between the different parts of an application.
SQL, TypeScript, Rust, frontends and backends gradually became less like an intimidating collection of foreign words and more like things I could reason about. I did not need equal depth in every area. I needed to understand what mattered to the problem in front of me, and when my understanding was insufficient.
For months, pnpm run dev became one of the phrases I typed most often. An unlikely addition to the vocabulary of someone who had studied international law, but there it was.
In February 2025, Andrej Karpathy gave a name to a particularly hands-off form of AI-assisted development: "vibe coding." His description included accepting changes without closely reading the code and letting the model handle the details.
The phrase captured the strange freedom of the moment. It does not fully describe the skill I wanted to build.
I wanted more control, not less. I wanted to understand why something failed, how the pieces fitted together and what needed to be checked before anyone relied on it. AI was making that learning accessible while I was doing the work.
This is why I am impatient with the idea that there is only one respectable route into building software. It confuses the historical route to a capability with the capability itself.
But I am equally uninterested in pretending that the responsibility has disappeared. A small tool for personal use does not need to be treated like critical infrastructure. An application handling other people's sensitive information deserves considerably more care. The standard should follow the consequences.
My experience has changed how I think about education, too. It would be easy to turn it into a slogan about degrees becoming worthless. That would overlook what I brought with me: experience learning difficult material, evaluating arguments, working with people and trying to turn ideas into useful things.
What changed was the sequence. I could begin building, encounter the next gap in my knowledge, learn enough to address it, and continue. The project supplied a reason to learn. The AI helped make the next step reachable.
I was not escaping an education. I was assembling one around the work.
2025
When making stopped being the only hard part
As 2025 progressed, the software itself began taking on more of the development process. Anthropic introduced Claude Code in February, with the ability to read and edit files, run tests and use command-line tools. OpenAI introduced its cloud-based Codex agent in May, able to work on software tasks in environments containing a project's code.
This changed the practical question again.
It was no longer enough to ask whether a model could produce a good answer. What could it see? What was it allowed to change? Could it check its work? What happened when something went wrong?
A capable model without the relevant context can spend a great deal of effort solving the wrong problem. Give it the right files, a clear objective, appropriate permissions and useful feedback, and it becomes a different proposition.
Building made those surrounding details increasingly important to me. I became less interested in intelligence as an isolated property and more interested in the conditions under which it became dependable work.
I also became less inclined to put AI into every part of a product simply because AI had helped me build it.
An AI can help write a calculator. The calculator does not need to consult a language model every time someone adds two numbers. Where ordinary software can carry out a well-defined operation reliably, I would rather use it. The model earns its place where interpretation, uncertainty or flexibility actually matter.
Then there was the less technical problem.
I could make far more things than before. That did not mean all of them deserved to exist.
The excitement of being able to produce an application can temporarily conceal the question of whether it is useful. Adding a feature feels like progress, particularly when adding it is easy. But a feature that makes the product harder to understand may leave the user worse off.
This is where my interest in clarity, simplicity and judgment became inseparable from my interest in AI.
If a tool can generate fifty job advertisements in a minute, the valuable work includes understanding the job, the person you hope to reach and what would make the opportunity credible to them. Fifty versions of a poorly understood proposition do not resolve that problem.
The same applies to reports. Suppose an AI produces two hundred of them in a day. That sounds productive until someone has to establish whether they are correct, relevant and different enough to justify reading. Without traceable evidence and a sensible review process, the saved effort can reappear on someone else's desk.
I find myself returning to that question more and more: where did the work go?
Sometimes AI genuinely removes it. Sometimes it moves it from production to verification. Sometimes it creates a new obligation to maintain, compare or select from everything we have generated.
I remain enormously excited by the ability to make more. I am just increasingly interested in what happens after the making.
2024 to 2025
Klarna, and the difficulty of choosing the right success
While I was learning these lessons through software projects, Klarna was conducting a much larger experiment in what AI could mean for an organisation.
In February 2024, the company reported that its AI assistant had handled 2.3 million customer-service conversations in its first month, accounting for two-thirds of its customer-service chats. Klarna described that as work equivalent to 700 full-time agents. It also reported faster resolution times and customer-satisfaction scores comparable with those of human agents. These were company-reported results, and the workload comparison was not the same as evidence that 700 employees had simply been dismissed and replaced.
By May 2025, the story had become more complicated. CEO Sebastian Siemiatkowski acknowledged that too much emphasis on cost had led to lower quality. Klarna was piloting a flexible human-support model and emphasising that customers should have access to a person. Its spokesperson also said the AI remained central to handling enquiries.
Nor did the company subsequently abandon AI. In November 2025, it reported that its assistant was performing work equivalent to 853 full-time agents and had saved $60 million, while continuing to claim comparable satisfaction scores. The public record contains both the correction in strategy and continuing claims of substantial benefits.
Work equivalent, in full time agents
700
Feb 2024
May 2025
Quality fell
People came back
853
Nov 2025
I find this much more instructive than either of the convenient versions of the story.
It does not establish that customer-service workers can simply be removed wherever a chatbot is installed. It also does not establish that automation failed and everything went back to normal.
My reading is that it illustrates how much depends on what an organisation chooses to optimise.
Imagine two customer-service conversations. In one, someone wants to know when a payment is due. In the other, someone is disputing a charge after repeatedly failing to get the problem resolved. Both may arrive in the same queue. Treating them as interchangeable units of work would conceal most of what matters.
Likewise, "refund this customer" is not merely an instruction to press a button. Someone or something needs to establish whether the refund is permitted, what amount is appropriate, whether an exception is being made and what must be recorded.
A model's intelligence does not automatically provide the authority to make that decision. Nor does it decide who bears responsibility afterwards.
This brings me surprisingly close to the questions that interested me in law. Once a system can act, purpose, permission and consequences become part of the work itself.
Working with jobseekers also makes it difficult for me to discuss these changes entirely as an exercise in efficiency. The people behind the numbers have lives. That is not an argument against automation. It is a reason to be precise about what it accomplishes and what it costs.
I would rather begin with the tasks than the job titles. Which activities serve no useful purpose anymore? Which can be automated? What valuable work should receive the time that is freed?
That last question deserves an answer before the project starts. Otherwise, the organisation may acquire faster tools without becoming any better at deciding what to do.
Ongoing
Keeping the ability to notice
There is another lesson from building with rapidly improving models that I keep applying beyond software.
A workflow can become obsolete while still functioning perfectly.
I can spend weeks constructing instructions, checks and elaborate sequences to compensate for a model's limitations. A stronger model arrives, and some of that work may still be useful. Some may be unnecessary. Some may actively get in the way.
The difficulty is that I have invested in it. I understand it. I may even be proud of it.
That is a good moment to become suspicious of my own attachment.
I do not think the answer is to rebuild everything whenever a new tool appears. Constant migration can become its own form of procrastination. I want a working method that earns its complexity, with enough stability to produce useful things and enough flexibility to change when the evidence justifies it.
The distinction is between committing to the work and committing to one particular way of doing it.
For organisations, the stakes are larger. Automating a stable process can be entirely sensible. But where the possibilities are changing quickly, someone still needs to ask whether the process itself remains worth having.
A support team that repeatedly encounters the same confusing policy is not only processing enquiries. It can also be detecting a defect in the business. Automating the replies may reduce the immediate workload while leaving the underlying problem untouched.
That is why one of my strongest convictions has become:
Never automate away your capacity to notice what just became possible.
This is not a claim that a human must manually supervise every action forever. It is a requirement that the system, and the organisation around it, retain a way to question its assumptions.
I want the same quality in my own work. The models should be replaceable. The useful knowledge, project history and ways of checking results should not disappear because I move to a different provider. I would rather become good at adapting than become exceptionally good at operating a machine that is about to be replaced.
2026
The image now has somewhere to go
The image-generation story has continued to develop in a direction that makes my early Midjourney experiments feel both distant and familiar.
In January 2026, Google began opening access to Project Genie, an experimental prototype powered by Genie 3. Users could create and explore generated environments, with the system producing the unfolding scene as they moved through it. At launch, the experience was limited to sixty seconds, and Google explicitly acknowledged shortcomings in physical consistency, control and adherence to prompts.
I recognise something in that combination: a remarkable new possibility surrounded by very obvious imperfections.
In 2022, I could describe a scene and receive an image. Here was a prototype in which the scene could respond to exploration. I do not need to pretend that it is a finished replacement for game development, simulation or filmmaking to find that exciting.
It raises a different question.
What becomes possible when an environment can be generated around an interaction, rather than fully constructed in advance?
That is the kind of question I increasingly want to work on.
We understandably describe AI through familiar roles. We have assistants, employees, tutors and agents. The chatbot gives us an interface we already know how to use: a conversation. These are useful ways into the technology, but I do not assume they describe its final form.
Even my own journey began by asking AI to help with recognisable tasks: writing, images, explanations, code. Gradually, I have become more interested in combinations that would previously have been impractical.
A learning experience that can be built around the precise thing someone is struggling to understand. A small piece of software worth making for twenty people, or one person, because producing it no longer requires the economics of a conventional software company. Tools that let people act on knowledge while the context is still in front of them.

These are possibilities I want to investigate, not predictions I can certify. That distinction matters to me. Enthusiasm should make me more willing to explore, not less willing to check.
By September 2026, I have been building with AI almost every day for roughly twenty months. I have made far more than I could have made before, and learned far more than the phrase "vibe coding" tends to suggest. I am proud of that.
I also know that volume is an incomplete measure. The more capable I become, the harder it is to hide behind the difficulty of execution. I have to take greater responsibility for choosing the right problems, making the result understandable and establishing that it works.
AI has become my biggest passion. It is usually the first thing I turn to in the morning, the first thing I return to after work, and the last thing I am doing before bed. The list of projects has not become noticeably shorter. Apparently, making ideas easier to execute does not reduce their rate of arrival.
I began by studying what happened when technology unsettled the rules. Then I discovered tools that could help me express an idea. Later, I learned to build things I could previously only describe.
Now I am trying to understand what is worth building when so much more is possible.
That is what keeps the enthusiasm intact. Not the belief that the difficult parts are disappearing, or that every new release will justify its announcement. It is the experience of repeatedly finding that a boundary I had accepted is no longer quite where it was.
I have always been a builder at heart. AI has given that part of me much more room to work.
And I am still finding out what to do with the room.
Sources22
- 01NATO CCDCOEThe Tallinn Manualhttps://ccdcoe.org/research/tallinn-manual/
- 02GoogleWhat we learned in Seoul with AlphaGohttps://blog.google/innovation-and-ai/products/what-we-learned-in-seoul-with-alphago/
- 03About QuillBothttps://quillbot.com/about
- 04arXivAttention Is All You Needhttps://arxiv.org/abs/1706.03762
- 05Jasper newsroomhttps://www.jasper.ai/press
- 06Google DeepMindAlphaFold: a solution to a 50-year-old grand challenge in biologyhttps://deepmind.google/blog/alphafold-a-solution-to-a-50-year-old-grand-challenge-in-biology/
- 07Google DeepMindAlphaFold reveals the structure of the protein universehttps://deepmind.google/blog/alphafold-reveals-the-structure-of-the-protein-universe/
- 08OpenAIDALL-E: Creating images from texthttps://openai.com/index/dall-e/
- 09Midjourney documentationLegacy Featureshttps://docs.midjourney.com/hc/en-us/articles/33329788681101-Legacy-Features
- 10OpenAIIntroducing ChatGPThttps://openai.com/index/chatgpt/
- 11OpenAIIntroducing ChatGPT, on limitationshttps://openai.com/index/chatgpt/
- 12JustiaMata v. Avianca, Inc., No. 1:2022cv01461, Document 54 (S.D.N.Y. 2023)https://law.justia.com/cases/federal/district-courts/new-york/nysdce/1%3A2022cv01461/575368/54/
- 13AnthropicIntroducing Claude 3.5 Sonnethttps://www.anthropic.com/news/claude-3-5-sonnet
- 14OpenAILearning to reason with LLMshttps://openai.com/index/learning-to-reason-with-llms/
- 15ReplitIntroducing Replit Agenthttps://replit.com/blog/introducing-replit-agent
- 16GitHubIntroducing GitHub Copilot: your AI pair programmerhttps://github.blog/news-insights/product-news/introducing-github-copilot-ai-pair-programmer/
- 17XAndrej Karpathy on vibe codinghttps://x.com/karpathy/status/1886192184808149383
- 18AnthropicClaude 3.7 Sonnet and Claude Codehttps://www.anthropic.com/news/claude-3-7-sonnet
- 19KlarnaKlarna AI assistant handles two-thirds of customer service chats in its first monthhttps://www.klarna.com/international/press/klarna-ai-assistant-handles-two-thirds-of-customer-service-chats-in-its-first-month/
- 20CX DiveKlarna changes its AI tune and again recruits humans for customer servicehttps://www.customerexperiencedive.com/news/klarna-reinvests-human-talent-customer-service-AI-chatbot/747586/
- 21CX DiveKlarna says its AI agent is doing the work of 853 employeeshttps://www.customerexperiencedive.com/news/klarna-says-ai-agent-work-853-employees/805987/
- 22GoogleProject Genie: AI world model now available for Ultra users in U.S.https://blog.google/innovation-and-ai/models-and-research/google-deepmind/project-genie/