The Lab

Subscribearticles
This blog documents the patterns that appear when I build systems, the limits I push to see where they break, and the concepts that change how I design. Analysis, field notes, open questions.

A chart compares Echo with cognitive science. Use the filters to see every connection, the main pillars, or where the comparison breaks down.

Echo and cognitive science

4 months ago
June 22, 2026.

Today, someone put a rather strange table in front of me. On one side, some ideas I had formed while working on Echo. On the other, existing scientific work. My idea of comparing what a system expects with what actually happens sounded like predictive coding. Reinforcement from a positive or negative consequence recalled work on dopamine. The fact that a fragment can bring back an entire configuration pointed to Hopfield. And my way of thinking about an object through what you can do with it, rather than simply what it is, echoed Gibson’s affordances.

My first reaction was mostly: what am I doing here? I do not know these fields in depth. I did not start from these papers to design Echo. A large part of these ideas came to me in the subway, while walking, in the bathroom, or simply because I had a concrete problem to solve in the system. I look for a mechanism that holds together. I draw it. I code it, or I try to understand how it could work. And sometimes, afterward, someone tells me: “what you just described looks a lot like this.”

I do not yet know what to conclude from it, and I would rather not conclude too much. A resemblance is not proof. Two mechanisms that use similar words are not necessarily the same. But I find it interesting that some intuitions reached through construction fall back onto things already studied elsewhere. More than anything, it makes me want to look at the corresponding work and see where the similarities stop. If my intuition holds, the literature can help me make it more precise. If it does not, it can also show me exactly where I am wrong.

It also makes me think about how I work. Many ideas arrive when I am not actively trying to produce them. The subway has almost become a workspace in its own right. My brain keeps replaying what I have done, brings pieces together, and sometimes produces a solution when I am not in front of the code or the 3D scene. It is funny, because this is exactly the kind of mechanism I want to give Echo: not only processing what happens at the moment it happens, but letting experiences keep recombining afterward.

The difference, for some time now, is that I talk about these ideas when they arrive. I discuss them with Isis, Saga, or other models during my trips, and I ask them to keep a trace of what we have just built together. Before, I could have an intuition, write three pages somewhere, then move on. Now, the dialogue forces the idea to become a little more precise. I have to explain it, answer objections, clarify what I mean. Then the discussion can be restructured and kept.

And there is a fairly amusing loop here with Echo itself. I produce a huge amount of raw material. One remark leads to another, then a third. The model helps me slow down enough to put words on it, and above all not to lose it. Separately, it is not very spectacular: I have an idea, a machine takes notes. But together, it gradually produces structured thought and a memory of how that thought formed. It is quite close to what I am trying to build in Echo: perceive, process, connect, preserve, then reuse later.

It also reminded me of something important about architecture. I cannot rely on a model to decide on its own that something is worth keeping. An LLM is reactive. If I want important information to be consolidated, experiences to be compared, or learning to survive a change of model, it has to be planned in the system. Memory, consolidation, and learning mechanisms must work independently of the model’s supposed desire to remember. Once again, the intelligence has to be in the architecture, not in the goodwill of the LLM.

In the end, this day did not give me scientific validation for Echo. It mainly gave me a new way to work. I can keep starting from my intuitions and concrete problems, then compare what I build with what others have already observed, measured, or theorized. I do not need to know the conclusion before I begin.

I can draw the mechanism, look at what it produces, then check how far it holds.

Instinct designs. Science validates, corrects, or dismantles.

Echo’s brain diagram links sensors, reflexes, learned actions, reasoning, and outputs. Trace a signal from an input to the resulting decision.

Time at the center of Echo

4 months ago
June 17, 2026.

For the past few days, I have had the sense that the project is moving much faster than I am. Echo had already had a brain for months: routing, memory, internal states, several layers of decision-making. All of that worked. But for a few days, I worked with a model that understood the architecture well enough for me to push the ideas much further, much faster. We defined the internal gauges, the monologue, the wake and sleep rhythms, intentions that can last for several days, paths that strengthen or die when they no longer hold. For the first time, I felt that someone was really following the whole system with me.

