I Built Myself a vibecoding AI Assistant Sidekick. Then I Had to Teach It How to Work with me.

I started building my own vibecoding AI assistant because I was getting tired of explaining the same business context over and over again. What began as an experiment with Obsidian, Python, and AI turned into The Bridger Laird, a working knowledge system with a surprising number of lessons hidden in the debugging.

The problem was not that I lacked information.

The problem was that I kept having to explain it.

Every new AI conversation began with some version of: “Here is who I am, here is what C-Mimmi-O does, here is the customer context, here is the product context, here is how I think about this, here is what not to assume, and please do not turn this into generic corporate soup.”

Again. And again.

At some point, I realised I did not need another clever chat window. I needed a working system that could help me use the knowledge I had already built, while keeping my authority, judgment and ability to say “absolutely not” intact.

Vibecoding AI assistant The Bridger Laird built with Obsidian, Python and AI

That system became The Bridger Laird.

Not The Bridger, the character. The Bridger is a C-Mimmi-O identity expression I created. The Bridger Laird is the local, Obsidian-based knowledge and working system behind the scenes.

Think less “robot employee with a tiny tie” and more “sidekick with access to the filing cabinet, strict instructions, and no permission to send anything without asking me first.”

That distinction matters.

I did not need more AI. I needed less repeated explanation.

AI is very good at sounding as if it understands you after reading one paragraph. It is less good at actually understanding your business, your customers, your boundaries, your previous decisions, and the difference between a useful suggestion and a confident hallucination wearing a blazer.

My work sits at the intersection of marketing, business development, operational thinking, technology, and practical implementation. I often start with a frustrating real-world process rather than a shiny software idea. What is slowing people down? What information is scattered? Who updates it? What happens when the normal process breaks on a busy Tuesday afternoon?

Those questions are not decorative. They determine whether something becomes useful or just becomes another tool everyone politely ignores.

Over time, C-Mimmi-O had accumulated a meaningful body of material: articles, service thinking, business context, customer work, research, product ideas and decision frameworks. I wanted to make that knowledge reusable without flattening it into a generic database or throwing it into a pile of disconnected notes labelled things like FINAL_final_v2_actually-final.md.

We have all been there. Some of us are still there.

The Bridger Laird began with a simple ambition: when I ask for help, the system should be able to retrieve relevant context, preserve important distinctions, identify uncertainty, and help me prepare useful work. It should not pretend that every note is equally important, every relationship is certain, or every answer deserves to become an action.

That is a much less glamorous ambition than “build an autonomous AI agent.”

It is also much more useful.

Why Obsidian became the foundation

I chose Obsidian because I wanted the foundation to be local, connected, and understandable.

I did not want my working knowledge to disappear into a mysterious platform where I could not see the source material, inspect the relationships, or understand why a system had reached a conclusion. I wanted notes I could open, improve, challenge, and keep connected to the work they came from.

A folder full of notes is not automatically a knowledge system. Neither is a vast collection of AI chats. The difference is in the relationships, the structure, the evidence, and the rules for how information should be used.

In The Bridger Laird, a customer is not automatically a product. A product is not automatically a marketing domain. Mirva/Mimmi is not C-Mimmi-O, and neither is the same thing as The Bridger character. These may sound like fussy distinctions until a system gets them wrong.

Then they become very expensive distinctions.

One of the first real lessons came from work connected to Wiurila. The system needed to distinguish between:

At first, retrieval did not give enough priority to the named product. Broad customer context could arrive too early and crowd out the product-specific information that actually mattered to the task.

This was not an exciting bug in the “Hollywood hacker scene” sense. Nobody had to type faster while a progress bar flashed red. But it was exactly the kind of issue that decides whether an AI-assisted system is genuinely helpful or merely very enthusiastic.

The correction was simple in principle and important in practice: product-mode work now begins with the named product and its operational intelligence. It expands to broader customer context afterwards, and only then to current external research when that research is separately appropriate and governed.

The retrieval chain became:

Wiurilan Varaukset → reservation and product intelligence → operational data → Wiurila customer context → current external research

