In: AI, AI agents

No funding round. No big pivot. Just real customers, one broken character limit, and the unglamorous work nobody puts in a launch post.

Six Months After I Shipped Lumina; Here's What Actually Happened — figure 1

In January, I wrote two articles about a small AI app I’d built called Lumina. In the first one, I told you how I shipped it, start to finish, in about 30 days, for under $100 in AI credits, without writing a single line of code myself. In the second, I told you how I used AI agents to build the entire marketing campaign around it, memes and all.

Both articles ended the way mine usually do. Proud, a little breathless, “here’s what I built, here’s what I learned, more soon.”

That was six months ago. Nobody writes the article about what happens in between. So here it is.

For the first few weeks, Lumina lived the life every new product lives. I tested it. A few friends tested it. I talked to my own chatbot more than any reasonable adult should.

Then, at some point I can’t pin to an exact date, it stopped being that. A hairdresser studio in Ljubljana started running its actual, daily customer questions through a Lumina widget: opening hours, which treatments they offer, whether they take walk-ins. Not a showcase account. Not someone doing me a favor. Just a small business, quietly using the thing, day after day, because it answered questions faster than a phone call.

That’s the moment a side project turns into something you’re responsible for. Nobody warns you about it in advance. There’s no ceremony. You just notice, one week, that if the thing breaks, a real person’s real customers are the ones who feel it.

A few months in, I got a message I still think about. Not a bug report in the technical sense. Just a screenshot: a visitor had asked the massage studio’s assistant a normal question, and instead of an answer, it said something like “I’m having trouble connecting to the knowledge engine.”

I don’t code Lumina by hand. I orchestrate a set of AI coding agents that do, and my job is to know what to ask them and to catch what they miss. So that’s what we did: went back into the account, traced the exact request, and found the actual cause, which turned out to be almost embarrassingly small.

Months earlier, back when Lumina was brand new, I’d set a safety limit on how long a business could make its assistant’s “personality” instructions: 2,000 characters felt generous at the time, and it was meant to stop abuse, not to get in anyone’s way. Nobody had touched that number since. The studio owner, being thorough, had written a genuinely detailed, thoughtful set of instructions for her assistant, and at some point it crossed that old, forgotten line. The system rejected it silently. No error in my logs pointing at the real cause. Just one customer, quietly hitting an invisible wall I’d built and forgotten about.

We fixed her account the same day. Then, because a bug like that is never really about one account, we raised the limit for everyone, four times over, and put a live counter on the screen so a business owner can always see exactly how much room they have left before they save. Nobody has to guess anymore, and nobody has to hit an invisible ceiling to find out it exists.

This is the part no launch article prepares you for. It isn’t about shipping new features. It’s about a real person hitting an edge case you genuinely never imagined, on an ordinary Tuesday afternoon, and you (and your agents) going and finding it before it becomes a pattern instead of a one-off.

If you’d asked me in January what “the next big thing” for Lumina would be, I would have guessed a flashy new feature. Instead, most of the last few months went somewhere far less exciting: a from-the-ground-up rebuild of the admin panel, a serious pass through the security of the whole platform, and a genuinely large automated test suite (258 tests, if you like exact numbers, and I do) that now runs before anything reaches production.

None of that is visible to a single end customer chatting with a widget. All of it is the difference between a demo and a business.

Here’s a small, very unglamorous example of what I mean. My company is VAT-registered in Slovenia, which means every single invoice Lumina generates has to show the correct breakdown, net amount, VAT, total, in a way that would survive an actual audit. I have an accountant who needs to see that data. She does not need, and should never have, the ability to touch a customer’s account or change a subscription. So part of “the boring work” was building a proper role inside the admin panel: full control for me, read-only “look, but don’t touch” access for her. It sounds like nothing. It’s also exactly the kind of thing that separates a weekend project from something you can actually run as a company.

None of this is what I write about when I want to sound impressive. All of it is what actually occupied my time, and I think that’s worth saying out loud, because if you’re building something yourself, this is the part that’s coming for you too, right after the exciting part.

I made one real architectural bet when I built Lumina, and I want to explain it in plain terms, because it’s the whole reason I trust the product enough to keep building on top of it.