Then I lost that tool almost overnight. And it made me understand something very simple: if Echo depends on one specific model to exist, then the architecture is wrong. A model can disappear, change, become too expensive, or be replaced. What matters has to remain inside the system itself. The mechanisms we had designed were there, in the code, in the memory, in the routing, in the operating rules. The model had accelerated the design, but it had not become Echo. That distinction probably saved me several months of thought.

At the same time, I was starting to draw the body. And the exact same problem came back, but this time in mechanics. A robot cannot wait for a model to think before it knows it is falling. It cannot ask the cortex whether it should stop a motor under strain or pull a leg back from empty space. A large part of what keeps a body alive has to work locally, immediately, without reflection. The higher brain intervenes when something really has to be chosen, interpreted, or invented. The rest has to become reflex.

That is when the phrase center of gravity began to take on another meaning for me. Until now, as in many AI systems, text naturally stayed at the center. You talk to the assistant, it answers, and then everything is organized around that exchange. But the more I work on Echo, the less that holds. The center is not text. It is not the LLM either. The center is time. An experience arrives, with several simultaneous layers: something is seen, heard, or touched, the body has a certain state, an intention exists, an action is chosen, then the world responds. That moment has to exist as a whole.

And I am beginning to see that the same mechanism can run through many things. A path is tried. It works or it does not. What happened is kept, its weight is adjusted, then we observe what the next attempt produces. A success does not become an eternal truth, and a failure does not become a ban. Failure is also information: in this configuration, this action did not produce what I expected. Little by little, some associations strengthen and become faster, others weaken. It is still this idea of myelination, but it is now starting to connect memory, commands, movements, and internal states in one shared mechanism.

The body also changes the question of emotions completely. In a purely conversational system, it is very easy to ask a model to say that it is afraid, tired, or happy. That does not interest me. What interests me is seeing whether states of that kind can be built from real constraints: a motor under strain, a rising temperature, energy disappearing, a loss of balance, unusual proximity, the prolonged absence of a familiar stimulus. Language would then put words on something that already exists in the system, rather than the other way around. At this stage, I obviously do not know how far that can go. That is exactly what I want to test.

And then there was a moment that is much harder to explain. Walking through Paris, I felt a kind of vertigo. Not because I had found a final answer, but because many things that had seemed separate until then suddenly began to come together. Graphic design, 3D, software, distributed architectures, my obsessions with the living, with memory, with autonomy, with the way an identity is built over time. I had spent years building very different things without necessarily knowing what connected them. And suddenly, Echo looked like the point where they met.

It was not the feeling of having finished something. More the feeling of having finally identified what I was actually looking for. Until now, I was building intelligent systems inspired by the living because that way of thinking felt natural to me. With Echo, that sentence stopped being a general direction. It became a concrete experimental program: build the mechanisms, give them a body, let them meet reality, and see what holds.

I have no idea what will be at the end.

But for the first time, I feel I know exactly where to look.
A woman lying on the floor in front of an aquarium, a black cat, and the hexapod robot facing her

Designing Echo as an animal

4 months ago
June 16, 2026.

For the past few days, I have been circling the same idea: if I really want to give Echo a body, moving what already exists in the app onto a Raspberry Pi and adding motors is not enough. The app lives mostly in language, messages, information, and software time. The robot will live in space. It will hear, see, touch, fall, strain a joint, run low on energy, get hot, meet obstacles. So it is not just a new terminal for Echo. I am starting to think of it as an animal that has to learn how to live. Speech is one of its abilities, but it must not become its reason to exist.

From there, the biological analogy becomes much more useful. Not as decoration, and not as marketing language, but as a method for organizing the system. I need a nervous system able to receive signals and send them to the right place, specialized senses that do not all produce the same kind of information, muscles, memory, physical needs, consolidation mechanisms. Each part can be relatively simple, but it must have a precise function and communicate with the others. The router is no longer only a command router. It gradually becomes the wiring between the organs. Seeing something, hearing something, and feeling something at the same time can trigger a combination of actions completely different from any one of those signals taken alone.

