Benton Drones logo Benton Drones

Current State & Next Steps

Benton Drones lead ingest MVP: Shopify-friendly public signup, owned backend data, protected admin, exports, and a clear path to production.

Current state at a glance

Built

  • Signup + admin dashboard, live on Render + Neon
  • Consent capture + CSV/GeoJSON/KML exports
  • Real geocoder (Census + Nominatim + DB cache)
  • Persistent DB-backed rate limiting
  • JIRA queue replay with backoff + dead-letter
  • Email notification code + queue (creds pending)
  • Backup/restore tooling + recovery playbook
  • Cloudflare Access JWT verification + JSON admin API + CORS + audit trail (ADR-001, env-gated)
  • pages-admin/ static dashboard bundle (deploys with Cloudflare)
  • Browser automation (Playwright)

459 tests pass +12 browser

Ready to go

  • Kickoff email sent — Anderson reviewing briefing
  • Browser QA can run anytime
  • DNS checks run anytime
  • Shopify CTA path is designed
  • Email + backups activate the moment credentials land
  • pages-admin/ deploys the moment a Cloudflare account exists

Blocked / waiting (Anderson's session)

  • Nameserver cutover Namecheap → Cloudflare (walkthrough sent)
  • Google Workspace MX/SPF/DKIM/DMARC + SMTP app password
  • Waiver legal review (real form live, needs sign-off)
  • Admin password handoff by text/call (never email)
  • Neon console backup/retention values + uptime monitor account

Not built yet

  • Production cutover at leads.bentondrones.com (post-Cloudflare)
  • admin.bentondrones.com Pages + Access (post-Cloudflare)
  • Shopify App Proxy production (post-launch)
  • Internal map UI beyond the admin preview (post-launch)

What you should do next

  1. Open the full status doc: docs/current-state-and-next-steps.md.
  2. Capture Namecheap, Google Workspace, and Shopify platform state.
  3. Create a Cloudflare read-only API token and run python scripts/check_cloudflare_zone.py.
  4. Add the leads.bentondrones.com custom domain on the Render service.
  5. Create the Shopify landing page CTA.
  6. Only then migrate DNS to Cloudflare.

Overview Goals Judges