Most “chat with your documents” tools work by chopping everything you upload into small pieces, then guessing, at the moment someone asks a question, which few pieces are probably relevant. It’s a clever trick, and it mostly works, but “mostly” is doing a lot of work in that sentence. Guess wrong, and the assistant either misses something obvious or fills the gap with something that sounds plausible and isn’t true.

Lumina doesn’t guess. It reads everything a business has uploaded, every single time someone asks a question, and answers only from what’s actually there. This year, Google released a new model with a genuinely enormous working memory, roughly a million tokens’ worth of text it can hold in view at once, and we moved Lumina onto it. That’s not the interesting part, though. The interesting part is what it lets the assistant say when it doesn’t know something: “I don’t have that information, please contact us directly,” instead of a confident, invented answer.

That’s the actual product, underneath everything else. Not cleverness. A machine that would rather admit it doesn’t know than pretend it does. For a small business putting this in front of its actual customers, that’s the difference between something they can trust and something they have to babysit.

Here’s where I want to be careful, because I think the honest version of this story matters more than the exciting one.

If you run any kind of service business, hairdresser, massage studio, small clinic, consultant, there’s one question you answer more than any other: “Do you have anything free Thursday?” Today, Lumina’s widget can only recite whatever’s written in your documents. It has no honest way to answer that question, because the real answer changes by the hour, and a document from last month can’t tell you that.

So the next thing we’re building is a way for a business to connect its own Google Calendar, so its assistant can check real, live free time and answer honestly: “Yes, we’re free Thursday from two to four, and after six.” Nothing more than that. It won’t book anything. It won’t ever see what an appointment is actually about, who it’s with, or where it is, only whether that block of time is free or busy. That restraint isn’t an accident. It’s the same principle as the “I don’t know” answer above, applied one level deeper: ask for exactly as much access as the job requires, and not one bit more.

Here’s the part I’m not going to dress up. We’ve decided to build it, and that part is entirely up to my agents and me. But to let Lumina check someone’s calendar, Google requires its own independent review of exactly that request, on its own timeline, by its own standard, and Google can say no, or ask for changes, or simply take longer than anyone would like. So I’m not going to give you a launch date, because I’ve already learned, the hard way, what happens when you promise something you don’t fully control.

What I can tell you is that we’ve started. The privacy policy is being made public, the review request is being prepared, and the moment there’s something real to show, you’ll see it here first, tested, working, or not at all. I’d rather tell you honestly that I don’t know than give you a date I’ll have to walk back later. That’s not a marketing line. It’s the same rule Lumina itself follows every time it answers a question.

If January’s story was “a non-developer shipped a real product with AI agents in 30 days,” this one is smaller, and I think it’s actually the more useful of the two. The July story is: the same non-developer, with the same AI agents, kept that product running, caught a real customer’s bug the same day it happened, rebuilt the boring back office a real business needs, and is now willing to say plainly what it doesn’t yet control.

Nobody puts that in a launch post. There’s no clean before-and-after screenshot for “a small business in Ljubljana didn’t have to think about any of this, because it just worked.” But that, quietly, is the whole point of the thing I’m building. Most small and medium businesses aren’t in the AI conversation yet, not because they’re not interested, but because nobody has handed them a first step small enough to actually take. That’s still the bet. Six months in, no straight line, and I’d take that trade again.



Dr. Tali Režun is Vice Dean of Frontier Technologies and a professor at COTRUGLI Business School, and a serial entrepreneur with over 30 years of experience building and scaling ventures. He builds production software using AI coding agents as a non-developer founder, and writes about it under “From Lab to Life,” field notes from real builds, not vendor marketing.

Links:

Research and Educational Purpose. This article shares my direct, personal experience building and operating Lumina over the past several months, for educational purposes: what worked, what broke, and why.

Commercial Relationship, Stated Plainly. Lumina is my own product, and I have an obvious commercial interest in it. I have not been compensated by Google, Anthropic, Stripe, Firebase, or any other tool or vendor mentioned here; the account of what was built and why reflects my own decisions and my own trade-offs, not sponsored content.

Evolving Landscape. The Phase 7 calendar feature described above is in development and depends on an independent, third-party review process outside my control. Nothing in this article should be read as a commitment to a specific feature or a specific date. This disclaimer is current as of July 2026.


Originally published on Substack; a summary is on talirezun.com.

By Dr. Tali Režun · From Lab to Life · Essay · 10 July 2026