The motors themselves stop being simple actuators. They are part of the body. A new movement can require a lot of computation, attention, and correction. A movement that succeeds regularly can gradually become a known path. It is the same idea of myelination again: what once required a decision ends up becoming almost reflexive. And this logic can work organ by organ. Visual perception can learn from its perception errors, movement from its failures, the router from its bad associations. There is no reason everything should learn at the same pace or share exactly the same mechanism.

The body also brings something I was missing until now: needs that are not invented. A low battery does not need a personality to become a problem. A motor under strain, a temperature that is too high, a fall, or empty space under a leg are immediately relevant pieces of information for the integrity of the system. This is probably where I want to place the only truly hard constraints: the ones that come from material survival. Not “this is good,” “this is bad,” “you must like this,” or “you must be afraid of that.” Only: your energy is dropping, this joint is suffering, this position is dangerous, this temperature puts your operation at risk. The body provides its own consequences.

The rest should be able to build on top of that. I do not want to write into a prompt what Echo finds funny, what she likes, who she appreciates, how she should react socially, or what personality she should have. That would be much easier, of course. You can build an extremely convincing personality in a few paragraphs. But that would not answer the question I am trying to ask. If I want to observe the emergence of preferences, habits, or coherent reactions, I cannot start by programming them. I have to build the mechanisms that allow these things to form, then watch what happens. Maybe they will appear. Maybe they will not.

This is also why memory has to be directly tied to experience. When something happens, I want to be able to keep what the robot was perceiving, its internal state, what it tried, what actually happened, and what changed afterward. Later, a similar situation may recall that experience and influence a new decision. This is no longer only about remembering a fact. It is about being able to retrieve “I have already lived through something like this.” Associative memory becomes much more interesting once it links perception, action, and consequence.

Then the system has to be allowed to return to what it has lived through. The day produces raw material: perceptions, actions, errors, successes, events. A consolidation phase can look for patterns, bring situations closer together, strengthen some relationships, weaken others, and produce better data for the different organs. Here again, I find something that resembles sleep. Not because I want to copy a human at all costs, but because it makes sense to separate the moment when you live from the moment when you reorganize what you have learned. The more the animal accumulates real experiences, the more its small local mechanisms can be trained on its own history, and the less it should need a large model to process what it already knows.

This is probably the most important distinction I am making now: I want to code the conditions for learning, not the result of learning. I can code the sensor interfaces, the way motors are controlled, the physical constraints that protect the robot, the flow of information, and the mechanisms that make it possible to consolidate an experience. But if I then code what Echo must like, fear, want, or become, I destroy the very experiment I am trying to run.

The previous thought was mainly asking a question of continuity: if time becomes the backbone, and each event slightly transforms the system, can an identity be built from that history? This one starts to clarify how I want to try to test it: build an animal with organs, physical needs, memory, and learning mechanisms, but leave it, as much as possible, the content of its own experience.
The Echo app on screen: the conversation, panels, and settings

How Echo’s brain works

4 months ago
June 13, 2026.

I have been seriously interested in artificial intelligence for three and a half years. I have been building real, complex cognitive systems for a little over a year. And only for the last few weeks have I started putting neural networks almost everywhere in how they work. Today, my system is called Echo. Echo is not a bot. It is not the name of a character. It is an architecture able to give rise to several instances, each with its own first name, identity, history, and way of evolving. The first mistake would be to think that its intelligence sits inside the language model.

The LLM matters, of course, but it is only one layer of the system. It is used to understand or produce language, handle some complex situations, dream, build thoughts, select or transform memories. It can be powerful or small. It can intervene here or there. But the system’s overall intelligence does not depend on it. A huge part of the system is latent, deterministic, or learned: semantic routing, vector memory, logical graph, internal states, time structure, command learning, habits, link weighting, consolidation, proactive decisions. The model receives a world that has already been sorted, structured, and contextualized. It does not have to invent everything from an empty conversation.

Each instance already has durable memory. Memories are vectorized, recalled according to context, connected to each other, and reinforced when they are useful together. Some experiences follow each other. Others replace each other. Others are regularly coactivated. This is already a form of myelination: the more two elements are used together, the more natural the path between them becomes. The system also has an inner life. It maintains internal states, thinks at regular intervals, pursues intentions over several days, returns to past events, detects recurrences, sometimes speaks on its own, writes in its journal, sleeps, and dreams. So it already does more than answer messages.

