We Built an AI-Run Business to Prove the Playbook
aiasemu.ee is a lawn-care and garden-maintenance company we own and run with AI, built so that every method we sell has been tested somewhere we cannot walk away from. Over three months it recorded 630 clicks and 5 920 impressions at an average position of 5.8, with one query converting at 35.7% CTR, and it scores 93/100 on our own readiness checker. It also has a funnel that leaks and a configuration bug that held indexing down for a long stretch. We are publishing both.
Contents
- What is aiasemu.ee and why does an AI studio run a lawn-care business?
- What did the search numbers actually do?
- The configuration bug that suppressed the entire site
- The keyword that ranked with no page behind it
- Programmatic location pages only work when the data is yours
- What the AI actually runs, and how we measure whether it is visible
- Where our own funnel leaks, in our own numbers
- How to run the same playbook on your own business
What is aiasemu.ee and why does an AI studio run a lawn-care business?
aiasemu.ee is a real lawn-care and garden-maintenance company in Estonia that we own and operate with AI. It takes bookings, quotes prices, answers the phone and competes for the same customers as everyone else in the trade. We built it because a studio selling visibility inside AI answers and back-office automation should be able to point at a business it cannot quietly abandon when a method stops working.
From the outside it looks like any small services company: a site, a price list, a phone number and a calendar. What sits behind those is different. A customer types an address and the system measures the lawn from a satellite photo, then prices the job in seconds instead of scheduling a site visit. An AI phone agent takes the calls. The municipality pages are generated from national cadastre records rather than written by hand.
Everything in this article is measured on that site. The search figures come from Google Search Console, the funnel figures from product analytics, and the readiness score from the same public checker anyone can run. The failures are here too, including a configuration bug that held indexing down for a long stretch and a booking step that loses most of the people who reach it. A case study that reports only the wins belongs in an advertisement.
What did the search numbers actually do?
Over a three-month baseline the site recorded 630 clicks and 5 920 impressions at an average position of 5.8. That average position is the part worth reading first. It means the pages that rank are sitting on the first screen of results for the queries they win, rather than collecting impressions from page four. At that position, the click total depends mostly on how many queries the site covers at all.
One query out of the whole set converts at 35.7%. It is the Estonian phrase for mowing prices in Harju County, and roughly one person in three who saw it in the results clicked. Nothing about that page is sophisticated. It names a geography and states a concrete price. That combination is the most reliable page shape we have found, and it is the one competitors in this trade avoid, because the standard answer to what a job costs here is a phone number.
The traffic is also concentrated in a way that is easy to misread. One blog post accounted for 219 of 324 clicks in a period. The instinct is to prune around a winner like that. We did the opposite and made it link out to the commercial pages, so it passes authority forward instead of competing with the pages that are supposed to sell.
The configuration bug that suppressed the entire site
For a long stretch, Search Console performance was close to zero, and the cause was not content. Every canonical URL, the sitemap and robots.txt pointed at the apex domain while the host served the www version. Every page therefore declared a canonical URL that redirected to itself. Google barely indexed the site. Aligning every absolute URL to the version actually served fixed it, and the numbers in the previous section are what appeared afterwards.
A second fault surfaced in the same pass. Individual pages hardcoded a title suffix that the layout template already appended, so results were showing the brand name twice in one title. Neither bug required sophistication to find. Both required somebody to check the plumbing before writing another article.
This matters more than it used to, because assistants run a fresh retrieval for every answer, against indexes that store one canonical version of each page. A canonical pointing at a URL that redirects hands that index a contradiction to resolve before it can rank you. A site that is technically invisible is invisible to both audiences at once. That mechanism is the subject of why ChatGPT does not recommend your business.
The keyword that ranked with no page behind it
Two queries about trimmer pricing were bringing in traffic while the word did not appear anywhere in the source. The Estonian term for trimmer price collected 21 clicks from 111 impressions, and trimmer hourly price 12 from 44. No dedicated page existed, so whatever Google was matching, it was not a page about trimming.
Building that page was the closest thing to found money we have seen in this work. The demand was already proven, the competition was weak enough that a page we had not written was already ranking, and the work was a single page. Compare that with picking a keyword from a research tool and hoping.
The method generalises and costs nothing to run. Open Search Console, sort your queries by impressions, and find the ones where you rank without having written anything on the subject. Each one is a page that has already passed its own market test. We run this check before commissioning any keyword research, because a query you already rank for carries evidence a research tool cannot produce.
Programmatic location pages only work when the data is yours
Fourteen municipality pages cover Harju County, and the reason they rank is the data rather than the template. For each municipality we take Maa-amet cadastre records, filter to residential land, read the yard area, clamp the values between 50 and 5 000 m² to remove the obvious outliers, take the median, and run that median through the same pricing function the live estimator uses. Every page therefore publishes its own yard count, median size and price.
| Municipality | Yards in the cadastre | Median yard size | Published price |
|---|---|---|---|
| Saue | 8 487 | 1 135 m² | 65€ |
| Kuusalu | 2 306 | 2 127 m² | 99€ |
The reasoning was written into the original commit and it still holds. Every competitor answers the question of what mowing costs in a given municipality with a shrug and a phone number. We can answer it with a number, because we hold the cadastre and we are willing to publish what it implies. That is the whole reason those pages earn their position.
The warning attached to this is important. Programmatic pages built without proprietary data are duplicates with the place name swapped, and they are the reason the technique has a bad reputation. Before generating anything at scale, ask what each page will contain that no competitor could write. If the answer is the place name, do not build them. If the answer is a computed figure from a source you control, build all of them.
What the AI actually runs, and how we measure whether it is visible
Two operational jobs are handled by AI end to end. Pricing is the first: the customer enters an address, the system measures the lawn from a satellite photo and returns a price in seconds, which removes the site visit that normally sits between an enquiry and a quote. Answering the phone is the second, handled by an AI phone agent. Both are the same shape as the back-office work we build for clients, covered in AI back-office automation for SMEs: an automatic path for the confident cases and a human path for everything else, where most of the design work goes into how the review queue decides what a person sees.
On the visibility side, the site scores 93/100 on our own readiness checker, which runs eight deterministic checks with no model scoring involved, so the same site produces the same score twice. It was named in 2 of 3 blind Gemini tests when asked for a recommendation in its category.
The limit is worth stating plainly. Two mentions out of three is a single benchmark run against one model, and the same three questions can read differently on a later run. Answers vary by question and models update without notice, so nobody can guarantee an AI mention. What we can report is the current rate and whether the last round of work moved it. A vendor promising more than that is selling something they do not control.
Where our own funnel leaks, in our own numbers
One week of product analytics ran 57 address searches, 39 refined estimates, 9 bookings started and 2 completed, which works out to roughly 22 leads a week. Our internal conclusion was blunt. The site generates leads well and closes bookings badly. We are publishing that because a case study without a leak in it has been edited.
The interesting drop is not the last one. Getting from 57 searches to 39 refined estimates is healthy, and it tells us people are willing to let a machine measure their garden from the air. The fall from 39 to 9 is where the money leaves. The event data does not tell us why they stop there, and our working assumption is that accepting an automatic price asks less of someone than committing to a date and a payment. Either way it points the next build hour at the booking step rather than at more traffic.
It also changes how we read the search numbers earlier in this article. A 35.7% CTR page feeding a booking step that converts poorly is worth less than the same page feeding a step that works. This is why we instrument the funnel on client builds from the first release rather than adding analytics afterwards. Without those four numbers we would be optimising the top of the funnel forever, because the top of the funnel is the part that looks good in a report.
How to run the same playbook on your own business
The order matters more than any individual tactic, because each step makes the next one measurable. Fix the technical plumbing first: canonical URLs that resolve to themselves, a sitemap pointing at the served domain, AI crawlers allowed rather than blocked by a privacy plugin. Nothing you do afterwards is attributable until that is true. A typical Estonian business site scores under 50 on our checker, and the failures we find most often sit in this layer: prices locked inside images or PDFs, no structured data, AI crawlers blocked by a plugin nobody remembers installing, no llms.txt.
Then mine your own reports for queries you already rank for without a page, and build those pages first. After that, find the data only you hold, whether that is a public register you have learned to read or your own historical quotes, and turn it into pages that publish a number your competitors answer with a phone call. Make prices machine-readable, because an assistant comparing suppliers can only quote a figure it can parse. Last, measure blind mentions on a schedule so you can tell whether any of it moved.
We sell this work at published prices: 290€ for an AI-readiness audit, credited against follow-up work, 990€ to implement the fixes on an existing site in about a week, from 3 999€ for a new build readable by people and agents, and 590€ a month for ongoing visibility work with a monthly report on how often assistants recommend you. Automation and phone agents are quoted per project, because the price depends on systems we have not opened yet, and it is worth knowing what drives the cost of an automation project before you ask for one.
If you want the first step without talking to anyone, run the free readiness check. It runs the same eight deterministic checks that scored our lawn-care business 93/100. If the score comes back low, the report names which layer is broken, and the ordering above tells you which one to fix first.
Frequently asked questions
What is aiasemu.ee?
aiasemu.ee is a real lawn-care and garden-maintenance business in Estonia, owned by AISIDE and run largely by AI. Customers type an address, the system measures the lawn from a satellite photo and prices the job in seconds instead of sending someone to look, and an AI phone agent takes calls. We built it so that the methods we sell to clients have been tested on a business we have to live with.
What results has the AI-run business actually produced?
Over a three-month baseline, Google Search Console recorded 630 clicks and 5 920 impressions at an average position of 5.8. One query, mowing prices in Harju County, converts at 35.7% CTR. The site scores 93/100 on our own AI-readiness checker and was named in 2 of 3 blind Gemini tests. One week of product analytics showed 57 address searches producing 2 completed bookings, roughly 22 leads a week.
Do programmatic location pages still work for SEO?
They work when each page carries data nobody else has, and they fail when they are the same paragraph with the place name swapped. Our fourteen Harju County municipality pages compute a median yard size from national cadastre records and run it through the live pricing function, so every page publishes its own yard count, median size and price. The differentiator is the data. The template we use is the same one every time.
Can you guarantee that ChatGPT or Gemini will recommend my business?
No, and anyone who promises it is selling air. Answers change from question to question and models update without notice. What is honest is to measure how often you are mentioned now, fix the things that raise the odds, and measure again. On our own lawn-care site that measurement currently reads 2 mentions out of 3 blind questions. That is a number we can work on and report, and it is the most any vendor can offer you.
Talk to us