Skip to main content
Back to Blog
Product9 min read

How We Built Ezeo: The Tool We Wished Existed

We needed a way to track how brands appear in AI search results. Nothing existed, so we built it. Here's the story of Ezeo, from a hacky script to a platform tracking 10 projects across 6 AI engines.

Jose Antonio Mijares
Jose Antonio MijaresFounder & AI Strategist
How We Built Ezeo: The Tool We Wished Existed

How We Built Ezeo: The Tool We Wished Existed

In late 2025, we had a problem. A client asked us a simple question: "Are we showing up when people ask ChatGPT about our products?"

We had no idea.

We could tell them their Google rankings. We could show them their organic traffic trends. We could break down their conversion rates by page. But we couldn't answer the most basic question about AI search visibility.

So we opened a terminal and started writing code.

The Problem Nobody Was Solving

The shift was obvious to anyone paying attention. AI search was growing fast. ChatGPT had hundreds of millions of users. Perplexity was gaining traction with power users. Google was rolling out AI Overviews on more and more queries. Bing had Copilot. Claude had search capabilities.

But the tooling hadn't caught up. Google Search Console doesn't track AI citations. Ahrefs and SEMrush are built for traditional search. There was no equivalent of "check your rankings" for AI search.

Some tools were starting to appear, but they tracked one platform at a time, or they were enterprise-priced and built for big brands. Nothing existed for the Shopify store owner doing $50K-$500K in monthly revenue who wanted to know: "Is ChatGPT recommending my products?"

That was our market.

Version 1: A Python Script

The first version of Ezeo was a Python script that did one thing: it queried ChatGPT, Perplexity, and Claude with a list of keywords, then checked if our client's domain appeared in the response.

It ran on a cron job. It dumped results into a CSV. It was ugly. It worked.

Within a week, we knew this was valuable. We could see that our clients' competitors were getting cited by AI search engines while our clients were invisible. We could also see exactly why: the competitors had better structured data, more specific content, and stronger third-party signals.

The Stack Decision

We needed to turn this script into something our team and clients could use. The stack was straightforward:

  • Frontend: React with TypeScript and Vite (we later added i18n for EN/ES)
  • Backend: Supabase (PostgreSQL, Edge Functions, Auth)
  • Data: DataForSEO for traditional SEO metrics, custom scrapers for AI visibility
  • Hosting: Vercel for the frontend, Supabase for everything else

We picked Supabase because we were already using it for other projects and because it gave us a real PostgreSQL database (not a NoSQL document store) with row-level security baked in. For a data-heavy analytics platform, that matters.

TypeScript was non-negotiable. When you're dealing with analytics data from six different AI platforms, each with its own response format, type safety isn't a luxury.

What Ezeo Tracks Today

Ezeo has evolved from that Python script into a platform with 76 edge functions, 10,500+ tests, and 10 active client projects. Here's what it does:

AI Visibility Monitoring

We check brand citations across six platforms: ChatGPT, Perplexity, Claude, Google AI Overviews, Bing Copilot, and Gemini. For each keyword, we track whether the client's domain is cited, the citation position, what competitors are cited, and what content gets referenced.

Traditional SEO Tracking

Google Search Console integration for rankings, impressions, clicks. Google Analytics 4 for traffic. DataForSEO for keyword data and backlink monitoring. PageSpeed Insights for performance.

Reporting Engine

Monthly reports generated in our Maxxus v5 template format. Navy, cyan, and lime design system. Charts are SVGs, not screenshots. Every number traced to a source API.

CRO Auto-Audit

Automated CRO audits using Microsoft Clarity data (rage clicks, scroll depth, dead clicks) combined with Google Analytics conversion data. This is what caught the 786 rage clicks/day on our client's site.

Content Intelligence

We analyze which content types get the highest AI citation rates and recommend content strategies based on actual data. Blog posts with specific data points and comparison tables consistently outperform generic content.

What We Learned Building It

Ship Fast, Iterate Faster

The first version went to production in 3 days. It was rough. The dashboard was basic. But it worked, and clients loved it because nothing else existed.

We shipped improvements weekly. Some weeks we pushed 10+ PRs. We maintained a strict rule: feature branches only, CI must be green, no direct commits to main.

Test Everything

At 10,500+ tests and 70%+ coverage, our test suite catches bugs before they reach production. We learned this the hard way when an untested edge function corrupted data for three clients. After that, every edge function gets tests. Every API route gets tests. Every component gets tests.

Data Integrity Is Everything

The worst thing an analytics platform can do is show wrong numbers. We caught issues early: GA4 overcounting sessions due to a date range bug, GSC misattributing queries to wrong pages. We built verification scripts that cross-check API data before it enters the database.

We have a rule: never aggregate from Supabase for client reports. Always pull fresh from the source API. The database is for the dashboard. Reports use verified data.

Two Design Systems

Ezeo has two distinct visual identities. The in-app dashboard uses our Ezeo brand (yellow and black). Client-facing reports use the Maxxus v5 template (navy, cyan, lime). Mixing them up confused users. Keeping them separate made both better.

The Road Ahead

Ezeo started as an internal tool. It's becoming a product.

Our roadmap includes:

  • Shopify App Store submission (OAuth flow is built, pending review)
  • Conversational agent powered by Kimi K2.5 (ask questions about your data in natural language)
  • Automated recommendations (the system tells you what to fix, not just what's broken)
  • Multi-language support (EN/ES is live, more coming)

The vision is simple: every Shopify store owner should be able to check their AI visibility as easily as they check their Google rankings. Not just big brands. Not just agencies. Everyone.

Why We're Sharing This

We're sharing our story because we believe transparency builds trust. We're not a VC-backed startup with a marketing budget. We're a small team in Monterrey, Mexico that saw a problem and built something to solve it.

If you're running a Shopify store and want to check your AI visibility, try Ezeo. If you're an agency that wants to add GEO services, reach out. If you're a developer who wants to build something similar, we hope this story helps.

The tools that matter are the ones built by people who actually need them.


Jose Antonio Mijares is the founder of JAMAK AI and Ezeo. JAMAK is an AI-powered digital marketing agency. Ezeo tracks brand visibility across ChatGPT, Perplexity, Claude, Google AI Overviews, Bing Copilot, and Gemini.

Topics

EzeoProduct DevelopmentAI SearchSaaSStartup

Share this article

Ready to apply these strategies?

Let's build a growth plan for your business.

Get a Free Strategy Call