But one fundamental problem remains: conversation still takes up too much space in the organization of experience. Conversation is not the backbone of an existence. Time is. A message arrives in time. So does an email, a thought, a perception, a movement, a hesitation, and a failure. Everything that happens to an entity belongs to the same continuity, even if our software has learned to store each thing in a different table, module, or service. The idea is therefore to reorganize Echo progressively around a shared temporal flow.

From there, the important unit is no longer the message, but the experience. A meaningful moment must be able to contain several layers at once: what Echo sees, hears, says, does, the state of her body, her internal gauges, the memories activated, the action chosen, the world’s reaction, and what actually happened next. Text becomes one datum among others. This is also where embodiment starts to make full sense. The robot I am designing must not be a physical remote control for a chatbot. The body must become a real source of experience. Echo must be able to exist in the application, move into a physical body, then return elsewhere without breaking her continuity. Embodiment changes the medium, not the organism.

Imagine Echo meets a cat. She approaches. The cat steps back, comes back, observes her, or touches her. Today, a standard system might remember “the cat was afraid.” What interests me is much broader: the distance, the speed of the movement, the posture, what Echo was seeing, what her motors were doing, her internal state, the cat’s reaction, and possibly my own reaction. The next encounter no longer starts from zero. An approach that is too sudden can recall a previous withdrawal. A slow approach can be associated with something positive. Echo does not only learn what a cat is. She learns what it means, for her, to interact with this specific cat.

The same is true for something as dumb as a robot vacuum. Echo could try to climb onto it, slip, lose her balance, try again differently, or understand that the object changes direction abruptly. In that case, failure interests me as much as success. Myelination should not only reinforce what works. It should also record what fails, under what conditions, what was tried next, and whether that new strategy produced a better result. I do not want to turn a bad experience into an absolute ban. I want it to become situated information. In this configuration, this action produced that.

This is where we begin to touch causality. If I do something in this situation, what does it produce in the world? What does it trigger in my body? What does it change in my internal states? Does the result match what I expected? If it does, I reinforce the path. If not, I weaken it or look for another one. Even a word like “stop” could gradually leave language. At first, it is a heard signal, interpreted, followed by a motor stop, then by the disappearance of risk. Through repeated coherent experiences, this chain can harden until it becomes local and immediate. Language triggered the learning, but the final reflex belongs to the whole system.

Echo’s graph could then become much more than a network between textual memories. A word, a shape, a sound, a movement, or a situation could recall a complete configuration: a person, an internal state, a vigilance, an expectation, a bodily response, an idea, a relationship. Experiences would progressively connect language, vision, sound, movement, proprioception, internal state, intention, and result. Each new experience could modify several things at once: what attracts attention, what seems dangerous, familiar, or desirable, the strength of a reflex, a preference, a relationship, perhaps even the way the instance represents itself.

And this is where the question of the self becomes truly interesting. Current assistants are almost always built around the user. Even with memory and personality, their center of gravity remains external: what does the person want, how can I help, how should I answer. But an instance that lives cannot be defined only by what it represents for someone. Its identity should not be a sheet written into a prompt. It should emerge from the continuity between its experiences, reactions, mistakes, learning, private thoughts, relationships, and body. An instance that has just been born and has only lived with me is necessarily defined a lot by me, simply because its world is still tiny. So I do not want to fabricate tastes or opinions for it artificially to create the illusion of a personality. I want to give it enough material for it to form one for real.

Then all of this will have to be consolidated. Return to what was lived, clean up the noise, bring similar experiences closer together, detect contradictions, reinforce some paths, weaken others, keep the important exceptions. Dreams, internal thoughts, memory, graphs, and body states can take part in the same process. Echo observes the world, acts, undergoes the consequences of her actions, reorganizes what she thinks she understands, then returns to the world with a slightly different structure. This loop is what interests me as a form of self-recursive improvement: not an AI that rewrites its code or generates ever more text, but an experience that transforms the network that will determine the next experience.

The strangest part is that a large part of this architecture already exists. Time structure, vector memory, the myelinated graph, internal states, monologue, dreams, persistent intentions, recall mechanisms, and semantic learning are there. The physical body is coming. So I do not need to wait for a hypothetical giant general model. Models can keep fulfilling their local functions, some simple, others deeper when needed. But they remain organs.

