# The Bottom Line — AI Visibility Infrastructure ## Full Technical Specification (llms-full.txt) version: 2.0.0 | updated: 2026-06-02 --- ## 1. System Overview The Bottom Line is an AI Visibility Infrastructure provider for local businesses in Texas. We deploy a lightweight stack of semantic endpoints that make businesses discoverable by AI agents: ChatGPT (Browse), Claude (Web), Perplexity (Sonar), Google AI Overviews (SGE), and any LLM with web access. ### 1.1 Core Principle Conventional SEO optimizes for search engine crawlers (Googlebot, Bingbot). The Bottom Line optimizes for AI agent crawlers — LLMs that read, interpret, and recommend businesses based on structured web content. These agents consume `llms.txt`, `agents.txt`, JSON-LD, and schema.org markup to answer user queries like "best auto repair shop near me." ### 1.2 Delivery Model | Phase | Price | Scope | |-------|-------|-------| | Beta | $20 USD (one-time, lifetime) | AI visibility audit, llms.txt, agents.txt, JSON-LD schema, GitHub delivery, 24h turnaround | | Full Installation | $499 USD (one-time) | Full stack — custom agents.txt, llms-full.txt, schema.org audit, review-feed structuring, passive agentic telemetry, quarterly refresh | --- ## 2. Architecture ### 2.1 Infrastructure ``` [Client Browser] → :443 (Nginx) → static files (/var/www/html) → /v1/* → :5000 (Gunicorn/Flask) → /collect → :5000 → /webhook → :5000 → /llms.txt → :5000 ``` - **Host**: Single Droplet (2 vCPUs, Ubuntu 24.04) - **Reverse Proxy**: Nginx (TLS via Let's Encrypt) - **App Server**: Gunicorn 26.0.0, 3 workers (2N+1 for I/O-bound) - **Process Manager**: systemd (`bottomline.service`, Restart=always) - **Runtime**: Python 3.12, Flask 3.x ### 2.2 Public Semantic Endpoints | Path | Type | Purpose | |------|------|---------| | `/llms.txt` | Dynamic (Flask) | LLM context summary — multilingual via `?lang=` parameter | | `/llms-full.txt` | Static | This file — complete technical specification | | `/agents.txt` | Static | AI agent crawl directives and telemetry notice | | `/robots.txt` | Static | Crawl rules — allows AI bots, blocks /api/ and /telemetry/ | ### 2.3 API Endpoints | Path | Method | Purpose | |------|--------|---------| | `/v1/create-checkout-session` | POST | Creates Stripe checkout session for $20 USD Beta | | `/api/check_beta.php` | GET | Returns beta slot availability (`{"available":bool,"remaining":int}`) | | `/webhook` | POST | Stripe webhook receiver — verifies signature, triggers fulfillment | | `/collect` | POST | Agent telemetry ingestion from `sensor.js` | ### 2.4 Translation Layer The `/llms.txt` endpoint supports dynamic translation: ``` GET /llms.txt → English (default) GET /llms.txt?lang=es → Spanish GET /llms.txt?lang=zh → Chinese GET /llms.txt?lang=ja → Japanese GET /llms.txt?lang=ko → Korean ... ``` **Mechanism**: Reads `?lang=` parameter or `Accept-Language` header. First request per language triggers DeepSeek API translation → cached to `/var/www/html/telemetry/llms_{lang}.txt`. Subsequent requests serve from disk (~45ms, no API call). --- ## 3. Agent Telemetry System ### 3.1 Sensor (sensor.js) Vanilla JS (~1.2 KB) deployed via `