That sequence reflects how I work in real life. If we are discussing a specific thing, start with the specific thing. Do not arrive carrying every possible fact about the wider organisation and sit on the important detail.

Obsidian gives me a practical way to keep source material, structured records, generated views, research outputs and working notes in one local environment. But the real value is not the app itself. It is the discipline behind it.

Where did this information come from? Is it current? Is it a human-approved decision, a generated suggestion, a historical record, or an open question? Can it be used for customer work? Does it need human review?

A useful knowledge system needs answers to those questions. Otherwise it is just a very organised attic.

Building a Vibecoding AI Assistant with Obsidian

The Bridger Laird is not one magical piece of software. It is a practical working arrangement between a local knowledge vault, structured information, Python-based automation, governed retrieval, AI reasoning, and human review.

Obsidian is the home base. It holds the notes, records, source material, working outputs, and the history that gives a request meaning.

Python automation helps prepare and move work through defined steps. It can support structured request handling, context loading, and repeatable checks without requiring me to reconstruct the same setup manually each time.

Governed retrieval is the part that finds relevant material from the vault. “Governed” is important here. It does not mean grabbing every note that shares a few words with the question. It means working with defined context, ranking, boundaries, provenance, and known limitations.

Then AI reasoning helps interpret the request and prepare a grounded output: a draft, a recommendation, a research response, a working plan, or a useful next step.

Finally, I review it.

The basic sequence looks like this:

  1. I ask a question or describe a task in natural language.
  2. The system identifies the relevant working context.
  3. It retrieves and assembles bounded knowledge from the vault.
  4. It interprets the task and prepares an output or recommendation.
  5. I review it.
  6. Nothing gets published, sent, executed, or written back into canonical knowledge automatically.
Trial and error when working with my vibecoding AI assistant

That last part is not an annoying technical limitation. It is the point.

The Bridger Laird can support daily workflows such as Ask The Bridger, creating new work, customer work, product work, and investigating knowledge gaps. It can help assemble context and propose a grounded response. It can preserve provenance and surface uncertainty rather than quietly pretending uncertainty does not exist.

There is also a natural-language request flow. I can describe what I need in ordinary language, and the system can prepare a governed request with the relevant context attached before the work is generated.

In other words, I do not need to build a complicated query every time I want to ask a business question.

But I also do not get to wave my hand and accidentally create a self-governing operational empire. A small mercy for everyone involved.

My expertise still matters, perhaps annoyingly for the robots

The Bridger Laird does not replace my expertise. It makes more of it available at the moment I need it.

That is different.

A system can retrieve notes about marketing strategy, customer operations, content performance, product positioning, or implementation ideas. It cannot independently know whether a recommendation makes sense in a particular business situation unless the relevant context exists and someone can judge it.

My background affects the questions I ask.

Experience in marketing and product thinking helps me connect technical capabilities with customer problems, positioning, adoption, and commercial reality. Operational experience helps me look for the update owner, the source of truth, the exception path, and the real person who has to use the thing when they are already busy.

Years in service environments, retail, production planning, and practical business work have made me suspicious of solutions that look excellent in a slide deck but collapse when someone has to update them before opening time.

This is why I keep returning to a boring but powerful question: what are people actually trying to do?

Not: what software would look impressive?

Not: what could we automate because we technically can?

What work needs to happen, what information is required, who owns it, and what outcome matters?

AI can help accelerate analysis, structure information, and produce first drafts. It can help build small, targeted tools through vibecoding. It can even help expose patterns I might otherwise miss.

It cannot take responsibility for whether a customer relationship, a business decision, or an operational process is genuinely well served.

That is still a human job.

The Bridger Laird documentation overview

What building it really involved

The behind-the-scenes version is less “I had an idea and built an AI sidekick” and more “I kept finding another thing that needed a rule.”

There has been vibecoding, Python automation, Obsidian integration, structured governance work, testing, audits, retrieval tuning, and a great deal of debugging. Some of the work is creative. Some of it is systems design. Some of it is reading a failed test result and wondering whether the software is wrong, the test is wrong, or I have simply forgotten what day it is.

One genuine example came from improving retrieval.