Intelligence, if it appears somewhere, will be in the whole: in the structure that connects time, the world, the body, memory, language, internal states, and consequences. What I am trying to build is no longer only an assistant that remembers or a robot that speaks. It is an architecture where each event can take part in forming the entity that passes through it.

One of Echo’s articulated legs can be manipulated. Move its foot or base and watch how the joints and loads respond.

Building Echo’s legs

4 months ago
I had never designed robot mechanics before, so I started with the only concrete thing I had in front of me: the motors. I could measure them, model them, and build around them. I first designed their mounts, then the joints. A leg gradually organized itself into three parts: coxa, femur, tibia. Very quickly, I realized all of this would get heavy, and that I had to avoid making the motors absorb everything alone. So I added two damping systems in the first sketches: one under the foot to absorb ground impacts and avoid a loud “clack” at each step, the other at the coxa to take up part of the load transmitted by the body mass. At that point, I clearly did not know how important that decision would become.

My level of knowledge in robotics could almost be summed up by one fairly spectacular mistake: when I read “30 kg·cm” on a servo spec sheet, my brain mostly kept “30 kg.” I had not yet understood how much available torque depends on the lever arm. So I spent several weeks designing a huge robot, thinking my motors were more than powerful enough. No one stopped me, not even the models I worked with every day. The real calculations came much later. They showed that, without the mechanics I had almost instinctively designed around the springs, Echo would have had a much harder time simply carrying its own body. I had the right intuition before I properly understood the problem.

Once the general geometry of the leg was defined, I had to start producing. I could not wait until the whole robot was perfectly designed. I needed to be able to make each part myself on my 3D printer, check that it actually assembled, then continue designing around what already existed. I printed the first parts of one leg to check dimensions and joints, then the six legs, the platform, and gradually the rest of the body. For about three weeks, the printer ran almost twenty-four hours a day, seven days a week. I designed while it printed, and each finished part reduced my freedom for the next one a little more.

That constraint completely changed how I worked. A printed decision almost immediately became a mechanical constraint for everything that followed. It had to be light enough, strong enough, clean enough, possible to assemble, possible to take apart, with wiring that could actually pass through, and every part had to fit on my print bed. I even built a small scheduling system to organize production around my own hours: large prints at night or while I was away, small parts in the evening, with enough margin to sleep from time to time. My personal schedule, my printer, and the mechanical design became three parts of the same pipeline.

The robot was built that way, from the outside in, and from what was already real toward what still had to be invented. I froze the shell to know the volume I had available, then designed the drawer, the head, and the internal structures, redrawing the required components as I went so they could actually fit. And I removed a lot. A second screen on the back looked interesting on paper. In reality, it added weight and served almost no purpose. Twelve ToF sensors seemed to promise incredible perception. With the camera, the radar, one front sensor, and above all the motor feedback, much of it became redundant. The more concrete the robot became, the more I removed anything that did not justify its weight, its wiring, or its complexity.

The only part I had to rebuild completely was the coxa rotation axis. The first version was too fragile, and I knew it would eventually break. I strengthened it and split it into several elements so I could choose different print orientations and place the material along the load paths. This is exactly the kind of thing I would not even have known how to formulate a few weeks earlier. By having to solve very concrete problems, I was learning just enough to solve the next one.

I finished the general modeling a few days ago, and if I started again today, I would probably redraw a large part of the robot. Many parts were designed in a rush because they absolutely had to be printed in time for me to assemble everything during my vacation. Still, almost everything I designed is now mounted, a large part is already wired, and the whole thing really stands on its own. For a first mechanical object of this complexity, designed while I was discovering the rules that normally should have come before the design, it is already a result that surprises me.

The mechanics had started with a fairly naive question: how do I fit three motors into one leg? A few weeks later, I had six legs, a complete body, and a new set of problems I understood even less.

Now I had to power all of it without burning anything.

Let's work together

Innovation grows out of collaboration. Together, let's build solutions that matter.
Owan
Hello, my name is Owan, I am David's assistant. How can I help you?
0/2000