Admin Manual

Platform architecture, data model, credit economy, integrations, and operational tasks.

Architecture

SEOtoAEOai is a public, no-login React single-page app on Base44. Identity is email-keyed: a visitor enters an email and receives 5 free starter credits via a CreditLedger adjustment. All persisted reads/writes run through base44.asServiceRole in Deno backend functions; entity row-level security is admin-only except where public read is intended.

  • Frontend: React + Tailwind, routes in src/App.jsx, ~37 tool pages.
  • Backend: ~60 Deno functions in base44/functions/ invoked via base44.functions.invoke().
  • LLM core: Claude Sonnet 5 for audits; Gemini 3 Flash for web-grounded checks.

Entities & Data Model

Core storage entities (all admin-gated unless noted):

  • AeoReport — every audit result + full report_data (the digital twin payload).
  • CreditLedger — append-only ledger of purchases, spends, adjustments; balance_after is the running balance.
  • ApiKey — REST API keys with per-key credit balances and webhook URLs.
  • WatchedDomain — monitored URLs + Auto-Pilot toggle (auto_fix).
  • CitationCheck, BrandTruthCheck — intelligence tool results.
  • CaseStudy — public read, admin write (marketing).
  • Certification, Referral, TeamWorkspace, ReportSubscription, NewsletterSubscriber, Consultant.
  • User — built-in; users join by invite (base44.users.inviteUser), not created directly.

Credit Economy

  • 5 free starter credits on first email use.
  • Costs: full audit 3 · citation tracking 1/question · brand truth 3 · playbook 2 · recovery 2 · content brief 2 · heist 3.
  • Founder email bypasses credit checks (configured via FOUNDER_EMAIL secret).
  • Stripe packs (Live): Starter $19 / 50 · Pro $79 / 250 · Bulk $249 / 1,000.
  • Fulfillment: buyCredits creates a Checkout session; stripeWebhook credits the ledger on checkout.session.completed (idempotent on session id).
  • Referrals grant bonus credits on a new user's first interaction.

Connectors (Shared Mode)

  • Google Search Console + Google Analytics — shared, read-only; power the GA Attribution tool via base44.asServiceRole.connectors.getConnection().
  • Gmail — workspace connector "Richard Ryan"; used by email-sending workflows.
  • Because the app is no-login, app-user OAuth is not used; shared mode keeps one connected account for all visitors.

Workflows

  • AutoPilotMonitoring — weekly; runs autoPilotRun which re-scores every WatchedDomain with auto_fix=true and emails a fresh fix kit on a score drop.
  • WeeklyReportEmails — sends subscribed report digests.

Secrets

Managed in dashboard → settings → environment variables: STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET, CEREBRAS_API_KEY, GROQ_API_KEY, FOUNDER_EMAIL. Never reference BASE44_SERVICE_TOKEN — it does not exist.

Admin Tasks

  • Invite team members: base44.users.inviteUser(email, role).
  • Manage Case Studies & Consultants (admin-gated entities, public read).
  • Monitor credits & abuse via CreditLedger; adjust balances as needed.
  • Approve/issue Certification badges for domains scoring 80+.
  • Toggle Auto-Pilot per domain via the Founder Dashboard or manageAutoPilot.
Back to Documentation