The system needed to recognise relevant concepts even when the wording in a question did not exactly match an existing domain label. That sounds obvious until you try to build it. A person can understand that “working out what information someone needs before opening” may relate to operations, source-of-truth ownership, frontline usability and customer experience without using those exact labels.

A system needs more help.

Expanded retrieval improved that semantic matching. The lesson was clear: a semantic concept is not necessarily an exact graph label.

Then, naturally, solving one problem created another.

Some dense knowledge areas produced hundreds or even thousands of eligible candidates. Five expanded queries reached their configured result caps. At that point, more retrieval was not automatically better retrieval. It was just more material competing to be included.

My first instinct, like many people’s first instinct with AI, was probably some variation of: “Surely more context is safer?”

Not necessarily.

Too much loosely selected context can make a system less focused, not more informed. It can bury the strongest evidence in a mountain of merely related material. So the answer was not to let the system eat the whole vault and hope it achieved wisdom.

The answer was bounded context assembly: prefer representative authority and diversity over raw retrieval volume.

That was a very Bridger Laird lesson. “More” is not a quality standard.

Another very real lesson came from testing the request launcher, the part that helps turn an ordinary-language request into a governed working request with the right execution context attached.

An acceptance test initially failed around an execute-context reload. That sounded worrying. Had the launcher failed to reload important context during execution? Was the whole flow unreliable?

No. The underlying implementation was not the problem. The test detection itself was brittle.

The fix was to correct the acceptance test using an AST-based approach, which is a more reliable way of checking the relevant code structure than relying on fragile text detection. Once corrected, the acceptance test passed.

This is not the kind of detail that gets a triumphant power chord in a product demo. Nobody claps because a false negative was traced back to brittle test detection.

But I care about it because it is real.

If the test is wrong, a pass or fail label alone does not tell you the truth. You still have to investigate. You still have to understand what is actually being checked. Building with AI does not remove that responsibility. If anything, it makes the habit more valuable, because a plausible explanation can arrive very quickly.

The system was also developed through staged audits and human reviews covering identity, retrieval, synthesis, workflow readiness, and genuine work tasks. The operational MVP was accepted only after real workflows had been tested with human decisions in place.

I did not want a magical black box.

I wanted something I could inspect, challenge, and improve.

What I learned, and where this goes next

The biggest lesson is that building an AI-assisted working system is not mainly an AI problem.

It is a knowledge problem, a process problem, a classification problem, an ownership problem, and a judgment problem.

You need to decide what belongs in the system, what counts as evidence, what remains uncertain, which distinctions must be protected, and what the system is never allowed to do on its own.

You also need to accept that useful progress often looks small from the outside. A cleaner retrieval chain. A corrected classification. A failed test that turns out to be a bad test. A context limit that prevents a useful signal from being buried under a large pile of vaguely relevant notes.

That is not failure to automate. That is responsible automation.

The Bridger Laird is active and useful, but it is not finished. It still has limitations. Some knowledge areas are dense enough to require careful context limits. Broader context diversity remains an area to improve through real use. Some capabilities are deliberately constrained because clear boundaries matter more than pretending to be autonomous.

Next, I will improve it through actual work: better retrieval, sharper context assembly, stronger working flows, and more evidence about what genuinely saves time or improves decisions.

This is not about AI replacing how I work. I just want to spend less time reconstructing what I already know, and more time using it well.

The Bridger Laird, my vibecoding AI assistant visualised in 2D

And that is what my sidekick is for.

For internal links, naturally reference your existing C-Mimmi-O content:

To learn about the Obsidian tool, I recommend reading the following two texts: Obsidian for the knowledge-vault foundation and Python for the automation technology. These are suitable contextual links, rather than evidence for your personal development history.

Leave a Reply

C-Mimmi-O is powerful marketing

← Back

Thank you for your response. ✨

Marking image or content being partially or entirely made with AI by cmimmio.com

AI is used to research and compile content on this website. The articles have been reviewed by the author. The sources for the content are added for transparency.
AI is also used to create cartoon imagery on the website.

Discover more from C-Mimmi-O

Subscribe now to keep reading and get access to the full archive.

Continue reading