Inspiration
AI agent and automated bot traffic has officially surpassed human traffic on the web. For large enterprises, becoming more discoverable to these agents is a standard and ongoing effort, however, local and small businesses may face confusion and technical roadblocks that prevent them from keeping up with the rest of their competition. We wanted to create a non-invasive tool that would easily allow these small business owners to equip their websites with the most up-to-date protocols surrounding Generative Engine Optimization, the process of being discoverable by AI and autonomous agents. At the same time, some companies may not want to be discoverable by AI agents at all, and our application offers solutions to those seeking invisibility as well.
What it does
Drop a link to your website or a GitHub repository and choose between three modes: Amplify, Mirror, and Cloak. Amplify is built to offer suggests on how to boost AI visibility, Mirror strives to faithfully replicate what a person would see to an AI agent, while Cloak offers completely invisibility to AI traffic. Choosing to use a website URL will result in suggestions and downloadable zip files that you can drop straight into your codebase after review and your website will either become Amplified, a Mirror reflection of what a human sees, or become invisible. Alternatively, should you choose to use your GitHub repository link, our GitHub App "Aperture-GEO" will read through your codebase and make non-destructive changes to key areas that enhance GEO, after which it will open a PR for your team to review.
How we built it
We built Aperture as a React + Vite frontend (with GSAP-driven visuals) sitting over a TypeScript/Node diagnostics engine. The engine probes a site as nine documented AI crawler identities (GPTBot, ClaudeBot, PerplexityBot, and the on-demand fetchers), using a raw fetch plus a headless-Chromium render via Playwright and Cheerio to measure the gaps between what humans and bots actually see (per-bot robots.txt rules, JS-only content, JSON-LD completeness, and cloaking risk). Those signals feed a mode-weighted score (Amplify, Mirror, or Cloak) and a suggestion engine that emits real, downloadable files (robots.txt, JSON-LD, llms.txt) gated by a two-layer cloaking-policy validator. This validator is deterministic and includes an LLM as a judge layer so no change gets fabricated. For the GitHub path, our "Aperture-GEO" GitHub App reads a repo, makes non-destructive edits to the right files, and opens a PR for the team to review.
Challenges we ran into
Many sites challenge automated visitors, so a "blocked" result could mean that a firewall turned our probe away. We separated challenged, blocked and cloaked cases, and report inconclusive results instead of guessing. Additionally, to actually edit the repository, we needed to create a GitHub App that could be reachable and installable by any Github user, which was a new technology for all of us.
Accomplishments that we're proud of
We're very excited that our GitHub App was able to open real, non-destructive pull requests on any public repository. Additionally, building a tool that actually works on real, messy websites and shipping three unique configurations (Amplify, Mirror, Cloak) covering opposite ends of the same problem (visibility and invisibility) is something we're especially proud of. This required us to think carefully about Generative Engine Optimization from both the "want to be found" and "want to remain hidden" perspectives. Also, we think our landing page is pretty special.
What we learned
We learned about the field of Generative Engine Optimization and how AI crawlers actually process the content they see. Additionally, we explored Github Apps for the first time and used it to automate agentic code edits, which was an area we hadn’t applied agents to previously.
What's next for Aperture
We want to be able to help improve GEO for sites built on third-party no-code platforms like Wix and Wordpress, whose source code isn’t publicly available for proposing fixes on GitHub, perhaps through step-by-step guides or config files. In addition, we’d like the ability to validate an agent’s identity. Right now, we take the crawler’s claimed identity at face value, but in the future we want to compare it against vendors’ published IP ranges and, later, signed requests.
Built With
- anthropicapi
- css
- githubapps
- higgsfield
- javascript
- node.js
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.