Compare commits

..
3 Commits
Author SHA1 Message Date
root 538876ac16 docs: infrastructure gap assessment + project updates
- infrastructure-gap-assessment: full audit doc
- project-log: recent completions
- hotnow, hotnow-phase1, ops-portal-runcloud-design-brief, schoolcart PTA docs
- intelsight and schoolcart updates
2026-08-05 07:34:35 -04:00
root 7f31eb0f98 Add BeachDirect.io business proposal (.2B market, done-for-you vacation rental direct booking) 2026-08-01 13:49:46 -04:00
root 7cbef9bd8f docs: model-chain — key was stale, fixed with hermes-agent-v5 Jul 31 2026-07-31 07:14:11 -04:00
11 changed files with 4369 additions and 21 deletions
@@ -0,0 +1,290 @@
# ITPP Infrastructure Documentation Gap Assessment
**Date:** 2026-08-04
**Auditor:** Hermes Agent (subagent)
**Scope:** All ITPP infrastructure — Core, app1, app2, app3, app1-bu, wphost02
---
## Executive Summary
**Total services discovered running:** 65+ (across 5 hosts)
**Services with NO backup:** 12 (CRITICAL: 3 with production data at risk)
**Services missing from API master list:** 14
**Documentation staleness issues:** 7
**Services with NO project documentation:** 22+
**Duplicate services (unintended):** 2 (Twenty CRM, SearXNG running on both Core AND App1)
**Sites missing local snapshots (App3):** 4
---
## (A) CRITICAL GAPS — Services with NO Backup
### 🔴 Priority 1 — Production data at immediate risk
| # | Service | Host | Risk | Data at stake |
|---|---------|------|------|---------------|
| 1 | **Ragflow** (full stack) | App2 | CRITICAL | MySQL DB, Minio objects, Infinity vector DB, Valkey cache — entire RAG/knowledge base platform. 6 Docker containers including mysql:8.0.39, minio, infinity vector DB |
| 2 | **Mattermost** | App1 | CRITICAL | Team chat messages, channels, files, user accounts. postgres:16-alpine backend |
| 3 | **Wazuh** (SIEM) | App1 | HIGH | Security events, alerts, agent data, compliance logs. 3 containers (dashboard, manager, indexer). Only the server itself is backed up via app1 general backup — Wazuh data is NOT |
### 🟡 Priority 2 — Important services without backups
| # | Service | Host | Risk | Data at stake |
|---|---------|------|------|---------------|
| 4 | **Dawarich** | App2 | MEDIUM | Location history data (PostGIS), Redis cache. NOT in app2-backup.sh |
| 5 | **Technitium DNS** | App2 | MEDIUM | DNS zone configs, DHCP leases, blocklists. NOT in app2-backup.sh |
| 6 | **SearXNG (App1)** | App1 | MEDIUM | Search engine config. Backup plan says "removed" but it's running on :8080 |
| 7 | **MCP containers** (App1) | App1 | LOW | mcp-browser, mcp-email, mcp-git, mcp-filesystem, super-search — config/state not backed up individually |
| 8 | **browserless** (App1) | App1 | LOW | Stateless Chrome, but no restart config backup |
| 9 | **Timetrex** | Core | LOW | Time tracking data — Docker container, no compose file found |
| 10 | **Microbin** | Core | LOW | Paste bin data — Docker container, compose exists at /opt/microbin/ |
| 11 | **browserless** (Core) | Core | LOW | Stateless Chrome, :3000 (conflicts with Grafana's documented port) |
| 12 | **crawl4ai** | Core | LOW | Python service :8910 — web crawling config. No compose, running from /root/docker/crawl4ai/ |
### 🟢 Services running natively (Core systemd/Python — minimal backup need)
These are stateless or backed up via hermes-backup.sh (skills/profiles/sessions) and root-essentials-backup.sh (scripts):
- hotnow-api (:8001), auth-server (:8500), pipeline-server (:8200), hermes-voice (:4331), host-metrics-exporter (:9275), transitpin-mockup (:8912), http-server (:9876)
---
## (B) DOCUMENTATION GAPS — Services not in API Master List
### Missing from `/root/projects/itpp-infrastructure/api-master-list.md`
| # | Service | Host | Port | Notes |
|---|---------|------|------|-------|
| 1 | **Mattermost** | App1 | :8065 | Team chat — not listed anywhere |
| 2 | **n8n** | App1 | :5678 | Workflow automation — not listed |
| 3 | **Ragflow** | App2 | :9380-9384 | RAG platform — not listed |
| 4 | **SearXNG (App1)** | App1 | :8080 | Listed only on Core :8888 |
| 5 | **Timetrex** | Core | :8085 | Time tracking — not listed |
| 6 | **Microbin** | Core | :8260 | Paste bin — not listed |
| 7 | **browserless** (Core) | Core | :3000 | Chrome automation — not listed |
| 8 | **browserless** (App1) | App1 | :3005 | Chrome automation — not listed |
| 9 | **crawl4ai** | Core | :8910 | Web crawler — not listed |
| 10 | **hermes-control-deck** | Core | systemd | Control deck API — not listed |
| 11 | **MCP containers** (App1) | App1 | :8900-8903 | Litellm MCP gateway services — not listed individually |
| 12 | **Super Search (App1)** | App1 | container | Duplicate of Core's — not listed |
| 13 | **hotnow-api** | Core | :8001 | HotNow API (different from :8000 Diglocate) |
| 14 | **auth-server** | Core | :8500 | Centralized auth project |
---
## (C) STALE DOCUMENTATION — Wrong/Outdated Information
### 🔴 API Master List errors
| # | Issue | Doc says | Actual | Severity |
|---|-------|----------|--------|----------|
| 1 | **Grafana port** | Core :3000 | Core :3002 (browserless/chrome occupies :3000) | MED — monitoring dashboards accessed at wrong port |
| 2 | **DocuSeal port** | App1 :3000 | App1 :3002 (Open WebUI occupies :3000 on App1) | MED |
| 3 | **Twenty CRM location** | Core :3003 (listed as Core) | Running on BOTH Core :3003 AND App1 :3003 | HIGH — duplicate service, unclear which is authoritative |
| 4 | **SearXNG status** | Core :8888, backup plan says "removed" | Actually running on BOTH Core :8888 AND App1 :8080 | HIGH — backup plan says replaced by Super Search but still running on two hosts |
| 5 | **Vaultwarden location** | Core :8080 (in old API list), App1 :8081 | Only on App1 :8081 (correct) but stale S3 paths remain | LOW |
| 6 | **Komodo location** | Migrated to App1 :9120 | Correctly on App1 :9120 | OK |
| 7 | **DocuSeal location** | Migrated to App1 :3002 | Correctly on App1 :3002 | OK |
| 8 | **Twenty CRM migration** | Backup plan says migrated to App1 | Still running on Core too! The migration was partial or the Core instance was never shut down | HIGH |
### 🔴 Backup Plan errors
| # | Issue | Details |
|---|-------|---------|
| 9 | **S3 stale paths** | `core/vaultwarden/`, `core/twenty/`, `core/searxng/`, `core/komodo/` still in S3 hierarchy — services migrated but old paths not cleaned |
| 10 | **Backup plan lists Core services that migrated** | Table shows Vaultwarden, SearXNG, Twenty CRM, Komodo, DocuSeal, Kokoro TTS under Core section — all migrated to App1 |
| 11 | **app1-backup.sh (on App1) backs up MORE than documented** | Script backs up n8n (not in plan), Ollama (not in plan) but does NOT back up Mattermost, Wazuh, SearXNG (App1), browserless |
| 12 | **app2-backup.sh (on App2) coverage gaps** | Script covers Traccar, Gitea, Hudu, UNMS, UniFi but misses Dawarich, Technitium DNS, Ragflow |
### 🔴 App3 Snapshot Coverage
| # | Site | Nginx config? | In backup-restore snapshots? | In S3 app3-backup.sh? |
|---|------|--------------|------------------------------|----------------------|
| 1 | intelsight.io | ✅ | ❌ | ✅ (via WordPress files backup) |
| 2 | my.voipsimplicity.com | ✅ | ❌ | ✅ |
| 3 | panel.itpropartner.com | ✅ | ❌ | N/A (CloudPanel itself) |
| 4 | transitpin.com | ✅ | ❌ | ✅ |
---
## (D) CREDENTIAL GAPS
### Credential Management Assessment
- **Vaultwarden:** Running on App1 :8081. Accessible via web UI. Not directly queryable via API without auth token.
- **Standard credentials** (ippadmin/LoveMyBoys.1520!): Referenced in task context. Need to verify which services use these vs. unique credentials.
- **Key credential files:** `/root/.hermes/.env`, `~/.aws/credentials`, Vaultwarden vault
- **DR Issue Log** references `migration-creds.txt` and `dre-temp-passwords.txt` — both now `chmod 600` (DR-004, DR-005 fixed)
### Recommendations:
1. Audit all services to confirm which use standard creds vs unique creds
2. Each service should have a Hudu asset documenting its credentials
3. Service-specific API keys (n8n, Mattermost, Ragflow internal admin) need to be inventoried
---
## (E) SERVICES WITH NO PROJECT DOCUMENTATION
The `/root/projects/itpp-infrastructure/` repo has documentation for only ~8 projects out of 30+ running services:
**Have docs:** ops-portal, backup-restore, hotnow, intelsight, schoolcart, tripflow, beachdirect, forefront-broadband-map, missed-call-lead-recovery
**NO docs (22+ services):**
Mattermost, n8n, Ragflow, Wazuh, Dawarich, Technitium DNS, Timetrex, Microbin, browserless (both), crawl4ai, Vaultwarden, Komodo, DocuSeal, LiteLLM, Open WebUI, Twenty CRM, Kokoro TTS, PRY, TransitPin, Village Express, Shopping Cart, Voice Agent stack, Diglocate, Rally, Shark Game, hermes-assistant, hermes-control-deck, Camofox, Super Search, Gitea, Hudu, UNMS, UniFi
---
## (F) DUPLICATE SERVICES
Two services are running redundantly on both Core and App1:
| Service | Core | App1 | Notes |
|---------|------|------|-------|
| **Twenty CRM** | :3003 (Docker, 5 containers) | :3003 (Docker, 4 containers) | Migration doc says moved to App1. Core instance was never shut down. Which is authoritative? |
| **SearXNG** | :8888 (Docker) | :8080 (Docker) | Backup plan says "removed, replaced by Super Search." Both still running. |
---
## (G) RECOMMENDED FIXES — Priority Order
### 🔴 Immediate (this week)
1. **Backup Ragflow** — Create ragflow-backup.sh on App2. Dump MySQL (mysql:8.0.39), backup Minio objects, backup Infinity DB. Add to cron. Risk: complete RAG platform data loss.
2. **Backup Mattermost** — Add to app1-backup.sh or create mattermost-backup.sh. Dump postgres:16-alpine DB, backup file uploads. Add to cron.
3. **Backup Wazuh** — Create wazuh-backup.sh on App1. Backup Elasticsearch indices and Wazuh manager config. Add to cron.
4. **Shut down duplicate Twenty CRM on Core** — The migration doc says it moved to App1. The Core instance (5 containers) is likely stale and consuming resources. Verify App1 instance is authoritative, then stop Core instance.
5. **Shut down duplicate SearXNG on both hosts OR document the dual deployment** — Backup plan says "removed, replaced by Super Search." If Super Search is sufficient, remove both SearXNG instances. If still needed, document why and add to backup plan.
### 🟡 This sprint (next 2 weeks)
6. **Update API Master List** — Add all 14 missing services. Fix stale port references (Grafana :3000→:3002, DocuSeal :3000→:3002).
7. **Update Backup Plan** — Remove stale Core entries (Vaultwarden, SearXNG, Twenty, Komodo, DocuSeal, Kokoro). Add Mattermost, n8n, Wazuh, Ragflow. Note that n8n IS backed up by app1-backup.sh but not documented.
8. **Backup Dawarich** — Add PostGIS dump to app2-backup.sh.
9. **Backup Technitium DNS** — Add DNS zone/config backup to app2-backup.sh.
10. **Add App3 sites to local snapshots** — Add intelsight.io, my.voipsimplicity.com, transitpin.com to `/opt/backup-restore/snapshot.sh` coverage.
### 🟢 Backlog (next month)
11. **Create project docs** for at minimum: Mattermost, n8n, Ragflow, Wazuh (the 4 services with no docs AND production data).
12. **Create `disaster-recovery-plan.md`** in itpp-infrastructure repo — it doesn't exist at the expected path. The DR issue log references it but the file is missing.
13. **Audit S3 bucket** — Clean stale paths (core/vaultwarden/, core/twenty/, core/searxng/, core/komodo/). Verify recent backups for all 26 documented targets.
14. **Credential audit** — Log into Vaultwarden, enumerate all entries, cross-reference with running services, identify gaps.
15. **Timetrex and Microbin** — Document purpose, add compose files to repo, add lightweight backup if they hold data.
16. **Create per-service README template** — Standardized format: purpose, host, ports, dependencies, backup method, restore procedure, credentials location.
---
## Methodology
- **Baseline docs read:** `/root/projects/itpp-infrastructure/backup-plan.md`, `api-master-list.md`, `/root/.hermes/references/dr-issue-log.md`
- **Hosts audited via SSH:** Core (localhost), app1 (152.53.36.131), app2 (152.53.39.202), app3 (152.53.241.111), app1-bu (5.161.225.131), wphost02 (5.161.62.38)
- **Enumeration:** `docker ps`, `ss -tlnp`, `systemctl list-units`, `crontab -l`, `ls /etc/nginx/sites-enabled/`
- **Cross-reference:** Each running service checked against API master list, backup plan, and itpp-infrastructure project docs
- **Key:** `/root/.ssh/itpp-infra` used for all remote SSH
---
## Appendix: Complete Service Inventory
### Core (152.53.192.33) — netcup RS 2000
| Service | Type | Port | In API List? | Backed Up? | Has Docs? |
|---------|------|------|-------------|------------|-----------|
| Twenty CRM | Docker (5ctr) | :3003 | ✅ (stale: says Core) | ⚠️ (S3: app1/twenty/, Core backup) | ❌ |
| SearXNG | Docker | :8888 | ✅ (stale: says removed) | ⚠️ (stale S3 path) | ❌ |
| Prometheus | Docker | :9090 | ✅ | ✅ (core-services-backup.sh) | ❌ |
| Grafana | Docker | :3002 | ✅ (wrong port :3000) | ✅ | ❌ |
| Telegraf | Docker | :9273 | ✅ | ✅ (system) | ❌ |
| Uptime Kuma | Docker | :3001 | ✅ | ✅ | ❌ |
| MikroTik Exporter | Docker | :9436 | ✅ | ✅ (system) | ❌ |
| Camofox Browser | Docker | :9377 | ✅ | ⚠️ (hermes-backup.sh) | ❌ |
| browserless | Docker | :3000 | ❌ | ❌ | ❌ |
| Timetrex | Docker | :8085 | ❌ | ❌ | ❌ |
| Microbin | Docker | :8260 | ❌ | ❌ | ❌ |
| Super Search MCP | systemd | :8899 | ✅ | ✅ (hermes-backup.sh) | ⚠️ (partial) |
| DRE MCP | systemd | :8900 | ✅ | ✅ | ❌ |
| Twilio MCP | systemd | :8901 | ✅ | ✅ | ❌ |
| OSINT Person MCP | systemd | :8902 | ✅ | ✅ | ❌ |
| FT360 MCP | systemd | :8903 | ✅ | ✅ | ❌ |
| PRY | systemd | :8905 | ✅ | ✅ | ❌ |
| Ops Portal | systemd | :8090 | ✅ | ✅ | ✅ |
| IntelSight API | systemd | :8099 | ✅ | ✅ | ✅ |
| Diglocate API | systemd | :8000 | ✅ | ✅ | ❌ |
| hotnow-api | systemd | :8001 | ❌ | ❌ | ⚠️ (project doc exists) |
| Rally | systemd | :8105 | ✅ | ✅ | ❌ |
| Village Express | systemd | :8210 | ✅ | ✅ | ❌ |
| Voice Agent STT | systemd | :9000 | ✅ | ✅ | ❌ |
| Voice Agent | systemd | :9101 | ✅ | ✅ | ❌ |
| Shopping Cart | systemd | :8101 | ✅ | ✅ | ❌ |
| OSINT API | systemd | :8100 | ✅ | ✅ | ❌ |
| Shark Game | systemd | :8083 | ✅ | ✅ | ❌ |
| hermes-assistant | systemd | :8082 | ✅ | ✅ | ❌ |
| hermes-control-deck | systemd | n/a | ❌ | ✅ | ❌ |
| hermes-voice | systemd | :4331 | ❌ | ✅ | ❌ |
| auth-server | systemd | :8500 | ❌ | ❌ | ❌ |
| pipeline-server | systemd | :8200 | ❌ | ❌ | ❌ |
| crawl4ai | systemd | :8910 | ❌ | ❌ | ❌ |
| host-metrics-exporter | systemd | :9275 | ❌ | ❌ | ❌ |
| transitpin mockup | systemd | :8912 | ❌ | ❌ | ❌ |
### App1 (152.53.36.131) — netcup RS 4000
| Service | Type | Port | In API List? | Backed Up? | Has Docs? |
|---------|------|------|-------------|------------|-----------|
| Open WebUI | Docker | :3000 | ✅ | ✅ (app1-backup.sh) | ❌ |
| LiteLLM | Docker | :4000 | ✅ | ✅ | ❌ |
| Komodo | Docker | :9120 | ✅ | ✅ (komodo-backup.sh) | ❌ |
| DocuSeal | Docker | :3002 | ✅ (port :3000) | ✅ (docuseal-backup.sh) | ❌ |
| Twenty CRM | Docker (4ctr) | :3003 | ✅ (says Core) | ✅ (twenty-backup.sh) | ❌ |
| Kokoro TTS | Docker | :8880 | ✅ | N/A (stateless) | ❌ |
| SearXNG (App1) | Docker | :8080 | ❌ (only listed on Core) | ❌ | ❌ |
| Wazuh | Docker (3ctr) | :5601/:9200 | ✅ | ❌ | ❌ |
| Vaultwarden | Docker | :8081 | ✅ | ✅ (vaultwarden-backup.sh) | ❌ |
| n8n | Docker | :5678 | ❌ | ✅ (in app1-backup.sh but not plan) | ❌ |
| Mattermost | Docker | :8065 | ❌ | ❌ | ❌ |
| MCP Gateway services | Docker (5ctr) | :8900-8903 | ❌ | ❌ | ❌ |
| browserless (App1) | Docker | :3005 | ❌ | ❌ | ❌ |
| Super Search (App1) | Docker | n/a | ❌ | ❌ | ❌ |
### App2 (152.53.39.202) — netcup RS 4000
| Service | Type | Port | In API List? | Backed Up? | Has Docs? |
|---------|------|------|-------------|------------|-----------|
| Hudu | Docker (4ctr) | :3000 (int) | ✅ | ✅ (hudu-backup.sh) | ❌ |
| Gitea | Docker | :3001 (int) | ✅ | ✅ (gitea-backup.sh) | ❌ |
| UNMS/UISP | Docker (full) | :8089 | ✅ | ✅ (unms-backup-sync.sh) | ❌ |
| UniFi | Docker | :8443 | ✅ | ✅ (unifi-backup-sync.sh) | ❌ |
| Traccar | Docker | :8082 | ✅ | ✅ (app2-backup.sh) | ❌ |
| Dawarich | Docker (4ctr) | :3002 | ✅ | ❌ | ❌ |
| Technitium DNS | Docker | :5380 | ✅ | ❌ | ❌ |
| Ragflow | Docker (6ctr) | :9380-9384 | ❌ | ❌ | ❌ |
### App3 (152.53.241.111) — netcup RS 4000 (CloudPanel)
13 WordPress sites hosted. All backed up to S3 via app3-backup.sh (daily 3 AM). 4 of 13 sites NOT in local snapshot rotation (intelsight.io, my.voipsimplicity.com, panel.itpropartner.com, transitpin.com).
### App1-BU (5.161.225.131) — Hetzner CPX21
Warm standby Hermes. No Docker. Cron: standby watchdog (every 5 min) + sync (every 10 min). Correctly configured per DR plan.
### wphost02 (5.161.62.38) — Hetzner CPX21
RunCloud WordPress hosting. 2 users (ippadmin, runcloud). Backed up via SSH from Core at 5 AM daily. Verified functional (DR-018, Jul 19).
---
## Files Created
- `/root/projects/itpp-infrastructure/docs/infrastructure-gap-assessment-2026-08-04.md` — this report
+24 -17
View File
@@ -1,6 +1,6 @@
# AI Model Architecture — IT Pro Partner # AI Model Architecture — IT Pro Partner
**Updated:** July 27, 2026 **Updated:** July 31, 2026
Two separate concepts that must not be conflated: Two separate concepts that must not be conflated:
@@ -12,8 +12,8 @@ Survives admin-ai outage. Uses direct API keys for F1F4.
| Tier | Model | Provider | Notes | | Tier | Model | Provider | Notes |
|---|---|---|---| |---|---|---|---|
| **Primary** | `deepseek-v4-flash` | `admin-ai` | Fast, cheap conductor via LiteLLM | | **Primary** | `deepseek-v4-pro` | `admin-ai` | Conductor & workhorse via LiteLLM v5 key |
| **F1** | `deepseek-v4-flash` | `deepseek` (direct) | Same model, direct API | | **F1** | `deepseek-v4-flash` | `deepseek` (direct) | Flash demoted -- fallback only, was hallucinating |
| **F2** | `gemini-3.6-flash` | `google` (direct) | Fast, free-tier eligible | | **F2** | `gemini-3.6-flash` | `google` (direct) | Fast, free-tier eligible |
| **F3** | `grok-4.6` | `xai` (direct) | Verified working (NOT grok-4.5) | | **F3** | `grok-4.6` | `xai` (direct) | Verified working (NOT grok-4.5) |
| **F4** | `claude-sonnet-5` | `anthropic` (direct) | Premium survival fallback | | **F4** | `claude-sonnet-5` | `anthropic` (direct) | Premium survival fallback |
@@ -22,32 +22,39 @@ Survives admin-ai outage. Uses direct API keys for F1F4.
--- ---
## Operational Models *(daily toolbox admin-ai only)* ## Operational Models *(daily toolbox -- admin-ai only)*
No direct API keys. Shared $5/day budget via hermes-agent-v3 key. All route through admin-ai. Shared $20/day budget via hermes-agent-v3 key.
| Role | Model | When | | Role | Model | When |
|---|---|---| |---|---|---|
| Conductor | `deepseek-v4-flash` | Orchestrating, delegating, quick decisions | | **Conductor** | `deepseek-v4-pro` | ALL standard work -- orchestrating, delegating, infra, coding |
| Workhorse | `deepseek-v4-pro` | Large context, big outputs, infra code | | **Workhorse** | `deepseek-v4-pro` | Same model -- large context, big outputs, infra code |
| Workhorse | `deepseek-reasoner` | Multi-step analysis, debugging, planning | | **Workhorse** | `deepseek-reasoner` | Multi-step analysis, debugging, planning |
| Auditor | `gemini-3.6-flash` | Sanity checks, every output (essentially free) | | **Auditor** | `gemini-3.6-flash` | Sanity checks, every output (essentially free) |
| Auditor | `claude-sonnet-5` | Architecture, security, auth sparingly ($15/M output) | | **Auditor** | `claude-sonnet-5` | Architecture, security, auth -- sparingly ($15/M output) |
--- ---
## Admin-AI Virtual Key ## Admin-AI Virtual Key
- **Key Name:** `hermes-agent-v3` (generated Jul 27, 2026) - **Key Name:** `hermes-agent-v5` (regenerated Jul 31, 2026)
- **Daily Budget Cap:** $5/day shared across all operational models - **Daily Budget Cap:** $20/day shared across all operational models
- **Expiry:** Jul 27, 2027 - **Expiry:** Jul 31, 2027
- **Master Key:** stored in Hudu - **Master Key:** stored in Hudu
- **Models:** deepseek-v4-pro, deepseek-v4-flash, deepseek-reasoner, gemini-3.6-flash, claude-sonnet-5, xai/grok-4.3, xai/grok-4-1-fast, grok-4.6
## Budget Targets ## Budget Targets
| Component | Daily est. | | Component | Daily est. |
|---|---| |---|---|
| Conductor (ds-v4-flash) | ~$0.30 | | Conductor + Workhorse (ds-v4-pro) | ~$2.50 |
| Workhorses (ds-v4-pro + reasoner) | ~$1.70 | | Workhorse (ds-reasoner) | ~$0.70 |
| Auditors (gemini + claude sparingly) | ~$0.80 | | Auditors (gemini flash + claude sparingly) | ~$0.80 |
| **Total** | **$35/day** | | **Total** | **~$4/day** (well under $20 cap) |
## Key Decisions
- **Jul 29, 2026:** DeepSeek V4 Flash demoted from conductor to F1 fallback. Was hallucinating tool calls and producing inconsistent results. V4 Pro promoted to primary conductor and workhorse.
- **Jul 30, 2026:** LiteLLM key regenerated — hermes-agent-v3 created in DB. However, the config.yaml was NOT updated with the new key (doc was written but config file not patched). Hermes silently fell back to DeepSeek direct since Jul 30 19:25 UTC.
- **Jul 31, 2026:** Discovered config.yaml still had stale key (`sk-DuZ..._AMg`, dead since rotation). Generated `hermes-agent-v5` with same model list + xAI voice models. Verified chat OK. Cleaned up stale keys (v3, v4, v4b). Updated model-chain doc to reflect actual state. Daily digest cron updated with HTML email + clean prompt for Telegram delivery.
+12
View File
@@ -66,3 +66,15 @@
### Skills Updated ### Skills Updated
- 10 skills patched: docker-service-deployment, home-lab-*, server-architecture-plan, twilio-10dlc, vaultwarden-management, voip-portal, hudu, syncromsp, recurring-information-scout - 10 skills patched: docker-service-deployment, home-lab-*, server-architecture-plan, twilio-10dlc, vaultwarden-management, voip-portal, hudu, syncromsp, recurring-information-scout
## 2026-07-29
### Village Express — Client Project
- Direct client engagement: student transport platform for Savannah family
- Built working mockups: client registration form + admin dashboard
- Live at https://mockup.iamgmb.com/village-express/ and /admin.html
- Deployed: registration form with SCCPSS school dropdown, e-signatures, SMS PIN
- Deployed: admin dashboard with 5-page nav, approve/reject, route toggles, SMS broadcast modal, settings
- Project proposal written: scope, pricing ($1,500 setup / $497/mo), timeline, Phases 1-3
- Customer email drafted: benefit-focused, sells time savings and simplicity
- Both documents in /root/projects/village-express/
+435
View File
@@ -0,0 +1,435 @@
# BeachDirect.io — Business Proposal
## Table of Contents
- 1. Executive Summary
- 2. Elevator Pitch
- 3. Problem Statement
- 4. Market Analysis
- 5. Product Overview
- 6. Revenue Model
- 7. Competitive Advantages
- 8. Go-to-Market Strategy
- 9. Risk Analysis
- 10. Financial Projections
- 11. The Ask
---
## 1. Executive Summary
**BeachDirect.io** is a done-for-you direct booking platform for vacation rental owners who want to escape platform fees without losing bookings. We build custom-designed, conversion-optimized websites with integrated Stripe booking, guest CRM, and an owner dashboard — targeting the 30A/Destin market as a beachhead, then expanding to all Gulf Coast vacation destinations.
The vacation rental software market is $1.2B and growing at 12% CAGR. Platforms like Lodgify, OwnerRez, and Guesty serve this space — but they're DIY tools. Owners still have to build their own sites, configure their own systems, and figure out marketing. BeachDirect is a service, not software: we build the site, configure Stripe, load their photos, write their copy, and hand them a working direct-booking business.
**Key numbers:**
- Target customer: 1-3 property owners in beach vacation markets
- Pricing: $997-$3,997 setup + $47-$197/mo (no per-booking fees)
- Revenue potential: $57,910/year at 10 Pro-tier clients
- Beachhead market: Destin/Miramar Beach/30A — 12,000+ vacation rentals
- Reference implementation: MooreSunnyDaze.com (live mockup, admin dashboard built)
**What's already built:** Reference site (Moore Sunny Daze) with full admin dashboard (guest directory, messaging, revenue tracking, calendar), 5 policy pages, theme system. Stripe integration planned, FastAPI backend designed.
---
## 2. Elevator Pitch
**It's Shopify for vacation rentals — but we build it for you.**
Vacation rental owners hand 10-15% of every booking to VRBO and Airbnb. That's $3,000-$8,000/year for a typical beach condo. BeachDirect gives them a beautiful, custom direct-booking site that pays for itself in 2-3 bookings — and they keep 100% of every booking after that, plus own their guest relationships forever. We handle the build, they handle the hosting (with a smile).
---
## 3. Problem Statement
### 3.1 The Core Problem
Vacation rental owners are trapped. VRBO and Airbnb bring them bookings, but at a steep price:
| Fee Type | VRBO | Airbnb |
|----------|------|--------|
| Guest service fee | 6-15% of booking | 5-15% of booking |
| Host commission | 5% per booking | 3% per booking |
| **Total platform take** | **11-20%** | **8-18%** |
For a property booking $30,000/year, that's $3,000-$6,000 in platform fees — every year, forever.
### 3.2 How Owners Currently Solve This
| Method | Time Investment | Cost | Effectiveness |
|--------|----------------|------|---------------|
| Stay on VRBO/Airbnb only | None | 11-20% of revenue | Guaranteed bookings |
| Build own WordPress site | 40-80 hours | $500-$2,000 | Poor — no booking integration |
| Use Lodgify/OwnerRez template | 10-20 hours | $32-$88/mo | Moderate — DIY site with booking |
| Hire a web agency | 5-10 hours | $5,000-$15,000 | Good — but 10-20x our price |
| **BeachDirect** | **2-3 hours** | **$997-$3,997 setup** | **Best — custom site, done for you** |
### 3.3 The Gap
Existing solutions are either:
- **DIY tools** (Lodgify, OwnerRez) — owners still have to build everything themselves
- **Agency-priced** ($5K-$15K) — out of reach for single-property owners
- **Platform-trapped** (VRBO/Airbnb) — high fees, no guest ownership
There is no "done for you" solution at a price point that makes sense for a 1-3 property owner. BeachDirect fills that gap.
### 3.4 Who Is This For? (And Who It's NOT For)
**Ideal customer:**
- Owns 1-3 beach vacation properties
- 70%+ annual occupancy (already has demand)
- Has returning guests or social following
- Frustrated with platform fees
- Wants to own guest relationships
- Located in a high-demand vacation market (beach, mountain, lake)
**NOT for:**
- Owners struggling to fill their calendar (they NEED the marketplace)
- 10+ property managers (they need a full PMS like Guesty)
- Owners who want to DIY their site (they can use Lodgify)
This qualification is critical. BeachDirect is not a replacement for VRBO/Airbnb's marketplace — it's a tool for owners who already have demand and want to capture more of it directly.
---
## 4. Market Analysis
### 4.1 Market Size
| Metric | Value | Source |
|--------|-------|--------|
| Total Addressable Market (TAM) | $1.2B | Vacation rental software market, 12% CAGR |
| US vacation rental properties | 2.4 million | AirDNA 2025 |
| Properties in beach markets | ~600,000 | Estimate: 25% of US vacation rentals |
| Serviceable Addressable Market (SAM) | 120,000 owners | 1-3 property owners, 70%+ occupancy, beach markets |
| Serviceable Obtainable Market (SOM) | 50 clients Year 1 | Conservative: Destin/30A beachhead only |
### 4.2 Competitive Landscape
| Competitor | Monthly Price | DIY or Done-for-You | Key Strength | Key Weakness |
|-----------|--------------|---------------------|--------------|--------------|
| **Lodgify** | $32-$264/mo | DIY | Website builder + PMS, affordable | Generic templates, owner does all work |
| **OwnerRez** | $88+/mo | DIY | US-focused, strong direct booking tools | Technical, steep learning curve |
| **Hostfully** | $109+/mo | DIY | Digital guidebooks, guest experience | Expensive for small portfolios |
| **Guesty** | $27+/listing/mo | DIY | Enterprise PMS, 60+ channels | Overkill for 1-3 properties |
| **Hospitable** | $40/property/mo | DIY | AI messaging automation | No website builder, messaging only |
| **Web agency** | $5K-$15K one-time | Done-for-you | Custom design | Too expensive for small owners |
| **BeachDirect** | $47-$197/mo | **Done-for-you** | Custom design, white-glove setup | Brand new, no track record |
### 4.3 Why Existing Players Won't Just Copy Us
Lodgify and OwnerRez are software companies — they scale by selling subscriptions to self-serve users. Adding a done-for-you service layer fundamentally changes their unit economics (they'd need designers, copywriters, project managers). It's the difference between Shopify (DIY e-commerce) and an agency that builds Shopify stores — different business model entirely.
---
## 5. Product Overview
### 5.1 Architecture
```
Owner Onboarding
→ We build custom site (HTML/CSS themed to their property)
→ Configure Stripe Connect (direct to owner's bank)
→ Load property photos + write copy
→ Set up admin dashboard
→ Deploy on ITPP infrastructure
→ Hand off keys → Owner manages via dashboard
Guest Experience
→ Landing page (photo-heavy, mobile-optimized)
→ Check availability → Select dates → Book
→ Stripe checkout → Confirmation email
→ Pre-arrival email (door code, WiFi, house rules)
→ Post-stay thank you + review request
```
### 5.2 Feature Tiers
| Feature | Starter ($47/mo) | Pro ($97/mo) | Full Service ($197/mo) |
|---------|-----------------|--------------|------------------------|
| Custom landing page | ✅ | ✅ | ✅ |
| Direct booking (Stripe) | ✅ | ✅ | ✅ |
| Admin dashboard | ✅ | ✅ | ✅ |
| Guest directory + history | ✅ | ✅ | ✅ |
| Calendar management | ✅ | ✅ | ✅ |
| Email automation | — | ✅ | ✅ |
| Smart pricing rules | — | ✅ | ✅ |
| Guest messaging inbox | — | ✅ | ✅ |
| iCal calendar sync | ✅ | ✅ | ✅ |
| Revenue analytics | — | ✅ | ✅ |
| Channel sync (API) | — | — | ✅ |
| Multi-property (2-3) | — | — | ✅ |
| Priority support | — | — | ✅ |
| **Setup Fee** | **$997** | **$2,497** | **$3,997** |
### 5.3 What's Already Built (Reference Implementation)
| Component | Status | Detail |
|-----------|--------|--------|
| Moore Sunny Daze landing page | 🟢 Live | mockup.iamgmb.com/mooresunnydaze/ |
| Theme system (3 variants) | 🟢 Live | Theme selector with A/B/C |
| Admin dashboard | 🟢 Live | Guest directory, messaging, revenue, calendar, settings |
| Policy pages (5) | 🟢 Live | Terms, privacy, cancellation, house rules, rental agreement |
| Stripe integration | 🟡 Designed | Schema + API endpoints designed, not yet built |
| FastAPI backend | 🟡 Designed | Endpoints defined, not yet built |
| Email automation | 🔴 Not built | Templates exist in admin dashboard |
| iCal sync | 🔴 Not built | Planned v1 feature |
| BeachDirect landing page | 🔴 Not built | Domain available (beachdirect.io) |
### 5.4 Deployment Status Grid
| Site | Status | Detail |
|------|--------|--------|
| **beachdirect.io** | 🔴 Not created | Domain available, not yet registered |
| **app.beachdirect.io** | 🔴 Not created | Customer dashboard (future) |
| **Moore Sunny Daze** | 🟢 Live | Reference implementation at mockup.iamgmb.com/mooresunnydaze/ |
| **mooresunnydaze.com** | 🔴 Not created | Tim's domain, pending GoDaddy auth code |
---
## 6. Revenue Model
### 6.1 Revenue Streams
| Stream | Type | Amount |
|--------|------|--------|
| Setup fees | One-time | $997-$3,997 per client |
| Monthly subscriptions | Recurring | $47-$197/mo per client |
| Add-on services | One-time | Photo editing ($200), copywriting ($300), SEO setup ($400) |
### 6.2 Pricing Rationale
- **No per-booking fees** — the key differentiator. Lodgify and OwnerRez also don't charge per-booking, but VRBO/Airbnb do. We're positioning against the platforms, not the PMS tools.
- **Setup fee covers our time** — custom build takes 8-15 hours. At $997-$3,997, that's $66-$266/hr effective rate.
- **Monthly covers hosting + support** — server costs are negligible ($5-10/client on existing ITPP infra). The rest is margin.
### 6.3 Revenue Projections by Customer Count
| Scenario | Clients | Setup Revenue | Monthly Run Rate | Annual Revenue |
|----------|---------|--------------|------------------|----------------|
| Conservative | 10 | $19,970 | $970/mo | $31,610 |
| Realistic | 25 | $49,925 | $2,425/mo | $79,025 |
| Aggressive | 50 | $99,850 | $4,850/mo | $158,050 |
### 6.4 12-Month Revenue Ramp
| Month | New Clients | Total Clients | Setup Revenue | Monthly Revenue | Cumulative |
|-------|------------|---------------|---------------|-----------------|------------|
| 1 | 2 | 2 | $3,994 | $154 | $4,148 |
| 2 | 2 | 4 | $3,994 | $308 | $8,450 |
| 3 | 3 | 7 | $5,991 | $539 | $14,980 |
| 4 | 3 | 10 | $5,991 | $770 | $21,741 |
| 5 | 2 | 12 | $3,994 | $924 | $26,659 |
| 6 | 3 | 15 | $5,991 | $1,155 | $33,805 |
| 7 | 2 | 17 | $3,994 | $1,309 | $39,108 |
| 8 | 3 | 20 | $5,991 | $1,540 | $46,639 |
| 9 | 2 | 22 | $3,994 | $1,694 | $52,327 |
| 10 | 3 | 25 | $5,991 | $1,925 | $60,243 |
| 11 | 2 | 27 | $3,994 | $2,079 | $66,316 |
| 12 | 3 | 30 | $5,991 | $2,310 | $74,617 |
*Assumes average Pro tier ($97/mo), 50/50 split between Pro and Full Service setups.*
### 6.5 Cost Structure
| Cost | Monthly | Annual | Notes |
|------|---------|--------|-------|
| Infrastructure (servers) | $0 | $0 | Already running on ITPP infra |
| Domain (beachdirect.io) | $3 | $36 | .io renewal ~$36/yr |
| Stripe (our processing) | $0 | $0 | Stripe Connect — client pays their own fees |
| Email delivery (Resend) | $20 | $240 | 10K emails/month free tier may cover early stage |
| Marketing (ads, FB) | $200 | $2,400 | Facebook ads targeting Destin/30A owners |
| **Total** | **$223/mo** | **$2,676/yr** | |
---
## 7. Competitive Advantages (Moat)
### 7.1 Unfair Advantages
| Advantage | Why It Matters | Defensibility |
|-----------|---------------|---------------|
| **Done-for-you, not DIY** | Competitors sell software; we sell a finished product | Hard to replicate — requires service team |
| **Tim as case study** | Real property, real bookings, real savings | Competitors have testimonials; we have a reference implementation |
| **Geographic focus** | Own Destin/30A first — become the known brand in one market | Network effects within a local market |
| **ITPP infrastructure** | Zero marginal hosting cost per client | Competitors pay AWS; we own the metal |
| **Custom design quality** | Every site is bespoke, not a Lodgify template | Template competitors can't match without changing business model |
### 7.2 Competitive Positioning Map
```
HIGH PRICE
|
Web Agencies ($5-15K) |
| Guesty (enterprise)
|
---------------------+--------------------
|
Lodgify ($32-264/mo) | BeachDirect ($47-197/mo)
DIY templates | Done-for-you custom
|
VRBO/Airbnb |
(10-20% per booking) |
|
LOW PRICE
```
*X-axis: Self-serve ← → Done-for-you | Y-axis: Price*
---
## 8. Go-to-Market Strategy
### 8.1 Phases
| Phase | Timeline | Goal |
|-------|----------|------|
| **Foundation** | Month 1-2 | Complete Tim's reference site, build BeachDirect landing page, register domain |
| **Soft Launch** | Month 3-4 | 5 beta clients at 50% setup fee (testimonials in exchange) |
| **Growth** | Month 5-8 | Direct outreach to Destin/30A owners, Facebook ads, referral program |
| **Scale** | Month 9-12 | Expand to Gulf Coast (Panama City, Gulf Shores, Galveston), hire first contractor |
### 8.2 First 100 Customers — Where They Come From
1. **Tim's referrals** (10-15) — Other Maravilla owners, Destin rental owner friends
2. **Facebook groups** (20-30) — "Destin Vacation Rental Owners", "30A Rental Owners", "Vacation Rental Hosts"
3. **Cold email/DM to VRBO listings** (15-20) — "I noticed you're on VRBO. Here's what you paid them last year."
4. **Local property managers** (10-15) — Small managers with 1-3 properties who want to look bigger
5. **Google Ads** (5-10) — "direct booking website vacation rental" + Destin geo-targeted
6. **Referral program** (10-15) — $200 referral credit for each signed client
7. **Content marketing** (5-10) — "How I saved $4,200 in VRBO fees" case study blog post
8. **VRBO/Airbnb host meetups** (5) — Destin/30A host meetup groups, sponsor or attend
### 8.3 Channel Economics
| Channel | Cost/Lead | Conversion Rate | CAC | Monthly Volume |
|---------|-----------|----------------|-----|----------------|
| Tim's referrals | $0 | 40% | $0 | 2-3 |
| Facebook groups | $0 | 10% | $0 | 3-5 |
| Cold outreach | $0 (labor) | 5% | $0 | 10-15 |
| Facebook ads | $15 | 3% | $500 | 20-30 leads |
| Google Ads | $25 | 4% | $625 | 10-15 leads |
| Referral program | $200 | 25% | $200 | 1-2 |
---
## 9. Risk Analysis
### 9.1 The Critical Strategy Risk: The Marketplace Problem
**This is the biggest risk to the entire business.**
VRBO and Airbnb's core value is not their booking software — it's their marketplace of millions of searching travelers. When an owner leaves the platforms, they lose access to that marketplace. Our product only works for owners who can drive their own traffic (returning guests, social following, SEO, paid ads).
**Mitigation:**
- Qualify ruthlessly. Only sell to owners with 70%+ occupancy and existing demand.
- iCal sync (v1) lets owners stay on VRBO/Airbnb while building their direct channel — they don't have to go all-in on day one.
- Our value prop shifts from "leave the platforms" to "capture more direct bookings alongside the platforms."
### 9.2 Risk Matrix
| Risk | Probability | Impact | Mitigation |
|------|-----------|--------|------------|
| Owners can't fill calendar without marketplace | High | Critical | iCal sync, qualify for 70%+ occupancy, position as "add direct bookings" not "leave platforms" |
| Established competitors (Lodgify, OwnerRez) | Medium | High | Compete on service (done-for-you), not software features |
| Low conversion from free beta to paid | Medium | Medium | Charge from day 1 — no free tier. Beta = discounted setup, full monthly. |
| Seasonal demand (beach markets) | Medium | Low | Diversify to mountain/lake markets in Year 2 |
| Stripe Connect compliance/risk | Low | Medium | Standard KYC; Stripe handles most compliance |
| Name limits market ("Beach" Direct) | Medium | Medium | Register alternative domain for non-beach markets, or position "Beach" as a vibe brand |
### 9.3 Pre-mortem: What Kills This Within 6 Months
1. **We sell to the wrong customers.** An owner with 40% occupancy buys BeachDirect, pulls their VRBO listing, bookings drop to zero, they blame us. One bad review in a Facebook group and we're done in that market.
2. **We underestimate the build time.** If each custom site takes 25 hours instead of 10, our setup fee covers $40/hr — unsustainable. Need to template aggressively while keeping the "custom" feel.
3. **No one refers anyone.** If Tim doesn't become a genuine evangelist (not just a paid case study), the referral flywheel never spins up. The first 5 clients must be raving fans.
---
## 10. Financial Projections
### 10.1 12-Month P&L (Realistic Scenario)
| Month | Revenue | Costs | Net Income |
|-------|---------|-------|------------|
| 1 | $4,148 | $223 | $3,925 |
| 2 | $4,302 | $223 | $4,079 |
| 3 | $6,530 | $223 | $6,307 |
| 4 | $6,761 | $223 | $6,538 |
| 5 | $4,918 | $223 | $4,695 |
| 6 | $7,146 | $223 | $6,923 |
| 7 | $5,303 | $223 | $5,080 |
| 8 | $7,531 | $223 | $7,308 |
| 9 | $5,688 | $223 | $5,465 |
| 10 | $7,916 | $223 | $7,693 |
| 11 | $6,073 | $223 | $5,850 |
| 12 | $8,301 | $223 | $8,078 |
| **Total** | **$74,617** | **$2,676** | **$71,941** |
*Costs reflect existing ITPP infrastructure — no server costs until we need dedicated capacity.*
### 10.2 Unit Economics
| Metric | Value |
|--------|-------|
| Average Revenue Per Client (ARPU) | $116/mo |
| Customer Lifetime (est.) | 24 months |
| LTV | $2,784 |
| CAC (blended) | $200-$500 |
| LTV:CAC | 5.5:1 to 14:1 |
| Gross Margin | ~95% (no marginal hosting cost) |
### 10.3 Break-Even
At $223/mo in costs and average $116/mo per client:
- **Break-even at 2 clients** on monthly alone
- Setup fees make us profitable from client #1
---
## 11. The Ask
### 11.1 Resources Needed
| Item | Detail | Timeline | Cost |
|------|--------|----------|------|
| Domain | beachdirect.io | Week 1 | $36/yr |
| BeachDirect landing page | Sales site, pricing, case study | Week 1-2 | 8 hours |
| Complete Tim's reference site | Stripe integration, live at mooresunnydaze.com | Week 2-4 | 12 hours |
| BeachDirect proposal HTML | This document, published | Today | 2 hours |
| First ad campaign | Facebook ads targeting Destin owners | Month 2 | $200/mo |
### 11.2 Immediate Decisions Required
**Domain name:**
| Domain | Available | Verdict |
|--------|-----------|---------|
| **beachdirect.io** | ✅ | Top pick — matches strategy doc name, memorable, .io fits tech product |
| directhost.io | ✅ | Generic fallback, works for any vacation rental type |
| ownyourguests.com | ✅ | .com advantage, strong value prop in name, but long |
Recommendation: **beachdirect.io**. The "beach" name limits non-beach markets, but we're starting with Destin/30A deliberately — own the beach first, expand later. Register a second domain (e.g., directhost.io) as a redirect for non-beach markets in Year 2.
**Pricing:** Does the tier structure ($997/$2,497/$3,997 setup, $47/$97/$197 monthly) feel right? This undercuts agencies by 3-10x while being premium to Lodgify's DIY pricing.
**Beta program:** 50% off setup for first 5 clients in exchange for testimonials. Approved?
**iCal sync placement:** Recommend moving from Full Service to Starter tier — it's table stakes, not a premium feature. Without it, owners risk double-booking while building their direct channel.
**Tim's domain:** Need GoDaddy auth code for mooresunnydaze.com to point DNS to our server. Ready to request?
### 11.3 What Success Looks Like (Month 12)
- 30 paying clients, $2,310/mo MRR
- Tim's site generating 40%+ of his bookings direct
- 3-5 raving testimonials from Destin/30A owners
- BeachDirect is the known brand for "beach rental direct booking" on 30A
- One contractor hired for site builds
### 11.4 The Bigger Picture
BeachDirect is product #7 in the ITPP micro-SaaS portfolio (IntelSight, SchoolCart, Gift-a-Roast, DRE, DigLocate, HotNow). It's the first that's purely a service business with a software backbone — high-touch, premium-priced, geographically focused. If it works for beaches, the playbook replicates to mountains (MountainDirect), lakes (LakeDirect), and cities (StayDirect). Each market gets its own landing page, its own case studies, its own local Facebook groups — but the same backend, same admin dashboard, same Stripe integration.
The vacation rental market is massive and the "escape platform fees" narrative is only getting louder. We're building the escape hatch.
+985
View File
@@ -0,0 +1,985 @@
# HotNow.io — Phase 1: Architecture + Competitive Intel
> **Phase 1 of 4 — $50 Premium Build**
> **Date:** August 2, 2026
> **Status:** ✅ Complete — Awaiting Germaine Review
---
## Table of Contents
1. [Competitive Landscape](#1-competitive-landscape)
2. [Opportunity Analysis & HotNow's Edge](#2-opportunity-analysis--hotnows-edge)
3. [Product Architecture](#3-product-architecture)
4. [Data Model](#4-data-model)
5. [API Surface](#5-api-surface)
6. [Real-Time Ranking Algorithm](#6-real-time-ranking-algorithm)
7. [Component Tree & PWA Shell](#7-component-tree--pwa-shell)
8. [Infrastructure & Deployment](#8-infrastructure--deployment)
9. [Build Plan Preview (Phases 2-4)](#9-build-plan-preview-phases-2-4)
10. [Follow-Up Questions for Germaine](#10-follow-up-questions-for-germaine)
---
## 1. Competitive Landscape
### Market Segmentation
The local discovery space is fragmented across four segments — nobody owns all of them:
| Segment | What It Covers | Key Players |
|---------|---------------|-------------|
| **Restaurant/Business Discovery** | Finding places to eat, drink, shop | Yelp, Google Maps, Beli, Corner, TripAdvisor |
| **Event/Ticketing Platforms** | Buying tickets, browsing events | Eventbrite, DICE/Fever, Songkick, Bandsintown |
| **Neighborhood Social** | Hyperlocal community chatter | Nextdoor, Facebook Groups, Ring Neighbors |
| **Curated Experiences** | Immersive, premium, one-off events | Fever (Candlelight), Secret Cinema, Airbnb Experiences |
### Competitor Deep Dives
---
#### 2. Yelp — The Incumbent Giant
- **What it is:** 20-year-old local business discovery platform. 21-22M reviews/year. Massive community-generated content moat.
- **What's new (2025 Fall Release):** Massive AI push — Yelp Assistant (AI chatbot on every business page), Menu Vision (AR menu scanning), natural language/voice search, Popular Offerings (LLM-extracted crowd favorites), Yelp Host/Receptionist (AI call answering for businesses). Partnered with DoorDash for delivery.
- **Pricing:** Free for consumers. Business advertising: $150-$5,000+/mo. Yelp Host: $99/mo.
- **UX Pattern:** List-first with map secondary. Search-driven discovery.
- **Weaknesses:**
- Not real-time — Yelp ranks on accumulated review history, not "what's hot right now"
- Weak on events — events are an afterthought, not core UX
- Gen Z exodus — Beli and Corner are eating its lunch with younger demographics
- No social buzz integration — no TikTok/Instagram trend signals
- **🔴 HotNow opportunity:** Real-time trending that Yelp's batch-oriented ranking can't match. Social buzz as a ranking signal. Event-first UX.
---
#### 3. Fever — The Experience Curator
- **What it is:** Global ticketing platform for curated experiences. 30+ cities worldwide. Known for Candlelight Concerts, immersive Van Gogh exhibits, themed pop-ups.
- **Big news:** **Acquired DICE in 2025** — combined entity now dominates curated event ticketing
- **Pricing:** Free to browse. Fever takes a commission on ticket sales (service fees added). No consumer subscription.
- **UX Pattern:** Feed-first (curated hero cards). List + grid browse. Map only for venue lookup.
- **Weaknesses:**
- Curated, not comprehensive — Fever only shows its own catalog (events they ticket)
- Not real-time — no trending algorithm, fixed listings
- Not local-discovery — it's a ticketing platform, not a "what's happening around me" tool
- B2C curation model — doesn't surface grassroots/pop-up/unlisted happenings
- **🔴 HotNow opportunity:** Comprehensive vs. curated. Real-time vs. scheduled. Discovery vs. ticketing.
---
#### 4. DICE — Transparent Ticketing
- **What it is:** Music-first ticketing platform with transparent pricing (no hidden fees). Strong in UK/Europe, expanding in US. Acquired by Fever.
- **Pricing:** No consumer fees — built into ticket price. Artist/venue revenue share.
- **UX Pattern:** Feed-first with personalized recommendations based on listening history (Spotify/Apple Music integration).
- **Weaknesses:**
- Music-only — no restaurant/bar/pop-up discovery
- Ticketing-centric — useless if you just want to know what's happening without buying a ticket
- Post-acquisition uncertainty — Fever integration may shift focus
- **🔴 HotNow opportunity:** Cross-category discovery (not just music). Free-form exploration without ticket purchase obligation.
---
#### 5. Eventbrite — The Event Marketplace
- **What it is:** Largest self-service event platform. 5M+ events/year. 2025 rebrand from utility to "cultural hub."
- **New initiatives:** AI personalization, Listener.com partnership for audience reach, AI-powered event recommendations.
- **Pricing:** Free to browse. Organizers pay: free tier (up to 25 tickets), then 2% + $0.79 per paid ticket, or subscription plans.
- **UX Pattern:** Search-first with category browse. List results. Map secondary.
- **Weaknesses:**
- Quantity over quality — lots of spam, online webinars, low-quality listings
- No real-time signal — static listings sorted by date/relevance
- Brand perception: "event Craigslist" — utilitarian, not aspirational
- Not Gen Z cool — zero social features
- **🔴 HotNow opportunity:** Quality-filtered, social-buzz ranked. Cool brand. Map-first UX.
---
#### 6. Nextdoor — Neighborhood Social
- **What it is:** Hyperlocal social network for neighborhoods. 15 years old. User-generated content: recommendations, alerts, events.
- **2025 redesign:** AI-powered "Faves" for local business discovery, real-time emergency alerts (weather/traffic/power), local news from 3,500+ publisher partners, LLM per neighborhood trained on 15 years of conversations.
- **Pricing:** Free. Ad-supported + promoted business posts.
- **UX Pattern:** Feed-first (social). Map for alerts. List for businesses.
- **Weaknesses:**
- Brand damage — associated with racism, misinformation, "Karen" culture
- Demographic skew — older homeowners, not Gen Z/Millennials going out
- Events are buried — not a discovery tool, it's a neighborhood bulletin board
- Reactive, not proactive — "lost cat" dominates over "cool thing happening"
- **🔴 HotNow opportunity:** Aspirational, cool brand. Discovery-first. Young demographic. No neighborhood baggage.
---
#### 7. Beli — Gen Z Restaurant Ranking
- **What it is:** Restaurant ranking + social app. Goodreads/Letterboxd for food. 80% of users under 35. 30M reviews in 2024 (surpassing Yelp's 21M).
- **How it works:** Log restaurants, compare them head-to-head (pairwise ranking algorithm assigns scores /10), follow friends, browse feeds. No star ratings.
- **Growth engine:** College campus ambassador program. Leaderboards by school. Dating app integration (sharing rankings to vet dates). TikTok/Instagram virality.
- **Pricing:** Free (currently). No ads. No monetization yet.
- **UX Pattern:** Feed-first (social). Profile-centric. No map.
- **Weaknesses:**
- Restaurant-only — no events, bars (as venues), pop-ups, activities
- Past-tense — about where you've been, not what's happening right now
- No map — poor for real-time exploration
- No monetization path yet — unclear business model
- **🔴 HotNow opportunity:** Real-time + events + map. Broader than restaurants. Clear revenue model from day one.
---
#### 8. Corner — Gen Z Social Map
- **What it is:** Map-first social app for Gen Z. User-curated map of places (restaurants, bars, shops, sunset spots). No star ratings. Mood-board style lists. $3.75M raised.
- **Key features:** AI semantic search ("sexy wine bar" → results), Instagram/TikTok bookmark import, user-generated descriptions (Gen Z voice: "performative male wine bar to break someone's heart"), Mapbox-powered.
- **Stats:** 55,000 users, 275,000+ places, 450 cities. Hubs: NYC, SF, Tokyo, LA, Seoul.
- **Pricing:** Free. Considering premium trip-planning tier. No sponsored placements (stated philosophy).
- **UX Pattern:** Map-first. Feed of friend activity. Profile + lists.
- **Weaknesses:**
- Tiny scale — 55K users vs. Yelp's millions
- User-generated only — no data if nobody has added a place yet
- No events — purely place discovery (static)
- Gen Z monoculture — alienates 30+ demographic
- No monetization — pre-revenue, burning VC
- **🔴 HotNow opportunity:** Events + real-time + broader demographic. Data-rich from day one (Super Search v2). Revenue from launch.
---
#### 9. Google Maps — The 800-Pound Gorilla
- **What it is:** Default map for 1B+ users. 20 years old. "Explore" tab surfaces nearby restaurants, attractions, activities.
- **Recent AI:** Gemini-powered conversational search, AR Live View, "Popular Times" (historical foot traffic data), AI-summarized place descriptions.
- **Pricing:** Free for consumers. Google Ads for businesses.
- **UX Pattern:** Map-first. Everything is on the map. Unbeatable directions + navigation.
- **Weaknesses:**
- Not events-first — events are buried, inconsistent, often missing
- Static data — "Popular Times" is historical, not real-time
- No social — no friend activity, no trending rankings
- Generic UX — one-size-fits-all, no personality
- **🔴 HotNow opportunity:** Events-first UX. Real-time trending. Social layer. Brand personality.
---
#### 10. Songkick / Bandsintown — Live Music Trackers
- **What it is:** Track artists you follow → get notified when they're playing near you. Songkick acquired by Suno (AI music company). Bandsintown is independent.
- **Pricing:** Free for fans. Bandsintown: artist promo packages ($25-$100+/mo).
- **UX Pattern:** List-first (concerts by date). Artist-centric.
- **Weaknesses:**
- Music-only — no other event categories
- Artist-dependent — you must follow artists to get value
- No real-time trending — chronological, not ranked by buzz
- **🔴 HotNow opportunity:** All categories. Buzz-ranked. No following required — discover without pre-configuring.
---
#### 11. Resident Advisor (RA) — Electronic Music Authority
- **What it is:** The definitive electronic music events platform. Global listings, reviews, news, ticket sales.
- **Pricing:** Free to browse. Ticket commission + promoted event listings.
- **UX Pattern:** List-first. Deep filtering by genre/city/date.
- **Weaknesses:**
- Niche (electronic music only) — tiny addressable market
- Community-specific — not for general audience
- **🔴 HotNow opportunity:** Mass-market appeal. All genres + all categories.
---
#### 12. Seeker.io — B2B AI Event Aggregation
- **What it is:** AI-native event discovery for tourism boards, CVBs, local media. Crawls any website to extract events. Used by SF Peninsula (500+ sources, 16 cities), Tennessee Tourism (statewide), Calgary Co-op (4 orgs, 1 feed).
- **Pricing:** Enterprise B2B SaaS (not publicly listed — likely $500-$5K+/mo depending on scale).
- **UX Pattern:** Embeddable calendar widget for partner websites. REST API for custom integrations.
- **Weaknesses:**
- B2B, not consumer-facing — no social, no map UX, no mobile app
- No real-time trending — chronological curation
- Expensive — not for small businesses
- **🔴 HotNow opportunity:** Consumer experience. Real-time social ranking. Affordable business tiers.
---
## 2. Opportunity Analysis & HotNow's Edge
### The White Space
After analyzing 12 competitors, **nobody is doing all of these together:**
| Capability | Yelp | Fever/DICE | Eventbrite | Nextdoor | Beli | Corner | Google Maps | **HotNow** |
|------------|------|-----------|------------|----------|------|--------|-------------|-------------|
| Real-time trending | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Social buzz signals | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Map-first UX | 🔶 | ❌ | ❌ | 🔶 | ❌ | ✅ | ✅ | ✅ |
| Events + Places | ❌ | 🔶 | ✅ | 🔶 | ❌ | ❌ | 🔶 | ✅ |
| AI ranking | 🔶 | ❌ | 🔶 | ✅ | ✅ | ✅ | 🔶 | ✅ |
| Gen Z cool factor | ❌ | 🔶 | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ |
| Business monetization | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
| Offline mode (PWA) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
| PWA (no app store) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
**🔶 = partially / second-class feature**
### HotNow's Core Differentiators
1. **Real-Time Trending Ranking** — The single biggest gap. Everyone ranks by reviews, dates, or manual curation. HotNow ranks by what's buzzing *right now* — social signals, check-in velocity, search volume, AI sentiment.
2. **Super Search v2 Integration** — Already live on Core server with 7 providers. This is HotNow's data engine — aggregates events, venues, reviews, and social signals from multiple sources without needing to build every scraper from scratch.
3. **Map-First PWA** — No app store friction. Instant onboarding. Works offline. Lower CAC than native app competitors.
4. **Three-Tier Consumer Monetization** — Explorer (free), Pro ($4.99/mo), Concierge ($19.99/mo). Competitors are either free/ad-supported or ticket-commission-only. Recurring subscription revenue from day one.
5. **Business Revenue from Launch** — Featured Placement ($97/mo) + Event Boost ($47/event). Affordable for small businesses (unlike Yelp's $500+ minimums).
6. **Brand Identity** — Dark theme, warm gradient accent. "What's good, right now, near you." Gen Z/Millennial voice without alienating 30+.
---
## 3. Product Architecture
### System Overview
```
┌─────────────────────────────────────────────────────────────────┐
│ USERS (PWA) │
│ app.hotnow.io ─── Map View ─── Discovery Feed ─── etc. │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ CLOUDFLARE CDN │
│ Static assets (JS/CSS/icons) │ API proxy │ DDoS protection │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ CADDY REVERSE PROXY │
│ SSL termination │ Rate limiting │ Route by subdomain │
└─────────────────────────────────────────────────────────────────┘
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ app.hotnow.io │ │ api.hotnow.io │ │ dashboard.hotnow │
│ (Static PWA) │ │ (FastAPI) │ │ (Business Dash) │
│ SvelteKit SPA │ │ Port 8001 │ │ Static + API │
└──────────────────┘ └──────────────────┘ └──────────────────┘
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
│ PostgreSQL │ │ Redis │ │ Super Search v2 │
│ + PostGIS │ │ Cache + Queue│ │ (7 providers) │
│ │ │ + Real-time │ │ Existing on Core │
└──────────────┘ └──────────────┘ └──────────────────┘
```
### Tech Stack
| Layer | Technology | Why |
|-------|-----------|-----|
| **PWA Frontend** | SvelteKit (static adapter) | Fast, small bundles, great PWA support |
| **Map** | Leaflet.js + OpenStreetMap tiles | Free, no API keys, works offline with cached tiles |
| **Backend API** | FastAPI (Python 3.11) | Async, auto-docs, Python matches existing Core stack |
| **Database** | PostgreSQL 16 + PostGIS | Geospatial queries (proximity, radius, bounding box) |
| **Cache** | Redis | Trending scores, session cache, rate limit counters, real-time pub/sub |
| **Task Queue** | Redis + ARQ (or Celery) | Background: Super Search ingestion, trend recalculation, notifications |
| **Auth** | JWT tokens + refresh | Stateless, PWA-friendly, no cookies needed |
| **Payments** | Stripe | Consumer subs + business placements, Webhook integration |
| **Search** | PostgreSQL full-text search + Super Search v2 | Hybrid: own DB for quick lookups, Super Search for deep aggregation |
| **Offline** | Service Worker + IndexedDB | Cache map tiles, event data, user preferences |
| **Push Notifications** | Web Push API + VAPID | PWA native, no app store needed |
| **Email** | Postmark or SendGrid | Transactional + marketing |
### Subdomain Architecture
| Subdomain | Purpose | Technology |
|-----------|---------|------------|
| `hotnow.io` | Marketing/SEO landing page | Static HTML (existing `/var/www/hotnow/index.html`) |
| `app.hotnow.io` | PWA shell | SvelteKit SPA, static export, served by Caddy |
| `api.hotnow.io` | REST API backend | FastAPI on Core server (`152.53.192.33`), port 8001 |
| `dashboard.hotnow.io` | Business dashboard | SvelteKit SPA (shared component library with app) |
| `cdn.hotnow.io` | Static assets (optional) | Cloudflare CDN caching |
| `admin.hotnow.io` | Internal admin panel | Protected by Tailscale, minimal FastAPI admin |
---
## 4. Data Model
### Core Entities
#### Events
```sql
CREATE TABLE events (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title VARCHAR(255) NOT NULL,
description TEXT,
category event_category NOT NULL, -- enum: music, food_drink, arts_culture, nightlife, sports, family, pop_up, other
start_time TIMESTAMPTZ NOT NULL,
end_time TIMESTAMPTZ,
timezone VARCHAR(50) DEFAULT 'America/Chicago',
is_recurring BOOLEAN DEFAULT false,
recurrence_rule VARCHAR(255), -- RRULE format
is_featured BOOLEAN DEFAULT false,
-- Venue relationship
venue_id UUID REFERENCES venues(id) ON DELETE CASCADE,
-- Media
cover_image_url VARCHAR(500),
media_urls JSONB DEFAULT '[]', -- [{url, type, order}]
-- Pricing
price_info JSONB DEFAULT NULL, -- {type: free|paid|varies, range: {min, max}, currency}
ticket_url VARCHAR(500),
-- Source attribution
source VARCHAR(100) NOT NULL, -- 'manual', 'super_search', 'user_submitted', 'api_partner'
source_event_id VARCHAR(255), -- external ID for dedup
source_url VARCHAR(500),
-- Real-time signals (updated by background worker)
trending_score FLOAT DEFAULT 0.0,
popularity_pulse INTEGER DEFAULT 0, -- short-term velocity (last 2 hours)
social_mention_count INTEGER DEFAULT 0,
search_volume_24h INTEGER DEFAULT 0,
check_in_count INTEGER DEFAULT 0,
ai_sentiment_score FLOAT DEFAULT 0.0, -- -1.0 to 1.0
-- Metadata
tags TEXT[] DEFAULT '{}',
is_active BOOLEAN DEFAULT true,
reviewed_by_admin BOOLEAN DEFAULT false,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- Geospatial: events inherit location from venue, but can override
-- Indexes
CREATE INDEX idx_events_trending ON events (trending_score DESC) WHERE is_active = true;
CREATE INDEX idx_events_time_range ON events (start_time, end_time) WHERE is_active = true;
CREATE INDEX idx_events_category ON events (category) WHERE is_active = true;
CREATE INDEX idx_events_venue ON events (venue_id);
CREATE INDEX idx_events_source_dedup ON events (source, source_event_id);
```
#### Venues
```sql
CREATE TABLE venues (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(255) NOT NULL,
description TEXT,
venue_type venue_type NOT NULL, -- enum: bar, restaurant, club, theater, park, gallery, pop_up, other
-- Contact
address VARCHAR(500),
city VARCHAR(100) NOT NULL,
state VARCHAR(50),
postal_code VARCHAR(20),
country VARCHAR(2) DEFAULT 'US',
-- Geospatial (PostGIS)
location GEOGRAPHY(POINT, 4326), -- lat/lng for proximity queries
geo_json JSONB DEFAULT NULL, -- polygon for venues with boundaries
-- Contact
phone VARCHAR(20),
website VARCHAR(500),
social_links JSONB DEFAULT '{}', -- {instagram, facebook, twitter, tiktok}
-- Hours
hours JSONB DEFAULT NULL, -- [{day, open, close}]
is_permanently_closed BOOLEAN DEFAULT false,
-- Media
cover_image_url VARCHAR(500),
media_urls JSONB DEFAULT '[]',
-- Real-time signals
trending_score FLOAT DEFAULT 0.0,
current_busy_level busy_level DEFAULT 'unknown', -- enum: quiet, moderate, busy, packed
-- Business owner (links to Stripe customer)
owner_user_id UUID REFERENCES users(id),
-- Metadata
source VARCHAR(100) DEFAULT 'manual',
source_venue_id VARCHAR(255),
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_venues_location ON venues USING GIST (location);
CREATE INDEX idx_venues_city ON venues (city, state);
CREATE INDEX idx_venues_type ON venues (venue_type);
```
#### Users
```sql
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email VARCHAR(255) UNIQUE,
display_name VARCHAR(100),
avatar_url VARCHAR(500),
-- Auth
password_hash VARCHAR(255),
auth_provider auth_provider DEFAULT 'email', -- enum: email, google, apple
auth_provider_id VARCHAR(255),
email_verified BOOLEAN DEFAULT false,
-- Subscription
tier subscription_tier DEFAULT 'explorer', -- explorer, pro, concierge
stripe_customer_id VARCHAR(100),
subscription_status subscription_status DEFAULT 'inactive', -- active, past_due, canceled, inactive
subscription_expires_at TIMESTAMPTZ,
-- Preferences
home_city VARCHAR(100),
home_location GEOGRAPHY(POINT, 4326),
preferred_categories TEXT[] DEFAULT '{}',
preferred_radius_km INTEGER DEFAULT 10,
notification_prefs JSONB DEFAULT '{}', -- {push, email, sms, categories}
-- PWA
push_subscription JSONB DEFAULT NULL, -- Web Push subscription object
-- Metadata
is_business BOOLEAN DEFAULT false,
is_admin BOOLEAN DEFAULT false,
last_active_at TIMESTAMPTZ,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_users_email ON users (email);
CREATE INDEX idx_users_stripe ON users (stripe_customer_id);
```
#### Search/Discover Events (Lightweight for feed)
```sql
CREATE TABLE discover_events (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
event_id UUID REFERENCES events(id) ON DELETE CASCADE,
user_id UUID NOT NULL, -- anonymized session UUID for anonymous users
action discover_action NOT NULL, -- enum: view, click, save, share, check_in
source_context VARCHAR(50), -- 'map', 'feed', 'search', 'detail'
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_discover_events_user_time ON discover_events (user_id, created_at DESC);
CREATE INDEX idx_discover_events_event ON discover_events (event_id, created_at);
```
#### Business Features
```sql
CREATE TABLE business_features (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
venue_id UUID REFERENCES venues(id) ON DELETE CASCADE,
feature_type feature_type NOT NULL, -- featured_placement, event_boost, promoted_listing
status feature_status DEFAULT 'active',
starts_at TIMESTAMPTZ NOT NULL,
ends_at TIMESTAMPTZ NOT NULL,
stripe_payment_id VARCHAR(100),
amount_paid_cents INTEGER,
metadata JSONB DEFAULT '{}',
created_at TIMESTAMPTZ DEFAULT NOW()
);
```
#### Cached/Search Index (Redis)
```redis
# Trending events by city (sorted set, scored by trending_score)
trending:{city}:{category} → Sorted Set {event_id: score}
# Real-time pulse (current activity, 15-min TTL)
pulse:{event_id} → {view_count, click_count, save_count, last_updated}
# User sessions (JWT refresh tokens)
session:{user_id}:{device_id} → {refresh_token, expires_at, device_info}
# Rate limiting
ratelimit:{ip}:{endpoint} → counter with TTL
# Geo-index cache (pre-computed bounding boxes)
geo:{lat}:{lng}:{radius_km} → Set of event_ids (TTL: 5 min)
```
---
## 5. API Surface
### REST API (api.hotnow.io/v1)
#### Events
| Method | Endpoint | Auth | Description |
|--------|----------|------|-------------|
| `GET` | `/events/trending` | Optional | Trending events (paginated, filtered by location/category) |
| `GET` | `/events/nearby` | Optional | Events within radius of lat/lng |
| `GET` | `/events/:id` | Optional | Full event detail with venue info |
| `GET` | `/events/search` | Optional | Full-text search + Super Search v2 aggregation |
| `POST` | `/events/submit` | User | User-submitted event (goes to review queue) |
| `POST` | `/events/:id/save` | User | Save/bookmark event |
| `POST` | `/events/:id/check-in` | User | Check in (anonymized, feeds trending) |
| `GET` | `/events/:id/pulse` | Optional | Real-time activity data for this event |
#### Venues
| Method | Endpoint | Auth | Description |
|--------|----------|------|-------------|
| `GET` | `/venues/nearby` | Optional | Venues within radius |
| `GET` | `/venues/:id` | Optional | Venue detail + upcoming events |
| `GET` | `/venues/:id/busy` | Optional | Current busy level estimate |
#### Discovery
| Method | Endpoint | Auth | Description |
|--------|----------|------|-------------|
| `GET` | `/discover/feed` | Optional | Personalized feed (AI if Pro tier, trending if free) |
| `GET` | `/discover/recommendations` | Pro | AI-powered recommendations |
| `POST` | `/discover/action` | Optional | Log view/click/save for trending signals |
#### Auth
| Method | Endpoint | Auth | Description |
|--------|----------|------|-------------|
| `POST` | `/auth/register` | None | Create account (email + password) |
| `POST` | `/auth/login` | None | Login → JWT access + refresh token |
| `POST` | `/auth/refresh` | Refresh | Get new access token |
| `POST` | `/auth/logout` | Access | Revoke refresh token |
| `POST` | `/auth/oauth/google` | None | Google OAuth login |
| `GET` | `/auth/me` | Access | Current user profile |
#### Subscriptions
| Method | Endpoint | Auth | Description |
|--------|----------|------|-------------|
| `GET` | `/billing/plans` | None | Available subscription tiers |
| `POST` | `/billing/subscribe` | User | Create Stripe checkout session |
| `GET` | `/billing/portal` | User | Redirect to Stripe Customer Portal |
| `POST` | `/billing/webhook` | Stripe | Stripe webhook receiver |
#### Business
| Method | Endpoint | Auth | Description |
|--------|----------|------|-------------|
| `GET` | `/business/dashboard` | Business | Business metrics and active features |
| `POST` | `/business/featured` | Business | Purchase Featured Placement |
| `POST` | `/business/boost` | Business | Purchase Event Boost |
| `GET` | `/business/analytics` | Business | Impressions, clicks, conversions |
#### Admin (internal)
| Method | Endpoint | Auth | Description |
|--------|----------|------|-------------|
| `GET` | `/admin/review-queue` | Admin | Events/venues pending review |
| `POST` | `/admin/review/:id` | Admin | Approve/reject submission |
| `POST` | `/admin/recalculate-trending` | Admin | Force trend recalculation |
| `GET` | `/admin/stats` | Admin | Platform metrics |
### Auth Flow
```
1. User registers/logs in → receives:
- access_token (JWT, 15 min expiry)
- refresh_token (opaque, 30 day expiry, stored in Redis)
2. Every API call: Authorization: Bearer <access_token>
3. Access token expires → POST /auth/refresh → new access_token
4. Logout → revoke refresh_token in Redis
5. Anonymous users: session_id (UUID v4, stored in localStorage)
- Limited rate: 100 requests/hour
- Cannot save/bookmark (no persistence without account)
```
### Rate Limits
| Tier | Requests/Hour | Special Limits |
|------|--------------|----------------|
| Anonymous | 100 | Search: 10/hr |
| Explorer (Free) | 300 | AI recs: none, Save: 50 |
| Pro ($4.99/mo) | 1000 | AI recs: 100/hr, Offline: full |
| Concierge ($19.99/mo) | 5000 | AI recs: unlimited, Concierge chat: 50/day |
| Business | 500 | Dashboard + analytics |
| Admin | Unlimited | All endpoints |
---
## 6. Real-Time Ranking Algorithm
### The HotNow Score
The core innovation. Every event has a `trending_score` recalculated every 5 minutes by a background worker.
```
HOT_SCORE = (
SOCIAL_BUZZ × 0.30 +
ENGAGEMENT_VELOCITY × 0.25 +
RECENCY_DECAY × 0.20 +
AI_SENTIMENT × 0.15 +
MANUAL_BOOST × 0.10
) × CITY_NORMALIZATION
```
#### Signal Components
| Signal | Weight | Sources | Decay |
|--------|--------|---------|-------|
| **SOCIAL_BUZZ** | 30% | Instagram geotag mentions, X/Twitter mentions, TikTok location tags (via Super Search) | Half-life: 4 hours |
| **ENGAGEMENT_VELOCITY** | 25% | HotNow own telemetry: views/min, clicks/min, saves/min, check-ins/min | Half-life: 2 hours |
| **RECENCY_DECAY** | 20% | Time until event start. Events starting soon get boost. | Linear ramp: peaks 2h before, decays after start |
| **AI_SENTIMENT** | 15% | Super Search v2 NLP sentiment on social mentions about the venue/event | 24h rolling window |
| **MANUAL_BOOST** | 10% | Featured Placement ($97/mo), Event Boost ($47/event) | Fixed duration |
#### City Normalization
```
CITY_NORMALIZATION = log10(active_users_in_city + 1) / log10(total_events_in_city + 1)
```
Prevents NYC/London from dominating. Small cities can compete.
#### Anti-Gaming Measures
- Velocity caps: engagement increase >300% in 15 min → throttled
- Bot detection: suspicious patterns (same IP, rapid fire) → excluded
- Review queue: user-submitted events require admin approval before trending
- Manual boost transparency: clearly labeled in UI ("Promoted")
### Data Pipeline
```
┌─────────────────┐
│ Super Search v2 │ ← 7 providers, already live on Core
│ (aggregator) │
└────────┬────────┘
│ Every 15 min
┌─────────────────┐
│ Ingestion Worker │ ← Redis queue (ARQ), dedup by source_event_id
│ │ enrich with geocoding, AI sentiment
└────────┬────────┘
┌─────────────────┐
│ PostgreSQL │ ← Events + Venues tables
└────────┬────────┘
│ Every 5 min
┌─────────────────┐
│ Trend Calculator │ ← Compute HOT_SCORE for all active events
│ (ARQ cron job) │ Update trending_score, write to Redis sorted sets
└────────┬────────┘
┌─────────────────┐
│ Redis │ ← Sorted sets: trending:{city}:{category}
│ │ API reads directly from Redis (sub-millisecond)
└─────────────────┘
```
---
## 7. Component Tree & PWA Shell
### PWA Architecture
```
app.hotnow.io (SvelteKit SPA, static export)
├── src/
│ ├── routes/
│ │ ├── +layout.svelte # Shell (nav, bottom tabs, auth state)
│ │ ├── +page.svelte # Map view (default/home)
│ │ ├── discover/
│ │ │ └── +page.svelte # Discovery feed (list)
│ │ ├── event/
│ │ │ └── [id]/
│ │ │ └── +page.svelte # Event detail
│ │ ├── venue/
│ │ │ └── [id]/
│ │ │ └── +page.svelte # Venue detail
│ │ ├── search/
│ │ │ └── +page.svelte # Search + filters
│ │ ├── profile/
│ │ │ └── +page.svelte # User profile, saved events
│ │ ├── settings/
│ │ │ └── +page.svelte # Preferences, notifications
│ │ ├── auth/
│ │ │ ├── login/+page.svelte
│ │ │ └── register/+page.svelte
│ │ └── concierge/
│ │ └── +page.svelte # Concierge chat (Pro tier)
│ │
│ ├── lib/
│ │ ├── components/
│ │ │ ├── Map.svelte # Leaflet wrapper
│ │ │ ├── EventCard.svelte # Horizontal/vertical card variant
│ │ │ ├── EventDetail.svelte # Full modal/page detail
│ │ │ ├── VenueCard.svelte
│ │ │ ├── TrendPulse.svelte # Live activity indicator
│ │ │ ├── CategoryFilter.svelte
│ │ │ ├── SearchBar.svelte
│ │ │ ├── BottomNav.svelte # Mobile bottom tab bar
│ │ │ ├── ConciergeChat.svelte # AI chat interface
│ │ │ └── PwaInstall.svelte # Install prompt
│ │ ├── stores/
│ │ │ ├── auth.ts # JWT + refresh logic
│ │ │ ├── location.ts # Geolocation watcher
│ │ │ ├── events.ts # Event cache + trending
│ │ │ └── settings.ts # User preferences
│ │ ├── api/
│ │ │ ├── client.ts # Fetch wrapper with auth
│ │ │ ├── events.ts
│ │ │ ├── venues.ts
│ │ │ ├── discover.ts
│ │ │ └── auth.ts
│ │ └── utils/
│ │ ├── geo.ts # Distance, bounding box calc
│ │ ├── offline.ts # IndexedDB + SW helpers
│ │ └── format.ts # Date, price, category formatting
│ │
│ ├── service-worker.ts # PWA offline cache
│ └── app.css # Tailwind + brand colors
├── static/
│ ├── manifest.json # PWA manifest
│ ├── icons/ # PWA icons (192, 512)
│ └── favicon.ico
├── svelte.config.js
├── vite.config.ts
├── tailwind.config.ts
└── package.json
```
### Key UI Patterns
#### Map View (Home Screen)
- Full-screen Leaflet map (OpenStreetMap tiles pre-cached for offline)
- Clustered markers colored by category
- Pulsing markers for "hot right now" (pulse speed = trending_score)
- Bottom sheet (swipeable): list of nearby trending events
- Filter chip bar: All | Music | Food/Drink | Arts | Nightlife | Pop-ups
- Location button: recenter, radius slider
#### Discovery Feed
- Vertical scroll list of EventCards
- Each card: cover image, title, venue, distance, trending badge, time
- Pull-to-refresh (recalculates location + trending)
- "Happening Now" horizontal carousel at top
- Skeleton loading states
#### Event Detail
- Hero image with gradient overlay
- Title, venue name (tappable → venue detail), distance
- "Hot right now" pulse indicator
- Description, category badges, tags
- Price info + ticket link
- Actions: Save, Share, Check In, Get Directions
- Map snippet showing location
- "Nearby" section: other trending events nearby
#### Business Dashboard (dashboard.hotnow.io)
- Auth-gated, only for users with `is_business = true`
- Overview: impressions, clicks, saves for their venue/events
- Purchase flow: Featured Placement, Event Boost
- Analytics: 7-day, 30-day charts
- Manage venue details, hours, photos
---
## 8. Infrastructure & Deployment
### Server: Netcup RS 2000 (Core — 152.53.192.33)
```yaml
Services:
PostgreSQL 16 + PostGIS:
database: hotnow
user: hotnow_app
extensions: postgis, pg_trgm, uuid-ossp
Redis 7:
instance: hotnow
maxmemory: 256mb
policy: allkeys-lru
FastAPI (api.hotnow.io):
port: 8001
workers: 4 (gunicorn + uvicorn)
systemd service: hotnow-api
ARQ Workers:
service: hotnow-worker
queues: ingestion, trending, notifications, cleanup
Caddy:
config: /etc/caddy/Caddyfile
routes:
hotnow.io → /var/www/hotnow/index.html (landing page)
app.hotnow.io → /var/www/hotnow-app/ (SvelteKit build)
api.hotnow.io → reverse_proxy localhost:8001
dashboard.hotnow.io → /var/www/hotnow-dashboard/ (SvelteKit build)
```
### Cloudflare DNS
```
A hotnow.io → 152.53.192.33
A app.hotnow.io → 152.53.192.33 (or CNAME → hotnow.io)
A api.hotnow.io → 152.53.192.33 (or CNAME → hotnow.io)
A dashboard.hotnow.io → 152.53.192.33 (or CNAME → hotnow.io)
CNAME www.hotnow.io → hotnow.io
```
### Environment Variables
```bash
# /etc/hotnow/.env
DATABASE_URL=postgresql://hotnow_app:${DB_PASSWORD}@localhost:5432/hotnow
REDIS_URL=redis://localhost:6379/0
JWT_SECRET=${JWT_SECRET}
JWT_REFRESH_SECRET=${JWT_REFRESH_SECRET}
STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY}
STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET}
SUPER_SEARCH_ENDPOINT=http://localhost:8000 # Super Search v2 MCP
SUPER_SEARCH_API_KEY=${SUPER_SEARCH_API_KEY}
ENVIRONMENT=production
CORS_ORIGINS=https://app.hotnow.io,https://dashboard.hotnow.io
```
---
## 9. Build Plan Preview (Phases 2-4)
### Phase 2: Core Build ($20-25 budget, premium models)
**What gets built:**
1. **Database setup** — PostgreSQL + PostGIS on Core server. Run migrations for all tables.
2. **FastAPI backend** — All API endpoints listed above. Auth flow (JWT + refresh). Stripe integration (subscriptions + business payments).
3. **Super Search v2 integration** — Event ingestion pipeline. Dedup logic. Geocoding enrichment.
4. **Trending algorithm** — HOT_SCORE calculator. ARQ cron job. Redis sorted set population.
5. **PWA shell** — SvelteKit SPA. Map view with Leaflet. Discovery feed. Event detail. Search. Auth. Bottom navigation.
6. **Business dashboard** — Basic dashboard with analytics and purchase flow.
7. **Caddy + Cloudflare** — Subdomain routing. SSL. Rate limiting.
**Models used:** `claude-sonnet-4-20250514` for complex backend logic, `gpt-4o` for frontend, `deepseek-v4-pro` for architecture decisions.
---
### Phase 3: Review + Hardening ($8-10 budget)
**What gets hardened:**
1. **Security audit** — JWT hardening, input validation, SQL injection check, CORS review.
2. **Performance** — API response time optimization, database query tuning, Redis cache hit rate.
3. **Error handling** — Graceful degradation, offline fallbacks, rate limit UX, payment failure flows.
4. **PWA audit** — Lighthouse PWA score, offline functionality, install flow, push notifications.
5. **Mobile testing** — iOS Safari, Chrome Android, Samsung Internet. Responsive breakpoints.
6. **Seed data** — Populate with real events for launch city. Verify trending algorithm with live data.
7. **Business onboarding flow** — Stripe Connect setup, venue claim flow, payment testing.
**Models used:** `claude-sonnet-4-20250514` for code review, `gpt-4o` for testing, `deepseek-v4-pro` for security analysis.
---
### Phase 4: Launch Package ($5-7 budget)
**What gets packaged:**
1. **Launch city campaign** — SEO landing page for target city. Social media post templates.
2. **Email sequence** — Welcome email, weekly digest ("What's Hot This Weekend"), re-engagement.
3. **Analytics dashboard** — Simple admin analytics: DAU/MAU, event engagement, revenue tracking.
4. **Business outreach kit** — One-page pitch for venues to advertise. "Claim your venue" email template.
5. **Documentation** — Deployment runbook, API docs (auto-generated by FastAPI), admin guide.
6. **Monitoring** — Uptime Kuma check for api.hotnow.io health endpoint. Error alerting.
7. **Launch checklist** — Pre-launch verification items. Go/no-go criteria.
---
## 10. Follow-Up Questions for Germaine
### Launch Strategy
1. **Launch city?** You mentioned Savannah in the doc. Is that the definite first market? Pros: manageable size, tourist economy, strong local culture, your home base. Cons: smaller user base, seasonal tourism. Alternatives to consider: Austin (tech-forward, young demo), Nashville (music + nightlife), Charleston (tourism + culture, close to Savannah).
2. **Savannah-specific considerations?** SCAD students are a natural early adopter demographic. Should we do a SCAD ambassador program (similar to Beli's campus model)? Are there local event organizers / venues we should partner with pre-launch?
3. **City-rollout strategy?** One city at a time (depth-first) or multi-city from launch (breadth-first)? Depth-first: build strong network effects in one market, then expand. Breadth-first: broader appeal but thinner data per city.
### Data Strategy
4. **Seed data sources?** Super Search v2 gives us web crawl + search aggregation. But for launch, should we also:
- Manually curate 50-100 events/venues in the launch city to ensure quality?
- Partner with local event organizers, venues, tourism boards?
- Scrape existing platforms (Eventbrite, Facebook Events) as seed data?
- User submissions from day one (UGC)?
5. **Data quality vs. quantity?** Fever/DICE has 100% quality (curated) but narrow scope. Eventbrite has massive scope but low quality. Where should HotNow start on this spectrum?
### Revenue Priority
6. **Consumer subscriptions vs. business placements — which is Priority A?**
- Consumer-first: requires user acquisition → conversion to Pro/Concierge. Longer path to revenue.
- Business-first: sell Featured Placement + Event Boost to venues immediately. Faster revenue, but need traffic to sell.
- Hybrid: launch with free tier + business placements, add Pro/Concierge in month 2-3.
7. **Concierge tier ($19.99/mo) — what should it actually offer at launch?** Curated experiences require human or AI curation effort. Options:
- AI-powered concierge chat (lower cost, always available)
- Human-curated weekly picks (higher value, higher cost)
- Hybrid: AI for instant answers, human for weekly curated lists
### Technical Choices
8. **Map provider — Leaflet (OpenStreetMap) free or splurge on Mapbox?**
- Leaflet + OSM: free, no API keys, works offline. Less polished tiles.
- Mapbox: beautiful tiles, better dark theme, 3D buildings. $0 for first 50K monthly loads, then ~$200+/mo at scale.
- Recommendation: start with Leaflet, swap to Mapbox when revenue supports it.
9. **Hard constraints on tech stack?** You've already chosen FastAPI + SvelteKit + PostgreSQL. Any of these non-negotiable? Any you'd prefer to swap?
10. **Progressive Web App vs. native mobile?** PWA is the plan (no app store, instant updates, offline). When/if should we invest in native iOS/Android? Trigger points: 10K MAU? Revenue milestone?
### Timeline & Budget
11. **Phase 2 timeline expectations?** At $20-25 budget with premium models, I estimate Phase 2 takes about 8-12 hours of build time (subagent + human orchestration). Does that match your timeframe?
12. **MVP definition — what's the absolute minimum for "go live"?**
- Must have: map, trending events, search, event detail, basic auth
- Nice to have: AI recommendations, offline mode, Concierge chat, business dashboard
- Your call on the cutoff for launch
---
## Appendix A: Existing Assets Snapshot
| Asset | Path | Status |
|-------|------|--------|
| Landing page | `/var/www/hotnow/index.html` | ✅ Live (1342 lines, 38KB) |
| Mockup | `/var/www/mockup/hotnow/index.html` | ✅ Complete (432 lines, 14KB) |
| Project doc | `/root/projects/itpp-infrastructure/projects/hotnow.md` | ✅ Comprehensive (827 lines) |
| Domain | `hotnow.io` | ✅ Registered at Cloudflare |
| Server | Core (152.53.192.33), Netcup RS 2000 | ✅ Operational |
| Super Search v2 | MCP on Core | ✅ 7 providers, all healthy |
| Caddy | Reverse proxy on Core | ✅ Configured |
| PostgreSQL 16 | On Core | ✅ Running |
| Redis | On Core | ✅ Running |
## Appendix B: Key Market Signals
- **Gen Z discovery:** 77% discover restaurants on social media (Eater/Vox 2025 survey)
- **Beli growth:** 30M reviews in 2024 (surpassing Yelp's 21M) — demand for social-forward discovery
- **Fever acquired DICE:** Consolidation in curated event space — leaves gap for comprehensive real-time
- **Nextdoor AI pivot:** "LLM for every neighborhood" — validates AI + hyperlocal
- **Corner's $3.75M raise:** VCs betting on map-first social discovery for Gen Z
- **Yelp's AI transformation:** Incumbent feels threat from new discovery paradigms
- **Eventbrite rebrand:** Moving from utility to cultural hub — validates shift toward experience economy
+827
View File
@@ -0,0 +1,827 @@
# HotNow Business Proposal
**Prepared for:** Germaine Brown & Advisory Team
**Date:** August 1, 2026
**Company:** IT Pro Partner -- Product Division
**Product:** HotNow (hotnow.io)
**Classification:** Confidential -- Advisory Review
---
## Table of Contents
1. [Executive Summary](#1-executive-summary)
2. [Elevator Pitch](#2-elevator-pitch)
3. [Problem Statement](#3-problem-statement)
4. [Market Analysis](#4-market-analysis)
5. [Product Overview](#5-product-overview)
6. [Revenue Model](#6-revenue-model)
7. [Competitive Advantages](#7-competitive-advantages)
8. [Go-to-Market Strategy](#8-go-to-market-strategy)
9. [Risk Analysis](#9-risk-analysis)
10. [Financial Projections](#10-financial-projections)
11. [The Ask](#11-the-ask)
---
## 1. Executive Summary
HotNow is a real-time local discovery engine that surfaces hidden gems, trending spots, and live events near you -- in real time. Unlike Yelp (review-focused, static), Eventbrite (event ticketing, not discovery), or editorial curation platforms (slow, limited cities), HotNow aggregates and ranks everything happening around you right now based on social signals, check-in data, freshness, and AI-powered curation.
The global local discovery and events market is massive. The online event ticketing market alone was valued at **$28.4 billion in 2024** and is projected to reach **$43.6 billion by 2032** (Allied Market Research, 2025). The broader "things to do" local discovery segment -- encompassing restaurants, nightlife, pop-ups, street festivals, live music, and art shows -- represents a **$100B+ annual consumer spend category** in the US alone (US Bureau of Labor Statistics, Consumer Expenditure Survey, 2024). Yet no single platform answers the question "what's good right now near me?" in real time.
HotNow fills this gap. Built on IT Pro Partner's existing Super Search v2 infrastructure -- a battle-tested multi-provider search engine with 7 providers, circuit breakers, and caching already running on netcup VPS -- HotNow adds a map-first mobile PWA, real-time ranking algorithm, user accounts, and location-based discovery. Approximately **70% of the core search and aggregation engine already exists and is production-hardened**.
With a freemium model anchored by Pro ($4.99/mo) and Concierge ($19.99/mo) tiers, plus business featured placements ($97/mo) and event promotion boosts ($47/event), HotNow monetizes both consumer willingness to pay for curation and business willingness to pay for visibility. At **1,000 Pro subscribers and 100 featured businesses**, HotNow projects **~$176K MRR** (~$2.1M ARR) with approximately **90%+ gross margins** -- a capital-efficient consumer platform with near-zero marginal delivery cost.
This proposal outlines the market opportunity, product architecture, revenue model, go-to-market plan, risk analysis, and the resources required to launch HotNow as a standalone product under the IT Pro Partner umbrella.
**TL;DR:** Everyone asks "what should we do tonight?" HotNow answers it -- in real time. Freemium consumer app ($4.99/mo Pro) plus business visibility revenue. ~70% of the engine already built on Super Search v2. Domain hotnow.io acquired. Ready to build and launch.
---
## 2. Elevator Pitch
HotNow tells you what's good, right now, near you. Open the app, see a live map of trending spots, pop-ups, live music, secret menus, and street festivals happening around you -- ranked in real time by social buzz, freshness, and AI curation. Free to browse. $4.99/month unlocks "Best Right Now" -- AI picks tailored to your tastes, the weather, the time of day, and real-time crowd signals. It's the answer to "what should we do tonight?" for every Gen Z and Millennial in every city.
---
## 3. Problem Statement
### 3.1 The Discovery Gap
Every day, millions of people ask some version of the same question: "what's good around here?" or "what should we do tonight?" The answers are scattered across a fragmented landscape of platforms, none of which solve the problem end-to-end in real time.
| Platform | What It Does | What It Misses |
|----------|-------------|----------------|
| Yelp / Google Maps | Restaurant reviews + ratings | Not real-time; doesn't surface pop-ups, events, live music, or trending spots |
| Eventbrite / Ticketmaster | Event ticketing | Only ticketed events; misses free pop-ups, street festivals, hidden gems |
| TikTok / Instagram | Social discovery | Unstructured, algorithmic feed; not map-based; no real-time ranking |
| Thrillist / Infatuation | Editorial curation | Slow, static, limited to major cities; misses neighborhood-level gems |
| Scoop Travel | Curated travel recommendations | Travel-focused, not local; editorial (slow), not real-time |
| Google "Events near me" | Event listings | Generic, incomplete, no social signals, no curation |
The result: **people miss the best stuff happening around them**. The pop-up ramen shop that's only open tonight. The street festival three blocks away that didn't show up on Eventbrite. The bar with a secret live jazz set. By the time editorial coverage or Yelp reviews catch up, the moment is gone.
### 3.2 Who Feels This Pain
- **Gen Z and Millennials in urban areas** (18-40). They're spontaneous, social, and discovery-driven. They don't plan weekend activities days in advance -- they decide at 7pm what to do at 8pm.
- **Tourists and visitors** who want to find what locals actually do, not the TripAdvisor top 10.
- **Foodies and nightlife enthusiasts** who've exhausted the Yelp front page and want the hidden stuff.
- **Event-goers** tired of missing pop-ups, secret shows, and limited-run experiences because they didn't follow the right Instagram account.
### 3.3 The Pain Points HotNow Solves
| Pain Point | HotNow Solution |
|------------|----------------|
| "I don't know what's happening around me right now" | Real-time map of trending spots, events, and pop-ups |
| Yelp only shows established places, not what's hot tonight | Social signal + freshness ranking surfaces the new and trending |
| Events scattered across 5+ platforms | Single aggregated feed of everything: food, music, art, nightlife |
| Editorial coverage is slow and limited to big cities | AI-powered, automated, neighborhood-level precision everywhere |
| No personalization without hours of research | Pro tier: AI picks tailored to your tastes, weather, and time |
| "My friends and I can't decide" | Concierge tier: group coordination, itinerary builder |
---
## 4. Market Analysis
### 4.1 Total Addressable Market (TAM)
The local discovery and events market spans several overlapping segments:
| Segment | Market Size | Source / Methodology |
|---------|------------|---------------------|
| Online event ticketing (global) | $28.4B (2024) → $43.6B (2032) | Allied Market Research, 2025; CAGR 5.5% |
| US restaurant + food service spend | $1.1T annually | National Restaurant Association, 2025 |
| US live music + entertainment | $35B annually | IBISWorld, 2024 |
| US nightlife + bars | $28B annually | IBISWorld, 2024 |
| US "things to do" / experiences consumer spend | ~$150B annually | BLS Consumer Expenditure Survey, 2024; aggregate of food away from home, entertainment, recreation |
| Global local search advertising | $14.8B (2024) → $25.3B (2030) | Grand View Research, 2025; CAGR 9.4% |
**TAM (Consumer Discovery Apps + Local Event Aggregation):** Conservative estimate of **$5B-$10B** in addressable consumer and business revenue globally, growing as mobile-first discovery replaces traditional search and editorial curation.
### 4.2 Serviceable Addressable Market (SAM)
HotNow's initial SAM is **US urban Gen Z and Millennials (18-40) in top 30 metro areas** who use smartphones for local discovery.
| Parameter | Value | Source / Methodology |
|-----------|-------|---------------------|
| US population 18-40 in top 30 metros | ~45 million | Census Bureau 2024; metro population × age bracket share |
| Smartphone users who search for "things to do near me" at least weekly | ~35% | Google Trends + Pew Research mobile search behavior |
| Addressable users | ~15.75 million | 45M × 35% |
| Willingness to pay $5/mo for discovery app | ~5-10% of addressable | Comparable to subscription app conversion rates (Strava, AllTrails, Yelp) |
| **SAM (consumer subscriptions)** | **~$47M-$94M MRR** | 15.75M × 5-10% × $4.99 |
| **SAM (business featured placements)** | **~$500M-$1B annually** | US SMBs in food/entertainment/hospitality (~1M) × $97/mo × 5-10% adoption |
### 4.3 Serviceable Obtainable Market (SOM)
HotNow's SOM for the first 3 years focuses on **launch cities with high young-adult density and strong nightlife/event cultures**.
| Year | SOM Estimate | Methodology |
|------|-------------|-------------|
| Year 1 | 500-2,000 Pro subscribers + 20-50 featured businesses | Launch in 2-3 cities (Austin, Miami, Atlanta). Organic + community-driven growth. |
| Year 2 | 5,000-15,000 Pro subscribers + 100-300 businesses | Expand to 8-10 cities. Referral flywheel + social media. |
| Year 3 | 20,000-50,000 Pro subscribers + 500-1,000 businesses | 20+ cities. Brand establishment. Network effects from user density. |
### 4.4 Competitive Landscape
| Competitor | Price | Primary Strength | Primary Weakness | HotNow Advantage |
|------------|-------|-----------------|-----------------|-----------------|
| **Yelp** | Free (ads) | Massive review database, SEO dominance | Static, review-focused; no real-time ranking; no pop-up/event discovery | Real-time social signals + AI curation; surfaces what's hot NOW, not what has 200 reviews from last year |
| **Google Maps "Explore"** | Free | Universal adoption, location data | Generic, no curation; misses pop-ups and trending spots; no social signals | AI-powered personalization; real-time ranking; dedicated to discovery, not navigation |
| **Eventbrite** | Free (ticketing fees) | Event creation + ticketing infrastructure | Only ticketed events; misses free pop-ups, street festivals, nightlife | Aggregates everything: ticketed + free + pop-ups + trending spots; not a ticketing platform |
| **TikTok "near me"** | Free | Massive engagement, trend-spotting | Unstructured; no map; no systematic ranking; algorithm-dependent | Map-first structured discovery; real-time ranking; save and plan capabilities |
| **Scoop Travel** | $10/mo | Curated, high-quality travel recommendations | Travel-focused (not local); editorial (slow); limited cities; $10/mo for static content | Real-time; local-first; AI-driven; $4.99/mo; neighborhood precision |
| **Thrillist / Infatuation** | Free (ads) | Editorial quality, brand trust | Slow publication cycle; limited city coverage; misses real-time pop-ups | Automated, real-time, scalable to any city; no editorial bottleneck |
| **Dice / Bandsintown** | Free (ticketing fees) | Live music focus, artist following | Music-only; misses food, art, pop-ups, nightlife | Everything combined: food + music + art + nightlife + events |
| **Instagram "nearby"** | Free | Social proof, visual discovery | Feed-based, not map-based; chronological, not ranked; no aggregation | Map-first; real-time ranking; AI curation; systematic aggregation |
**Key insight:** HotNow does not need to replace Yelp or Google Maps. It needs to answer the specific, high-intent question those platforms handle poorly: "what's good right now near me?" This is a new category -- real-time local discovery -- that combines elements of social media (freshness), maps (location), and AI curation (personalization) into a single experience.
---
## 5. Product Overview
### 5.1 Architecture
HotNow is built on a layered architecture that maximizes reuse of existing IT Pro Partner infrastructure:
```
+-----------------------------------------------------------+
| HotNow PWA (React + Mapbox) |
| Map-first mobile experience, user accounts, tiers |
+-----------------------------------------------------------+
| API Layer (FastAPI + Auth) |
| REST endpoints, geolocation, user profiles, billing |
+-----------------------------------------------------------+
| HotNow Engine (Python) |
| Real-time ranking algorithm, AI curation, social signals |
+---------------------------+-------------------------------+
| Super Search v2 | Event Aggregators |
| (7 providers, caching, | (Eventbrite, Ticketmaster, |
| circuit breakers) | Meetup, Facebook Events, |
| | scraping layer) |
+---------------------------+-------------------------------+
| PostgreSQL -- Places, users, events, reviews |
+-----------------------------------------------------------+
| Stripe -- Billing, subscriptions, payouts |
+-----------------------------------------------------------+
| Mapbox -- Maps, geocoding, location services |
+-----------------------------------------------------------+
```
**Infrastructure:**
- **Hosting:** netcup VPS (IT Pro Partner existing infra) -- one production server + staging
- **Super Search v2 MCP Server:** Already running on app1 -- provides search across 7 providers with circuit breakers, caching, and health monitoring
- **API Layer (to build):** FastAPI with JWT auth, geolocation queries, user profiles
- **PWA (to build):** React SPA with Mapbox GL JS, offline support, push notifications
- **Database (to add):** PostgreSQL with PostGIS for geospatial queries on places, events, users
- **Billing (to add):** Stripe for consumer subscriptions + business featured placement billing
- **Ranking Engine (to build):** Real-time scoring algorithm combining social signals, freshness, check-in velocity, and review sentiment
- **LLM:** deepseek-v4-pro for AI curation, personalized recommendations, itinerary building
**Existing vs. to-build breakdown:**
| Component | Status | Effort Estimate |
|-----------|--------|----------------|
| Super Search v2 engine | **Existing** | 0 hours |
| Search provider orchestration | **Existing** | 0 hours |
| Circuit breakers, caching, health checks | **Existing** | 0 hours |
| Event aggregator connectors (Eventbrite, Ticketmaster, Meetup) | **To build** | ~30 hours |
| Social signal ingestion (check-in data, review velocity) | **To build** | ~25 hours |
| Real-time ranking algorithm | **To build** | ~40 hours |
| AI curation / recommendation engine | **~40% existing** | ~35 hours |
| FastAPI multi-tenant API layer | **To build** | ~30 hours |
| React PWA (Mapbox, offline, push) | **To build** | ~100 hours |
| PostgreSQL + PostGIS schema | **To build** | ~20 hours |
| Stripe billing integration | **To build** | ~20 hours |
| Auth (JWT + social login: Google, Apple) | **To build** | ~15 hours |
| Business portal (claim listing, analytics, featured placement) | **To build** | ~40 hours |
| Push notification engine | **To build** | ~15 hours |
| Testing, DevOps, CI/CD, PWA compliance | **To build** | ~35 hours |
| Documentation, moderation tools | **To build** | ~20 hours |
| **Total remaining build** | | **~425 hours** |
### 5.2 Tier Structure
#### Explorer -- Free
**Target:** Everyone. The top of the funnel.
**Features:**
- Real-time map of trending spots and events near you
- Browse by category: food, music, nightlife, art, festivals, pop-ups
- Event and place detail pages with photos, descriptions, social links
- Basic search and filtering
- "Trending Now" feed for your current location
- Limited to 10 "Best Right Now" AI picks per month
- Ad-supported
#### Pro -- $4.99/month (annual: $49.99/yr, save 17%)
**Target:** Power users who want curated, personalized discovery.
**Features (everything in Explorer, plus):**
- Unlimited "Best Right Now" AI picks -- personalized to your tastes, weather, time of day, and real-time crowd data
- Taste profile: teach HotNow what you like (cuisines, music genres, vibe preferences)
- Saved places and collections ("Date Night Spots," "Best Rooftops")
- Custom alerts: get notified when your favorite type of event pops up nearby
- Ad-free experience
- "Friends Are Going" social signals (opt-in)
- Early access to limited-capacity events
#### Concierge -- $19.99/month (annual: $199.99/yr, save 17%)
**Target:** Power planners, group organizers, frequent entertainers.
**Features (everything in Pro, plus):**
- Trip planner: build multi-stop itineraries with time/location optimization
- Group coordination: share plans, vote on options, see where friends want to go
- "Perfect Night Out" AI: give it a vibe ("romantic," "wild," "low-key") and it builds the night
- Priority support (chat, 2-hour response)
- Concierge badge (verified power user status)
- Early access to new features
- Export itineraries to calendar
### 5.3 Business Revenue Products
| Product | Price | What It Is |
|---------|-------|------------|
| **Featured Placement** | $97/mo per location | Priority placement in "Trending Now" feed + map highlight + "Featured" badge. Analytics dashboard showing impressions, clicks, direction requests. |
| **Event Boost** | $47/event | One-time boost for a specific event (pop-up, special menu, guest DJ, etc.). Surfaces the event to users in a 5-mile radius for 48 hours. |
| **Business Profile** | Free (claimed) | Claim and manage your listing with photos, hours, menus, event posts. Free for all businesses. |
### 5.4 Deployment Status Grid
| Site | Status | Detail |
|------|--------|--------|
| hotnow.io | 🔴 Not created | Domain registered at Cloudflare ($33/yr). DNS + Caddy needed. |
| app.hotnow.io | 🔴 Not created | PWA dashboard |
| api.hotnow.io | 🔴 Not created | Backend API (Super Search extended) |
---
## 6. Revenue Model
### 6.1 Pricing Rationale
HotNow's consumer pricing is anchored to impulse-buy psychology -- less than a single cocktail or a month of Netflix:
- **Explorer (Free):** "Try it. You'll wonder how you lived without it."
- **Pro ($4.99/mo):** "Less than a latte. Unlimited AI-curated picks for the price of a single drink."
- **Concierge ($19.99/mo):** "The cost of one mediocre appetizer. Your personal nightlife planner."
Business pricing is aggressive compared to Yelp Ads ($150-$500+/mo for basic placement) and Eventbrite promotion ($0.79-$2.50/ticket in fees):
- **Featured Placement ($97/mo):** "Less than Yelp Ads. More targeted. Real-time visibility when people are deciding where to go."
- **Event Boost ($47/event):** "One-time. No revenue share. 48 hours of priority visibility to everyone nearby."
### 6.2 Cost Structure (Monthly Operating)
| Expense | Monthly Cost | Annual Cost | Notes |
|---------|-------------|-------------|-------|
| Super Search infrastructure | $0 | $0 | Already running on ITPP infra |
| Netcup VPS (production + staging) | $50 | $600 | Incremental to existing; largely absorbed |
| Mapbox (maps + geocoding) | $50-$200 | $600-$2,400 | Free tier: 50K monthly loads. Scales with MAUs |
| Eventbrite / Ticketmaster API | $0-$100 | $0-$1,200 | Many have free tiers for discovery apps |
| deepseek-v4-pro API calls | $100-$300 | $1,200-$3,600 | Variable; scales with Pro/Concierge user count |
| Stripe fees | ~2.9% + $0.30/transaction | Variable | ~3% of revenue |
| Domain + SSL | $3 | $36 | hotnow.io at Cloudflare ($33/yr) |
| Email delivery (Resend/SendGrid) | $20 | $240 | Transactional + notification delivery |
| Push notifications (OneSignal/FCM) | $0-$50 | $0-$600 | Free tier: 10K subscribers |
| Monitoring + logging | $30 | $360 | Basic observability |
| **Total baseline operating cost** | **~$253-$753/mo** | **~$3,036-$9,036/yr** | |
At scale (10K+ MAU), Mapbox and LLM costs become the primary variable costs. Mapbox pricing: ~$0.50 per 1,000 map loads beyond free tier. LLM: ~$0.01-$0.05 per AI recommendation query.
### 6.3 Revenue Projections by User Count
All consumer figures assume annual contract pricing for simplicity. Month-to-month Pro adds $1/mo (20% premium).
#### Scenario: Consumer Subscriptions Only
| Pro Subscribers | Concierge (10% of Pro) | Monthly Consumer Revenue | Annual Revenue |
|-----------------|----------------------|-------------------------|----------------|
| 100 | 10 | $617 | $7,404 |
| 500 | 50 | $3,083 | $37,000 |
| 1,000 | 100 | $6,166 | $73,992 |
| 5,000 | 500 | $30,830 | $369,960 |
| 10,000 | 1,000 | $61,660 | $739,920 |
| 50,000 | 5,000 | $308,300 | $3,699,600 |
#### Scenario: Consumer + Business Revenue (Year 3 Target)
| Revenue Source | Volume/Month | Monthly Revenue | Annual Revenue |
|---------------|-------------|----------------|---------------|
| Pro Subscribers ($4.17/mo annual) | 10,000 | $41,700 | $500,400 |
| Concierge ($16.67/mo annual) | 1,000 | $16,670 | $200,040 |
| Featured Placements ($97/mo) | 500 | $48,500 | $582,000 |
| Event Boosts ($47/event) | 200 | $9,400 | $112,800 |
| **Total** | | **$116,270** | **$1,395,240** |
#### Gross Margin Analysis
At 1,000 Pro subscribers + 100 featured businesses (~$14.7K MRR), monthly costs of ~$500 vs. revenue of ~$14,700 yields a **gross margin of ~97%**. At scale (50K users + 1,000 businesses), margin remains above **90%** after Mapbox and LLM scaling costs.
### 6.4 12-Month Revenue Ramp (Realistic Case)
| Month | Pro Users | Businesses | MRR | Cumulative Revenue | Notes |
|-------|-----------|-----------|-----|-------------------|-------|
| 1 | 0 | 0 | $0 | $0 | Pre-launch: build completion, beta |
| 2 | 0 | 0 | $0 | $0 | Beta testing, seed content, initial listings |
| 3 | 20 | 2 | $278 | $278 | Soft launch in 1 city (Austin) |
| 4 | 50 | 5 | $693 | $971 | First social media traction |
| 5 | 80 | 8 | $1,109 | $2,080 | Word-of-mouth begins; second city (Miami) |
| 6 | 120 | 12 | $1,664 | $3,744 | Community events + local influencer push |
| 7 | 180 | 18 | $2,496 | $6,240 | Referral program launched |
| 8 | 250 | 25 | $3,467 | $9,707 | Third city (Atlanta); TikTok content |
| 9 | 350 | 35 | $4,854 | $14,561 | First press coverage; organic growth |
| 10 | 500 | 50 | $6,935 | $21,496 | Business flywheel: placements attract users |
| 11 | 700 | 70 | $9,709 | $31,205 | Network effects visible in launch cities |
| 12 | 1,000 | 100 | $13,867 | $45,072 | **Year 1 exit ARR: ~$166K** |
**Key assumptions:**
- Launch city strategy: dense urban area with high young-adult population
- Zero paid acquisition in months 1-6 (organic, social, community only)
- Monthly consumer churn: 4-6% (typical for consumer subscription apps; Netflix ~2%, niche apps 5-8%)
- Monthly business churn: 3-5% (lower; business subscriptions are stickier)
- Average revenue per Pro user: $4.17/mo (annual pricing)
- All new cities seeded manually with initial listings and events before user launch
---
## 7. Competitive Advantages
### 7.1 Why HotNow Wins
#### 1. Real-Time, Not Static
Every major competitor is static or slow. Yelp shows you the top-rated restaurants from the last 5 years. Thrillist publishes a "Best New Restaurants" list twice a year. Eventbrite lists events, but doesn't rank or recommend them. HotNow is the only platform that answers "what's good RIGHT NOW" -- not "what was good last month" or "what's generally good in this city."
This is a fundamental architectural advantage. HotNow's ranking engine combines:
- **Freshness signals:** how recently was this posted/updated/checked-into
- **Velocity signals:** how fast are social mentions, check-ins, and reviews accelerating
- **Social proof:** real-time Instagram/TikTok mentions, not just accumulated Yelp stars
- **Contextual signals:** weather, time of day, day of week, proximity
No competitor combines all four in real time.
#### 2. Everything in One Place
Users currently need 5+ apps to cover what HotNow does in one:
- Yelp for restaurants
- Eventbrite for events
- Instagram/TikTok for pop-ups and trending spots
- Google Maps for navigation
- Bandsintown/Dice for live music
HotNow unifies these into a single map-first experience. The aggregation is the product.
#### 3. ~70% Already Built on Super Search v2
Super Search v2 -- the multi-provider search engine with 7 providers, circuit breakers, intelligent caching, and health monitoring -- is already running on IT Pro Partner infrastructure. This is not a greenfield search engine build. Approximately 70% of the aggregation and search layer exists today. Competitors would need 6-12 months and $100K+ to replicate just this component.
#### 4. AI-Powered Personalization from Day One
HotNow's Pro tier uses LLM-powered AI curation to deliver personalized "Best Right Now" picks based on:
- Your taste profile (cuisines, music genres, vibe preferences, dietary needs)
- Current weather (patio weather? indoor jazz?)
- Time of day (brunch spots at 11am, cocktail bars at 7pm, late-night at 11pm)
- Real-time crowd signals (is it packed? is it dead?)
- What's genuinely hot right now, not what was hot last season
This is a fundamentally different approach from collaborative filtering ("people who liked X also liked Y"), which requires massive user bases to work. HotNow's AI curation works from user #1.
#### 5. Capital Efficiency -- Near-Zero Marginal Delivery Cost
The Super Search infrastructure is fixed-cost. Each additional user, recommendation, or search costs fractions of a cent in API calls. At 90%+ gross margins at scale, HotNow is a capital-efficient consumer platform that doesn't require VC-scale burn to grow. This means:
- No pressure to raise venture capital or hit unicorn growth metrics
- Sustainable growth at modest user counts
- Optionality: bootstrapped lifestyle business or venture-scale play -- whichever the market supports
#### 6. Business Monetization Without the Yelp Trap
Yelp's business monetization is adversarial: pay for visibility or risk bad reviews being surfaced. HotNow's business model is additive: featured placement boosts visibility, but the organic ranking is driven by real-time signals, not ad spend. Businesses pay to be seen, not to suppress negative content. This avoids the trust and reputation problems that plague Yelp.
### 7.2 Competitive Positioning Map
```
HIGH PRICE / SLOW
Thrillist ● │
(Free, but │
editorial, │
slow, limited)│
Scoop Travel ● │
($10/mo, │
travel-only, │
editorial) │
────────────────────────┼────────────────────────
STATIC / │ REAL-TIME /
REVIEW-BASED │ SOCIAL-DRIVEN
Yelp ● │
(Free, massive │ ★ HotNow
review DB, │ (Free-$19.99/mo,
but not real-time) │ real-time, AI,
│ everything)
Google Maps ● │
(Free, universal, │
but no curation) │
LOW PRICE / REAL-TIME
```
HotNow occupies the real-time, low-price quadrant -- a position with no current occupant. Every existing player is either static/slow (Yelp, Google Maps) or expensive/narrow (Scoop Travel, editorial platforms).
---
## 8. Go-to-Market Strategy
### 8.1 Phase 1: Foundation (Months 1-2)
**Objective:** Complete build, seed content, recruit beta users.
**Activities:**
- Complete remaining ~425 hours of development (PWA, ranking algorithm, API, billing)
- Seed launch city with 500+ manually curated places and events
- Recruit 20-50 beta users in Austin for testing + feedback
- Build social media presence: Instagram, TikTok, X accounts
- Produce launch content: "HotNow is coming" teasers
- Set up Stripe, email, push notification infrastructure
- Submit PWA to Google Play and Apple App Store (PWA wrapper)
**KPIs:**
- Beta users: 20-50
- Seed listings: 500+
- Social followers: 500+ combined
### 8.2 Phase 2: Soft Launch -- City by City (Months 3-6)
**Objective:** Prove product-market fit in 2-3 launch cities. Validate willingness to pay.
**Launch cities:** Austin, TX (Month 3), Miami, FL (Month 5), Atlanta, GA (Month 6)
**Rationale:** These cities have high young-adult density, vibrant nightlife/food/event scenes, warm weather (year-round outdoor events), and strong social media culture.
**Channels:**
| Channel | CAC Estimate | Time to Mature | Priority |
|---------|-------------|----------------|----------|
| Local Instagram/TikTok influencers | $50-$200 per post | Immediate | ★★★★★ |
| College campus ambassadors | Free (swag) + commission | 1-2 months | ★★★★★ |
| Cross-promotion with local venues/bars/restaurants | $0 (mutual benefit) | Immediate | ★★★★★ |
| Reddit city subreddits (r/Austin, r/Miami, r/Atlanta) | $0 | Immediate | ★★★★ |
| Organic TikTok/Reels content ("What's hot tonight in Austin") | $0 | 2-4 weeks | ★★★★ |
| Event partnerships -- HotNow as "official discovery partner" | $0-$500 | 1-2 months | ★★★ |
| Product Hunt launch | $0 | One-time | ★★★ |
**KPIs:**
- Pro subscribers: 80-120
- Featured businesses: 8-12
- Monthly active users (MAU): 2,000-5,000
- App store rating: 4.5+ stars
### 8.3 Phase 3: Growth (Months 7-9)
**Objective:** Activate referral flywheel, expand to 5+ cities, begin business sales.
**Activities:**
- Launch referral program: "Give a month free, get a month free"
- Expand to 3 additional cities (Nashville, Denver, Chicago)
- Hire 1-2 part-time city launchers to seed new markets
- Begin direct business outreach: "Get featured on HotNow before your competitors"
- User-generated content campaigns: "Tag #HotNow for a chance to be featured"
- Weekly "What's Hot" newsletter for each city
**KPIs:**
- Pro subscribers: 250-350
- Featured businesses: 25-35
- MAU: 10,000-25,000
- Cities live: 5-6
### 8.4 Phase 4: Scale (Months 10-12)
**Objective:** Establish predictable growth engine, expand to 10+ cities.
**Activities:**
- Paid acquisition: Instagram/TikTok ads in new cities ($2,000-$5,000/mo budget)
- Launch HotNow for Web (desktop experience for trip planning)
- API partnerships: integrate with reservation platforms (OpenTable, Resy, Tock)
- Press outreach: tech blogs, local news, lifestyle publications
- Business sales: hire one part-time business development rep
**KPIs:**
- Pro subscribers: 700-1,000
- Featured businesses: 70-100
- MAU: 50,000-100,000
- Cities live: 10+
- Annual exit ARR: ~$166K
### 8.5 Customer Acquisition Strategy Summary
| Channel | CAC Estimate | Time to Mature | Scalability | Priority |
|---------|-------------|----------------|-------------|----------|
| Local influencer partnerships | $50-$200/post | Immediate | High per city | ★★★★★ |
| Venue/bar/restaurant cross-promotion | $0 | Immediate | High per city | ★★★★★ |
| College ambassadors | $0-$100 | 1-2 months | Medium (seasonal) | ★★★★★ |
| Organic TikTok/Reels | $0 | 2-4 weeks | Very High | ★★★★ |
| Referral program | $0 | 3+ months | Very High | ★★★★ |
| City subreddits / local forums | $0 | Immediate | Medium (one-time) | ★★★★ |
| Event partnerships | $0-$500 | 1-3 months | Medium | ★★★ |
| Product Hunt | $0 | One-time | Low (one-time) | ★★★ |
| Paid social (Instagram/TikTok ads) | $5-$15/install | 1-2 weeks | Very High | ★★ (Phase 4) |
| Press / PR | $0-$1,000 | 1-3 months | Medium | ★★ |
---
## 9. Risk Analysis
### 9.1 Market Risks
| Risk | Probability | Impact | Mitigation |
|------|-----------|--------|------------|
| **Consumer discovery apps have high churn / low willingness to pay** | Medium-High | High | Validate with beta before full investment. Free tier must be genuinely useful to drive habit formation. Freemium conversion rate in consumer apps averages 2-5% -- HotNow targets 3%. If consumer subscriptions underperform, shift to business-first monetization (featured placements as primary revenue). |
| **"Winner-take-all" network effects favor incumbents (Yelp, Google)** | Medium | Medium | HotNow competes on a different axis (real-time, not review database). Network effects matter less for real-time discovery than for accumulated reviews. HotNow's value is in freshness, not depth of review history. |
| **Recession reduces discretionary spending on entertainment** | Low-Medium | Medium | At $4.99/mo, Pro is a trivial expense. In downturns, free tier usage *increases* as people seek affordable local activities. Business featured placements may decline -- offset by consumer Pro upgrades from free users seeking better curation. |
### 9.2 Product Risks
| Risk | Probability | Impact | Mitigation |
|------|-----------|--------|------------|
| **"Cold start" problem: no content in new cities** | High | High | Manual seeding of 500+ places/events per city before launch. City launcher role: one person spends 2 weeks curating a city before it goes live. Event aggregator connectors (Eventbrite, Ticketmaster, Meetup, Facebook Events) provide automated baseline content. |
| **Real-time ranking algorithm quality** | Medium | High | Start simple: freshness + social velocity as primary signals. Layer on AI curation complexity incrementally. Beta test ranking quality with real users in launch city. Allow user feedback ("not relevant" / "great pick") to train ranking. |
| **Mapbox costs scale poorly with MAU growth** | Low-Medium | Medium | Mapbox free tier: 50K monthly loads. At 100K MAU, Mapbox costs ~$300-$500/mo -- manageable at our margins. Have OpenStreetMap + Leaflet as fallback if Mapbox costs become excessive. Negotiate volume pricing at 500K+ MAU. |
| **PWA adoption friction (no native app store presence)** | Medium | Medium | PWA wrapper for App Store / Google Play submission gives native app store listing. Users can install directly from browser. Promote PWA install aggressively in onboarding. If PWA proves inadequate, native app build (~150 additional hours) is scoped but deferred. |
### 9.3 Competitive Risks
| Risk | Probability | Impact | Mitigation |
|------|-----------|--------|------------|
| **Yelp launches real-time "trending" feature** | Medium | Medium-High | Yelp's DNA is review-driven, not real-time. Adding trending requires a fundamentally different data pipeline. Even if launched, Yelp's business model (ads for established businesses) conflicts with surfacing new/pop-up spots. HotNow has 12-18 month head start. |
| **Google builds better "Explore" with real-time signals** | Medium | High | Google has the data (Maps, search, location history) but historically underinvests in local discovery UX. Google's incentives favor search ads, not discovery feeds. If Google enters, HotNow competes on curation quality, community, and focus. |
| **TikTok builds structured local discovery** | Medium | Medium | TikTok has user attention and trend data but no location infrastructure. Building maps + structured places data is a multi-year effort. HotNow competes by being purpose-built for discovery, not an add-on to a video feed. |
| **VC-funded competitor clones HotNow concept** | Medium | Medium | Mitigation: move fast, lock in launch cities first, build brand loyalty. HotNow's capital efficiency means we don't need to match VC burn rates. Domain and brand in market first. |
### 9.4 Operational Risks
| Risk | Probability | Impact | Mitigation |
|------|-----------|--------|------------|
| **Germaine bandwidth -- only person who can build/support** | High | High | Single biggest risk. Mitigation: (1) aggressive documentation from day one, (2) city launcher contractors reduce operational burden, (3) self-serve business portal minimizes support, (4) consider part-time developer at $10K MRR. |
| **Content moderation at scale (spam, fake events, inappropriate content)** | Medium | Medium | Manual review for featured/business listings. User reporting for free tier. Automated spam detection for event submissions. Moderation cost scales slowly -- community self-polices if user base is engaged. |
| **deepseek-v4-pro API changes or price increases** | Low-Medium | Medium | LLM abstraction layer allows provider switching. OpenAI, Claude, and open-source models are fallbacks. AI curation quality is model-dependent but architecture is model-agnostic. |
### 9.5 Legal & Regulatory Risks
| Risk | Probability | Impact | Mitigation |
|------|-----------|--------|------------|
| **Scraping event data from third-party sites** | Low-Medium | Medium | Use official APIs where available (Eventbrite, Ticketmaster, Meetup). For sites without APIs, limit to publicly available factual information (event name, date, location, description). Do not scrape copyrighted content. Legal review of aggregation practices before launch. |
| **User location privacy concerns** | Medium | Medium | Location only used while app is active. No background location tracking. Clear privacy policy. GDPR/CCPA compliant. Users can delete location history. "Opt-in only" for social features. |
### 9.6 90-Day Launch KPIs (Months 3-5)
| KPI | Target | Red Flag Threshold |
|-----|--------|-------------------|
| MAU (Austin only, Month 3) | 1,000+ | <300 |
| Pro conversion rate | 3%+ | <1% |
| App store rating | 4.5+ | <4.0 |
| Weekly active user retention (Day 7) | 40%+ | <20% |
| Places/events listed in Austin | 500+ | <200 |
| User-reported accuracy ("Great pick" rate) | 70%+ | <50% |
| Business outreach response rate | 25%+ | <10% |
**If red flags trigger on 3+ KPIs:** Pivot to business-first monetization. De-prioritize consumer subscriptions and focus on building the supply side (businesses, events, venues) as a data/API play sold to platforms that need real-time local data (delivery apps, travel platforms, mapping services).
### 9.7 Pre-Mortem: What Kills HotNow Within 6 Months?
1. **Cold start death spiral:** Users open the app, see nothing in their city, never come back. **Prevention:** no city goes live without 500+ manually seeded listings. City launchers are non-negotiable.
2. **Pro conversion rate below 1%:** Free tier is good enough that nobody upgrades. **Prevention:** free tier must be genuinely useful BUT with clear upgrade triggers (limited AI picks, ads, no saved places). The "Best Right Now" feature must feel like magic.
3. **Germaine burns out:** The build is significant (~425 hours). Launching in multiple cities is hands-on work. **Prevention:** hire city launchers (contractors, $15-25/hr) immediately. Do not try to do everything solo.
4. **No content flywheel:** Users consume but don't contribute. **Prevention:** make contribution easy (tap "this is happening" to submit a spot). Incentivize with Pro credits. Build community from day one.
5. **Yelp/Google ships "trending" before HotNow has brand awareness:** If an incumbent ships a "good enough" real-time feature before HotNow has user density, HotNow loses the first-mover window. **Prevention:** launch fast, launch ugly if necessary. Speed to market matters more than feature completeness.
---
## 10. Financial Projections
### 10.1 12-Month P&L Projection (Realistic Case)
| Line Item | Month 1-3 | Month 4-6 | Month 7-9 | Month 10-12 | Year 1 Total |
|-----------|-----------|-----------|-----------|-------------|-------------|
| **Revenue** | | | | | |
| MRR (end of period) | $278 | $1,664 | $4,854 | $13,867 | -- |
| Cumulative Revenue | $278 | $3,744 | $14,561 | $45,072 | **$45,072** |
| **Cost of Revenue** | | | | | |
| Infrastructure + Mapbox + APIs | $300 | $600 | $1,200 | $2,100 | $4,200 |
| LLM API costs | $100 | $300 | $800 | $1,800 | $3,000 |
| Stripe fees (~3%) | $8 | $112 | $437 | $1,352 | $1,909 |
| **Total COGS** | **$408** | **$1,012** | **$2,437** | **$5,252** | **$9,109** |
| **Gross Profit** | **-$130** | **$2,732** | **$12,124** | **$39,820** | **$35,963** |
| *Gross Margin* | *-47%* | *73%* | *83%* | *88%* | *80%* |
| **Operating Expenses** | | | | | |
| Development (remaining build) | $20,000 | $10,000 | $5,000 | $2,500 | $37,500 |
| City launchers (contractors) | $1,500 | $3,000 | $6,000 | $9,000 | $19,500 |
| Content + social media | $1,000 | $2,000 | $2,000 | $3,000 | $8,000 |
| Influencer / community | $500 | $1,500 | $2,000 | $3,000 | $7,000 |
| Paid acquisition | $0 | $0 | $0 | $5,000 | $5,000 |
| Tools + software | $200 | $300 | $400 | $500 | $1,400 |
| Legal + compliance | $2,000 | $0 | $0 | $1,000 | $3,000 |
| Miscellaneous | $300 | $500 | $750 | $1,000 | $2,550 |
| **Total OpEx** | **$25,500** | **$17,300** | **$16,150** | **$25,000** | **$83,950** |
| **Net Income** | **-$25,630** | **-$14,568** | **-$4,026** | **$14,820** | **-$47,987** |
| *Net Margin* | *Negative* | *Negative* | *Negative* | *33%* | *Negative* |
**Key observations:**
- Year 1 is investment-heavy: ~$48K net loss, funded by Germaine's sweat equity + minimal cash outlay
- The business becomes cash-flow positive by Month 10-11 on current ramp
- Gross margins exceed 80% by Month 4 -- the underlying unit economics are strong immediately
- Exit run-rate in Month 12: ~$166K ARR with 88% gross margins
- Total Year 1 cash outlay: approximately **$48K** (primarily development time, city launchers, legal)
### 10.2 3-Year Projection
| | Year 1 | Year 2 | Year 3 |
|---|--------|--------|--------|
| **Pro Subscribers (end of year)** | 800 | 5,000 | 10,000 |
| **Concierge Subscribers** | 80 | 500 | 1,000 |
| **Featured Businesses** | 80 | 300 | 500 |
| **Event Boosts (per month)** | 30 | 100 | 200 |
| **ARR (end of year)** | $166,000 | $620,000 | $1,395,000 |
| **Total Revenue** | $45,072 | $450,000 | $1,100,000 |
| **Gross Margin** | 80% (ramping) | 90% | 92% |
| **OpEx** | $83,950 | $250,000 | $500,000 |
| **Net Income** | -$47,987 | $155,000 | $512,000 |
| **Net Margin** | Negative | 34% | 47% |
**Year 2 assumptions:**
- Expand to 15-20 cities
- 2-3 part-time city launchers ($40K-$60K combined)
- First full-time hire: community/operations manager ($50K-$70K)
- Paid acquisition: $3,000-$5,000/mo (validated CAC from Year 1)
- Referral program generating 20%+ of new users
- Pro conversion rate: 3.5% (improving from Year 1's 3%)
**Year 3 assumptions:**
- 25+ cities live
- Small team: 3-5 full-time (engineering, community, business development, support)
- Brand recognition in launch cities drives organic growth
- Business revenue becomes 45%+ of total (featured placements + event boosts)
- First API/data licensing deals (sell real-time local trend data to platforms)
- Potential acquisition interest from Yelp, Google, or travel platforms
### 10.3 Unit Economics (Steady State)
| Metric | Value | Industry Benchmark | Assessment |
|--------|-------|-------------------|------------|
| Average Pro subscriber LTV (annual) | ~$50 | $20-$100 (consumer subscription apps) | Strong |
| Average Concierge subscriber LTV (annual) | ~$200 | $100-$300 (premium consumer) | Strong |
| Average Featured Business LTV (annual) | ~$1,164 | $500-$2,000 (local SMB SaaS) | Healthy |
| Consumer CAC (blended) | $2-$8 | $5-$20 (consumer apps) | Excellent |
| Business CAC | $50-$150 | $100-$500 (local SMB sales) | Excellent |
| LTV:CAC ratio (consumer) | 6:1 to 25:1 | >3:1 (good) | Exceptional |
| LTV:CAC ratio (business) | 8:1 to 23:1 | >3:1 (good) | Exceptional |
| Gross margin | 88-92% | 70-80% (good SaaS) | Excellent |
| Monthly consumer churn | 4-5% | 3-8% (consumer apps) | Target zone |
| Monthly business churn | 3-4% | 3-7% (SMB SaaS) | Good |
The unit economics are favorable because:
1. **Near-zero marginal delivery cost** -- Super Search and LLM API calls cost fractions of a cent per user
2. **Organic/viral acquisition** -- social media, word of mouth, and venue cross-promotion dominate early growth
3. **Dual revenue streams** -- consumer subscriptions + business placements diversify and compound
4. **Network effects at city density** -- each new user increases value for other users in that city (more check-ins, more social signals, better ranking)
### 10.4 Capital Requirements
HotNow is designed to be bootstrapped:
| Item | Cost | Notes |
|------|------|-------|
| Remaining development (~425 hours) | $0 | Built by Germaine / internal team |
| Initial infrastructure setup | $500 | Domain ($33/yr), SSL, minor VPS adjustments |
| Legal (terms, privacy policy, TOS) | $2,000-$4,000 | One-time |
| Brand identity + design | $1,500-$3,000 | Logo, color system, PWA design |
| City launchers (first 6 months) | $6,000-$12,000 | Contractors at $15-25/hr for city seeding |
| Content + social media | $3,000-$6,000 | First 6 months |
| Influencer seeding (first 3 cities) | $2,000-$5,000 | Micro-influencers with local audiences |
| **Total initial outlay** | **$15,000-$30,500** | |
This is not a venture-scale capital requirement. The primary investment is Germaine's time -- approximately 425 hours of development, plus ongoing city expansion and community management. At 800 Pro subscribers and 80 businesses (exit Month 12), the business generates ~$166K ARR against a ~$30K initial outlay.
### 10.5 Break-Even Analysis
Monthly break-even occurs when monthly gross profit covers monthly OpEx:
| Scenario | Break-Even Point | Timeline (from launch) |
|----------|-----------------|----------------------|
| Consumer-only (Pro + Concierge) | ~350 subscribers | Month 7-8 |
| Consumer + Business | ~200 Pro + 15 businesses | Month 5-6 |
| With city launcher contractors | ~500 Pro + 30 businesses | Month 8-9 |
Cumulative break-even (recovering full ~$48K Year 1 investment) occurs in Month 3-5 of Year 2, assuming continued growth trajectory.
---
## 11. The Ask
### 11.1 What We Need to Launch
| Resource | Details | Timeline |
|----------|---------|----------|
| **Development capacity** | ~425 hours to build PWA, ranking algorithm, API, billing, business portal | Months 1-2 |
| **City launcher contractors** | 1-2 part-time contractors to seed initial cities with listings (500+/city) | Month 3, ongoing |
| **Legal review** | Terms of service, privacy policy, data aggregation compliance review | Month 1 |
| **Brand identity** | Logo, color system, PWA design, app store assets | Month 1 |
| **Domain setup** | DNS + Caddy configuration for hotnow.io, app.hotnow.io, api.hotnow.io | Month 1 |
| **Beta testers** | 20-50 users in Austin willing to provide feedback | Month 2 |
| **Go-to-market execution** | Germaine's time for city launches, influencer outreach, community management | Ongoing (10-15 hrs/week) |
| **Initial operating capital** | ~$15,000-$30,500 for one-time setup + first 6 months of contractor costs | Month 1 |
### 11.2 Immediate Decisions Required
1. **Approval to brand HotNow as a standalone product** under IT Pro Partner ("HotNow is a product of IT Pro Partner") -- maintaining ITPP credibility while allowing HotNow to develop its own consumer-facing brand identity
2. **Confirmation of pricing model** -- are $4.99/$19.99 the right consumer anchor points? Should annual discount be 17% (1 month free) or deeper (25%)?
3. **Business pricing validation** -- is $97/mo for featured placement and $47/event for boosts the right level? Should we test higher (Yelp Ads are $150-$500+/mo)?
4. **Launch city selection** -- confirm Austin as first city, then Miami and Atlanta. Are these the right priority?
5. **Resource allocation** -- confirmation that Germaine can dedicate ~425 hours to the build, plus 10-15 hours/week ongoing GTM effort
6. **Legal entity structure** -- does HotNow operate as a division of IT Pro Partner, or as a separate LLC with ITPP as parent?
7. **Domain confirmation** -- hotnow.io is already purchased ($33/yr at Cloudflare). DNS setup and Caddy configuration needed immediately.
### 11.3 What Success Looks Like (Month 12)
- **1,000 Pro subscribers** across 10+ cities, paying $4.99/mo (or $49.99/yr)
- **100 featured businesses** generating $97/mo each in placement revenue
- **~$166,000 ARR** with 88% gross margins
- **50,000-100,000 MAU** with 40%+ weekly active retention
- **10+ cities live** with 500+ listings each
- **4.5+ star app store rating** with 200+ reviews
- **Referral program** generating 15-20% of new users
- **TikTok/Instagram presence** with 50K+ combined followers
- **Team:** Germaine + 1-2 part-time city launchers + 1 part-time community manager
- **Option value:** At 5-8x ARR multiple (consumer marketplace), the business would be valued at ~$830K-$1.3M -- built for a ~$30K initial investment
### 11.4 The Bigger Picture
HotNow is more than a local discovery app -- it's a strategic diversification play for IT Pro Partner into the consumer space. Every ITPP product to date has been B2B: managed services, competitive intelligence, debt recovery, digital signage. HotNow tests whether the same infrastructure (Super Search v2, netcup hosting, deepseek-v4-pro LLM) can power a consumer-facing product with fundamentally different unit economics and growth dynamics.
The consumer space is harder to monetize per user but scales much faster when it works. A successful consumer product also provides leverage: optionality for acquisition (Yelp, Google, Eventbrite, travel platforms), data licensing revenue (real-time local trend data), and brand visibility that feeds back into IT Pro Partner's core B2B credibility.
In a market where the question "what should we do tonight?" is asked millions of times daily and answered poorly by every existing platform, HotNow's combination of real-time data, AI curation, and capital-efficient infrastructure is not merely competitive -- it's a category creator. The question is whether we build it fast enough and seed cities effectively enough to establish the network effects before someone else does.
---
## Appendix A: Competitor Pricing Deep Dive
| Platform | Consumer Price | Business Price | Real-Time? | Map-First? | AI Curation? |
|----------|---------------|----------------|------------|------------|-------------|
| **Yelp** | Free | $150-$500+/mo (ads) | No | Yes (secondary) | No |
| **Google Maps** | Free | Free (Google Ads separate) | No | Yes | No |
| **Eventbrite** | Free (ticketing fees) | 3.5% + $1.79/ticket | No | No | No |
| **Scoop Travel** | $10/mo | N/A | No | Yes | No (editorial) |
| **Thrillist** | Free | Sponsored content (custom) | No | No | No |
| **Infatuation** | Free | Sponsored content (custom) | No | No | No |
| **Dice** | Free (ticketing fees) | Revenue share | Partial (music only) | No | No |
| **Bandsintown** | Free | Promoted events | Partial (music only) | No | No |
| **TikTok** | Free | Ads | Partial (unstructured) | No | Algorithmic |
| **HotNow** | **Free / $4.99 / $19.99** | **$97/mo + $47/event** | **Yes** | **Yes** | **Yes (LLM)** |
## Appendix B: API and Data Source Costs
| Service | Plan | Monthly Cost | Annual Cost | Limits |
|---------|------|-------------|-------------|--------|
| Mapbox | Pay-as-you-go | $50-$200 (est.) | $600-$2,400 | 50K free loads; ~$0.50/1K beyond |
| Eventbrite API | Free tier | $0 | $0 | Rate-limited; sufficient for aggregation |
| Ticketmaster API | Free tier | $0 | $0 | Rate-limited; sufficient for aggregation |
| Meetup API | Free tier | $0 | $0 | Rate-limited |
| Facebook Events API | Free tier | $0 | $0 | Limited availability post-Cambridge Analytica |
| deepseek-v4-pro | Pay-per-token | $100-$300 (est.) | $1,200-$3,600 | Variable; scales with user count |
| Super Search v2 | Internal | $0 | $0 | Already running on ITPP infrastructure |
| Netcup VPS | Existing infra | $0 (absorbed) | $0 | Existing ITPP servers |
| OneSignal (push) | Free tier | $0-$50 | $0-$600 | 10K free subscribers |
| Resend (email) | Free tier | $20 | $240 | 3K emails/mo free; scales |
## Appendix C: Glossary
| Term | Definition |
|------|-----------|
| **ARR** | Annual Recurring Revenue -- the annualized value of subscription contracts |
| **MRR** | Monthly Recurring Revenue |
| **MAU** | Monthly Active Users |
| **CAC** | Customer Acquisition Cost -- total sales & marketing spend / new customers acquired |
| **LTV** | Lifetime Value -- average revenue per customer over their lifetime |
| **PWA** | Progressive Web App -- a web application that behaves like a native mobile app |
| **MCP** | Model Context Protocol -- the protocol used by Super Search v2 for AI integration |
| **COGS** | Cost of Goods Sold -- direct costs attributable to delivering the service |
---
**Document prepared by:** HotNow Product Division, IT Pro Partner
**Contact:** Germaine Brown
**Classification:** Confidential -- For Advisory Team Review Only
**Version:** 1.0 -- August 1, 2026
+15
View File
@@ -726,3 +726,18 @@ In a market where established players charge $50,000/year for less capability, I
**Contact:** Germaine Brown **Contact:** Germaine Brown
**Classification:** Confidential — For Advisory Team Review Only **Classification:** Confidential — For Advisory Team Review Only
**Version:** 1.0 — July 25, 2026 **Version:** 1.0 — July 25, 2026
---
## Project Queue
*Queued Aug 4, 2026 — for external advisory team review preparation.*
| # | Task | Status |
|---|---|---|
| 1 | Tie `intelsight.io` login page to centralized auth (`auth.itpropartner.com`) | Queued |
| 2 | Build out docs page at `intelsight.io/docs/` | Queued |
| 3 | Build tier demo pages at `my.intelsight.io` (Starter, Pro, Enterprise) | Queued |
| 4 | Deploy `$50 design team` to polish `intelsight.io` and `my.intelsight.io` | Queued |
**Dependencies:** Items 3 & 4 are for external advisory team review — keep in production if polished enough post-review, otherwise staging-only. Item 1 ties into existing centralized auth infrastructure (see `centralized-auth` skill).
File diff suppressed because it is too large Load Diff
+372
View File
@@ -0,0 +1,372 @@
# CartMyList PTA Marketing Blitz — Strategic Plan
**Date:** August 3, 2026
**Product:** CartMyList (cartmylist.com)
**Target:** Chatham County, GA — 55 SCCPSS schools, ~36,000+ students
**Objective:** Get CartMyList in front of PTA leaders with maximum reach, minimum effort
---
## 1. PTA Contact Research — What We Found
### 1.1 SCCPSS School Count: ~55 Schools (8 Board Districts)
| District | Board Member | Email | Schools |
|----------|-------------|-------|---------|
| 1 | Denise Grabowski | denise.grabowski@sccpss.com | 8 schools (Ellis K-8, Heard, Hesse K-8, Isle of Hope K-8, J.G. Smith, Savannah Arts, STEM Bartlett, White Bluff) |
| 2 | Vacant | — | 8 schools (A.B. Williams, Formey ELC, Hubert, J.G. Low, Jenkins HS, Myers, Savannah Classical, Susie King Taylor) |
| 3 | Cornelia Hall | cornelia.hall@sccpss.com | 6 schools (Gadsden, Garrison K-8, Johnson HS, Oglethorpe, Savannah High, Savannah Early College) |
| 4 | Shawn Kachmar | shawn.kachmar@sccpss.com | 5 schools (Coastal, Islands HS, Marshpoint, May Howard, Tybee Maritime) |
| 5 | Paul Smith | paul.smith1@sccpss.com | 7 schools (Beach HS, Coastal Empire Montessori, DeRenne, Haven, Hodge, Largo-Tibet, Pulaski) |
| 6 | David Bringman | david.bringman@sccpss.com | 5 schools (Georgetown K-8, Southwest ES, Southwest MS, Windsor Forest ES, Windsor Forest HS) |
| 7 | Stephanie Campbell | stephanie.campbell@sccpss.com | 6 schools (Bloomingdale, Pooler, New Hampstead K-8, New Hampstead HS, West Chatham ES, West Chatham MS) |
| 8 | Tonia Howard-Hall | tonia.howard-hall@sccpss.com | 9 schools (Brock, Butler, Garden City, Godley Station K-8, Gould, Groves HS, Mercer, Rice Creek K-8, Woodville-Tompkins) |
### 1.2 Confirmed PTA/PTO/PTSA Facebook Pages
| School | Type | Facebook |
|--------|------|----------|
| **Savannah Chatham Council of PTAs** | Council | facebook.com/SavannahChathamPTA |
| Jacob G. Smith Elementary | PTA | facebook.com/jgsmithpta |
| May Howard Elementary | PTA | facebook.com/mayhowardpta |
| Marshpoint Elementary | PTA | facebook.com/MarshpointPTA |
| White Bluff Elementary | PTA | facebook.com/WhiteBluffPTA |
| Windsor Forest Elementary | PTA | facebook.com/WFESWildcatsPTA |
| Herschel V. Jenkins High | PTSA | facebook.com/p/Herschel-V-Jenkins-High-School-PTSA-100085848390072 |
| Savannah Early College HS | PTSA | facebook.com/SECHSPTSA |
| Myers Middle School | PTA | facebook.com/p/Myers-Middle-School-PTA-Gators-100075861945142 |
| New Hampstead K-8 | PTO | nhk8.sccpss.com/community-engagement/nhk8-parent-teacher-organization |
### 1.3 Key Distribution Channels
| Channel | Reach | Cost | Barrier |
|---------|-------|------|---------|
| **Peachjar e-flyer** | ALL SCCPSS parents via email + school webpages | ~$25/school (or free for free events) | District approval required; free tier limited to 1 flyer/30 days, up to 25 schools |
| **Georgia PTA District 6** | All PTA units in region | $0 | Need intro to district leadership |
| **SCCPSS Communications Dept** | District-wide announcements | $0 | Must pass Kurt Hetager's approval (communications@sccpss.com) |
| **Parents of SCCPSS Facebook Group** | 4,000+ local parents | $0 | Group admin approval for promotional posts |
| **Individual PTA Facebook pages** | School-specific parents | $0 (DM) | Labor-intensive, 1:1 outreach |
| **SCCPSS board members** | Each represents 5-9 schools | $0 | Politically sensitive — don't cold-email without warm intro |
### 1.4 Contact Information Gaps
- **Council president:** Unknown (Sandra Cason was president 2011-2013, likely rotated out). Georgia PTA District 6 Facebook page is the best route to get current leadership.
- **Individual PTA emails:** None found publicly. Facebook DMs or school website "Contact PTA" forms are the only path.
- **Georgia PTA local unit directory:** Not publicly searchable — must go through state/district leadership.
---
## 2. Marketing Blitz Strategy — "Least Effort, Maximum Reach"
### The Core Insight
CartMyList's **School Plan is FREE** and pays the PTA **$1 per cart** — this is the entire pitch. PTAs spend all year begging for volunteers and money. CartMyList is a zero-effort fundraiser: no bake sales, no wrapping paper, no door-to-door. One email to parents, one Facebook post, and the PTA earns passive income during back-to-school season.
### 2.1 Strategy Pyramid (Highest ROI → Lowest)
```
┌─────────────┐
│ PEACHJAR │ ← 35,000+ parents in one shot
│ (District) │
├─────────────┤
│ COUNCIL │ ← 1 meeting → all 50+ unit presidents
│ MEETING │
├─────────────┤
│ FACEBOOK │ ← 4,000+ engaged parents
│ GROUPS │
├─────────────┤
│ ROGER MOSS │ ← Board president endorsement
│ (SCCPSS) │
├─────────────┤
│ 1:1 PTA │ ← Direct DMs to known units
│ OUTREACH │
└─────────────┘
```
### 2.2 Phase 0: Foundation (This Week)
**Actions:**
1. **Domain registration:** Register cartmylist.com immediately ($12/yr at Cloudflare). Set up Caddy routing and a simple landing page.
2. **Landing page:** Single page at cartmylist.com — hero section ("Turn Any School Supply List Into a One-Click Amazon Cart"), upload demo (animated), "For PTAs" section highlighting the School Plan (free, $1/cart donation, branded portal), and a "Get Your School Started" form.
3. **One-pager PDF:** A printable/sharable flyer for PTA presidents — problem, solution, how it works, the PTA deal (free + earn $1/cart), signup link.
4. **Demo video:** 60-second screen recording of PDF upload → cart result. Host on landing page. This is the proof that silences skepticism.
**Cost:** $12 domain + time.
### 2.3 Phase 1: Peachjar — The Mass Distribution Play
**What:** Upload CartMyList as a district-wide Peachjar e-flyer.
**Why this is the #1 channel:**
- Hits ALL SCCPSS parents via email (35,000+ households)
- Embedded as image in email — no link to click, it's right there
- Parents trust Peachjar (it's "from the school district")
- $25/school × 55 schools = $1,375 for full district coverage, OR use the free tier (1 flyer/30 days, 25 schools max)
**Execution:**
1. Register at Peachjar.com as "Community Organization"
2. Create a professional flyer: "Turn Your Child's Supply List Into a One-Click Amazon Cart — Free Service for SCCPSS Families"
3. Submit to district for approval (Kurt Hetager's office)
4. Select target schools (all elementary + K-8 schools first — those are supply-list-heavy)
5. Time it for late July 2027 (peak BTS shopping window)
**Estimated reach:** 25-55 schools × hundreds of parents each = 10,000-35,000 parents.
**Cost:** $0 (free tier, first 25 schools) to $1,375 (full district, paid tier).
### 2.4 Phase 2: Council Meeting — One Room, 50+ PTAs
**What:** Get on the Savannah Chatham Council of PTAs meeting agenda.
**Why this is the #2 channel:**
- Council meetings gather PTA presidents from 50+ local units
- One 10-minute presentation → every PTA president hears the pitch
- Warm endorsement from council leadership cascades to every school
- Presidents make the decision — if they say yes, it's done
**Execution:**
1. Find current council president via Georgia PTA District 6 Facebook page
2. Send a concise email: "Free fundraiser for all 50+ SCCPSS PTAs — 10 minutes on your next council meeting agenda"
3. Prepare 5-slide deck: problem (supply list hell), solution (CartMyList), PTA deal (free + $1/cart), demo, signup
4. Attend meeting, present, answer questions, collect emails
**Estimated reach:** 50+ PTA presidents × ~300 families each = 15,000 families.
**Cost:** $0 (gas money for the meeting).
### 2.5 Phase 3: Facebook Parent Groups — Direct to Parents
**What:** Post in SCCPSS parent Facebook groups.
**Known groups:**
- Parents of SCCPSS (facebook.com/groups/623536371870003)
- Individual school parent groups (every school has one)
- Savannah Moms groups
- Back-to-school Savannah groups
**Execution:**
1. Join "Parents of SCCPSS" group
2. Post: "Parent here — I built a free tool that turns school supply lists into Amazon carts. Upload the PDF, get a one-click cart. No more Walmart trips. Thought other SCCPSS parents might want it. [link]"
3. This is Germaine posting as a parent, not a business — way more trusted
4. Promote PTA angle: "If your school's PTA signs up, the school earns $1/cart — free fundraiser"
**Estimated reach:** 500-2,000 engaged parents per post cycle.
**Cost:** $0.
### 2.6 Phase 4: Board President Endorsement
**What:** Get Roger Moss (SCCPSS Board President, roger.moss@sccpss.com) to endorse or at least not block it.
**Why:** If the board president mentions CartMyList positively in a board meeting or newsletter, it's instant credibility. And Peachjar approval flows smoother with board awareness.
**Execution:**
1. Germaine (as a SCCPSS parent of kids at STEM Bartlett) emails Roger Moss: "I built a free tool for SCCPSS parents that turns supply lists into Amazon carts. It's free for families and free for schools — PTAs actually earn money. Would love 5 minutes to show you."
2. Parent-to-board-president framing, not vendor-to-district
**Cost:** $0.
---
## 3. Email Messaging — PTA Outreach Sequences
### 3.1 Cold Email to PTA Presidents (Template)
**Subject:** Free fundraiser for [School Name] PTA — zero effort, $1 per family
---
Hi [Name],
I'm a SCCPSS parent (kids at STEM Bartlett). I built something that I think could help your PTA raise money with zero volunteer hours.
**The problem:** Every summer, parents at [School Name] spend 2+ hours fighting Walmart crowds to buy school supplies from the teacher's list. It's miserable.
**What I built:** CartMyList — upload the supply list PDF, get a one-click Amazon cart in 20 seconds. All 45 items, correctly matched, ready to buy.
**The PTA deal (free):**
- CartMyList is **completely free for schools and PTAs**
- We donate **$1 per cart** back to your PTA — passive fundraiser
- You get a **branded portal** ([schoolname].cartmylist.com) with all grade-level supply lists pre-loaded
- You send **one email** to parents, post once on Facebook — that's it. No volunteers needed.
If 100 families use it during back-to-school season, that's **$100 for your PTA** with zero bake sales, zero wrapping paper, zero effort.
I'm rolling this out for the 2027 school year. Would you be open to a 10-minute call to see if this makes sense for [School Name]?
Best,
Germaine Brown
SCCPSS Parent, STEM Bartlett
cartmylist.com
---
### 3.2 Council Meeting Pitch Request (Template)
**Subject:** 10 minutes at next council meeting — free fundraiser for all 50+ SCCPSS PTAs
---
Hi [Council President Name],
My name is Germaine Brown — I'm a SCCPSS parent and the founder of CartMyList, a tool that turns school supply lists into one-click Amazon carts.
I'd love 10 minutes at your next Savannah Chatham Council of PTAs meeting to share something that can put money in every PTA's pocket with zero volunteer hours.
**The short version:**
- CartMyList is **free for PTAs** — no cost, no catch
- PTAs earn **$1 per cart** parents create through their school portal
- One email to parents, one Facebook post — done. Passive income.
- A 500-student elementary school could earn $200-500 during back-to-school season without a single bake sale
I've got a quick demo and a one-pager. Happy to come to any meeting, any time.
Is there space on the agenda?
Best,
Germaine Brown
SCCPSS Parent, STEM Bartlett
(912) [phone]
cartmylist.com
---
### 3.3 Peachjar Flyer Text (Template)
**Headline:** Turn Your Child's Supply List Into a One-Click Amazon Cart — Free for SCCPSS Families
**Subhead:** Upload the PDF. Get a cart. Done in 20 seconds.
**Body:**
Stop fighting Walmart crowds. CartMyList reads your child's school supply list and builds a complete Amazon cart — all 45 items, correctly matched, ready to buy.
**How it works:**
1. Go to cartmylist.com
2. Upload your child's supply list PDF
3. Get an Amazon cart with everything pre-loaded
4. One click buys it all — delivered to your door
**Free for SCCPSS families.** No catch. No subscription.
**PTA Fundraiser:** When your school's PTA signs up (free), they earn $1 per cart — passive income during back-to-school season.
**Call to action:** cartmylist.com
---
## 4. Talking Points & Elevator Pitch
### 4.1 30-Second Elevator Pitch
"You know the back-to-school supply list nightmare — 45 items, specific brands, 2 hours at Walmart with screaming kids. I built CartMyList: upload the PDF, we build a one-click Amazon cart in 20 seconds. It's free for parents. And if the PTA signs up — also free — they earn a dollar per cart. Zero effort fundraiser."
### 4.2 Parent-Facing Talking Points
- "Your kid's teacher already picked the exact items. Why hunt for them?"
- "The list has 45 items. We match 45 items. One click."
- "No subscription, no upsell, no catch. Upload the PDF, get the cart."
- "Amazon delivers. You keep your Saturday."
- "It's free. The PTA actually earns money when you use it."
### 4.3 PTA-Facing Talking Points
- **"Free passive fundraiser."** No volunteers, no inventory, no shipping.
- **"$1 per cart, straight to your PTA."** 100 families = $100. 500 = $500. During the 6-week BTS window.
- **"Branded portal for your school."** [yourschool].cartmylist.com, all grade-level lists pre-loaded.
- **"One email. One Facebook post."** That's the entire time commitment.
- **"We handle everything."** PDF parsing, Amazon matching, cart building, email delivery. You don't touch it.
- **"No risk."** It's free. If nobody uses it, you lose nothing. If they do, you earn.
### 4.4 Board/District Talking Points
- "This is a parent-built tool for SCCPSS parents."
- "It reduces the back-to-school burden on families — especially working parents and single-parent households."
- "It's free for families and free for schools. No cost to the district."
- "PTAs earn passive income — this fills the fundraising gap without competing with existing programs."
---
## 5. Objection Handling
| Objection | Response |
|-----------|----------|
| "We already have a school supply kit program." | "Those kits are $60-90 and don't match the teacher's exact list. CartMyList is free for parents and matches the specific brands the teacher asked for — Ticonderoga pencils, not generic." |
| "Is this really free?" | "Yes. Parents pay nothing. PTAs pay nothing. We earn a small Amazon commission on the cart — that's our business model." |
| "What if items are out of stock?" | "Our Family Plan finds the closest alternative. Even the free tier handles 95%+ of items." |
| "We don't have time to manage this." | "You don't manage it. We do. You send one email and one Facebook post. We handle everything else." |
| "Is this approved by the district?" | "It's a free community resource, same as any other parent tool. We're working through Peachjar for official distribution." |
| "What if Amazon changes how carts work?" | "The cart URL format has been stable for years. If it changes, we adapt — this is our only product, so we'd fix it fast." |
---
## 6. Timeline — 2027 Back-to-School Blitz
| Date | Action | Owner |
|------|--------|-------|
| **Aug 2026** | Soft launch — free tier live at cartmylist.com, collect parent emails | Germaine |
| **Sep-Oct 2026** | Build Stripe payment, user accounts, cart preview page | Germaine |
| **Jan 2027** | Identify council president, request council meeting slot | Germaine |
| **Feb 2027** | Present at Savannah Chatham Council of PTAs meeting | Germaine |
| **Mar 2027** | Follow up with interested PTAs, onboard 5-10 pilot schools | Germaine |
| **Apr 2027** | Create Peachjar flyer, submit for district approval | Germaine |
| **May 2027** | Facebook group posts, parent awareness campaign | Germaine |
| **Jun 2027** | Onboard remaining PTAs, get supply lists from teachers | PTAs |
| **Jul 2027** | Peachjar flyer goes live (peak BTS shopping), Facebook ad push | Germaine |
| **Aug 2027** | Full BTS season — track carts, payout PTAs, collect testimonials | Germaine |
---
## 7. Metrics & Goals
| Metric | Conservative | Target | Aggressive |
|--------|-------------|--------|------------|
| PTAs signed up | 5 | 15 | 30 |
| Schools with pre-loaded lists | 3 | 10 | 25 |
| Carts generated (Jul-Aug 2027) | 200 | 1,000 | 3,000 |
| PTA donations paid ($1/cart) | $200 | $1,000 | $3,000 |
| Parent email list (for 2028) | 100 | 500 | 2,000 |
| Revenue (service + commission) | $1,560 | $7,800 | $23,400 |
---
## 8. What Needs to Happen First (Priority Order)
1. **Register cartmylist.com** — $12, 10 minutes. Domain is the foundation.
2. **Build simple landing page** — cartmylist.com with demo, PTA section, and email signup. 4-6 hours.
3. **Identify council president** — DM Georgia District 6 PTA on Facebook, or ask J.G. Smith PTA (Germaine's kids' school) who runs the council.
4. **Build the School Plan portal tech** — multi-school branded portals, PTA signup, tracking per-school cart counts. ~40 hours (biggest dev lift).
5. **Create Peachjar flyer** — design, submit, get approved. 2-3 hours + $0-25/school.
---
## 9. Appendix: Every SCCPSS School by District
### District 1 (Denise Grabowski)
Ellis K-8, Heard Elementary, Hesse K-8, Isle of Hope K-8, J.G. Smith Elementary, Savannah Arts Academy HS, STEM Academy at Bartlett Middle School, White Bluff Elementary
### District 2 (Vacant)
A.B. Williams Elementary, ELC-Henderson E. Formey, Hubert Middle School, Juliette Gordon Low ES, Jenkins High School, Myers Middle School, Savannah Classical Academy, Susie King Taylor Community School
### District 3 (Cornelia Hall)
Gadsden Elementary, Garrison K-8, Johnson High School, Oglethorpe Charter School, Liberal Studies at Savannah High, Savannah Early College High School
### District 4 (Shawn Kachmar)
Coastal Middle School, Islands High School, Marshpoint Elementary, May Howard Elementary, Tybee Island Maritime Academy
### District 5 (Paul Smith)
Beach High School, Coastal Empire Montessori Charter, DeRenne Middle School, Haven Elementary, Hodge Elementary, Largo-Tibet Elementary, Pulaski Elementary
### District 6 (David Bringman)
Georgetown K-8, Southwest Elementary, Southwest Middle School, Windsor Forest Elementary, Windsor Forest High School
### District 7 (Stephanie Campbell)
Bloomingdale Elementary, Pooler Elementary, New Hampstead K-8, New Hampstead High School, West Chatham Elementary, West Chatham Middle School
### District 8 (Tonia Howard-Hall)
Brock Elementary, Butler Elementary, Garden City Elementary, Godley Station K-8, Gould Elementary, Groves High School, Mercer Middle School, Rice Creek K-8, Woodville-Tompkins High School
---
**Document prepared by:** Sho'Nuff Brown
**Next step:** Register cartmylist.com, build landing page, identify council president
+123
View File
@@ -0,0 +1,123 @@
# Chatham County PTA Landscape — Savannah, GA
# Compiled August 3, 2026 for CartMyList GTM
## OVERVIEW
- **70+ PTA organizations** in the Savannah metro area (CauseIQ directory)
- **24 PTAs** actively using JoinTotem for membership management
- **49 SCCPSS schools** with school supply lists on sccpss.com
- **Savannah-Chatham Council of PTAs** is the umbrella org (Georgia PTA District 6)
- School year started **August 3, 2026**
## COUNCIL LEADERSHIP
- **President (current):** Sandra Cason (per LinkedIn; also president in 2011-2012)
- LinkedIn: linkedin.com/in/sandra-cason-7740913b
- Also runs Farm to School program
- **President (2021 PDF):** Tina Kelly — sccoftas@gmail.com
- Georgia PTA account: SavannahChatham.D6@georgiapta.org
- **Council Facebook:** facebook.com/SavannahChathamPTA (1,206 likes)
- **Georgia PTA:** georgiapta.org, office@georgiapta.org, 404-659-0214
## ALL KNOWN PTAs ON JOINTOTEM (24 Total)
Each has a JoinTotem page at jointotem.com/ga/savannah/{slug} with "Join Now" — the membership form goes to PTA officers.
### High Schools
| School | Type | Notes |
|--------|------|-------|
| Beach HS PTA | PTA | Generic template |
| Islands High School PTSA | PTSA | Generic template |
| Windsor Forest HS PTA | PTA | Generic template |
| Savannah Arts Academy PTSA | PTSA | Generic template |
| Savannah Early College High PTSA | PTSA | Generic template |
### K-8 Schools
| School | Type | Notes |
|--------|------|-------|
| E F Garrison K-8 PTA | PTA | Your kids' school! Arts-focused. Generic template |
| Georgetown K-8 PTA | PTA | Has custom description |
| Hesse K-8 PTA | PTA | Generic template |
| CEMCS PTA (Coastal Empire Montessori) | PTA | Generic template |
### Middle Schools
| School | Type | Notes |
|--------|------|-------|
| STEM Academy PTSA | PTSA | Your kids' school! "STEM based public Middle school, Choice program" |
| Coastal Middle School PTSA, Inc. | PTSA | Generic template |
| Southwest Middle PTSA | PTSA | Generic template |
### Elementary Schools
| School | Type | Notes |
|--------|------|-------|
| **Jacob G Smith ES PTA** | PTA | Has **own website**: jacobgsmithpta.org (Squarespace). Your kids' former school |
| **May Howard ES PTA** | PTA | Has **own website**: mayhowardpta.weebly.com. Detailed description — raises money for curriculum, tech, teacher training, equipment |
| Butler ES PTA | PTA | Generic template |
| Carrie E. Gould ES PTA | PTA | Generic template |
| Ellis Montessori PTA | PTA | Has custom description |
| Gadsden ES PTA | PTA | Custom description: "excited about 2026-2027 School Year" |
| Garden City ES PTA | PTA | Generic template |
| Haven ES PTA | PTA | Generic template |
| Juliette Gordon Low ES PTA | PTA | Generic template |
| Marshpoint Elementary School PTA | PTA | Generic template |
| Virginia L Heard ES PTA | PTA | Custom description: "primary educational support organization providing resources" |
| WBES PTA (White Bluff ES) | PTA | Custom description: "make every child's potential a reality" |
| Windsor Forest ES PTA | PTA | Generic template |
## ADDITIONAL PTAs KNOWN FROM CAUSEIQ (not on JoinTotem)
- Rice Creek PTSA (Port Wentworth)
- Robert W Gadsden ES PTA
- Mercer MS PTA
- Shuman ES PTA
- Jacob G Smith ES PTA
- Woodville Tompkins High PTSA
- Susie King Taylor Community PTA
- Savannah Classical Academy PTSA
## SCCPSS SCHOOL SUPPLY LIST INFRASTRUCTURE
Every SCCPSS school has its own supply list page at {school}.sccpss.com. The district also aggregates them at:
- sccpss.com/families/back-to-school/supplies (2026-27 lists)
This is the integration surface — each school's PDF list links directly to the product.
## COMPETITION: TeacherLists.com
- **1M+ school supply lists** on their platform
- Partners: Amazon, Target, Walmart, Staples, Walgreens
- Free for schools and teachers
- Digitize supply lists and make them "shoppable" — but each item is individually shoppable, NOT one-click cart
- **CartMyList differentiator:** One Amazon cart link from a PDF upload. CartMyList competes on convenience, not list management.
## GTM STRATEGY FOR PTA OUTREACH
### Play 1: Council-Level Pitch
Go through Savannah-Chatham Council of PTAs (Sandra Cason). Position as a zero-effort fundraiser. Council endorses → cascades to all 24+ local PTAs.
### Play 2: School-by-School Direct
Use each school's supply list page as proof of concept. "I saw your supply list for 2026-27. Here's what it looks like as a one-click Amazon cart. Want this for your parents? Free for you, $1/cart to your PTA."
### Play 3: Parent Ambassador
Your kids are at STEM Academy (PTSA member) and Garrison (PTA member). Start there — dogfood it with your own school supply lists.
### Play 4: Back-to-School Timing
School started TODAY (Aug 3). The window is NOW — parents are actively buying supplies. Even a late entry with a "last-minute shopping" angle works.
## DOMAIN AVAILABILITY (as of Aug 3, 2026)
### AVAILABLE ✅
| Domain | Verdict |
|--------|---------|
| **cartmylist.com** | Short, verb-driven, memorable. Top pick from Round 1 |
| **mylistcart.com** | Close variant, what-it-does naming |
| **listcart.co** | Shortest, clean |
| **quicklistcart.com** | Speed/value positioning |
| **collecthq.co** | Broader rebrand (from Round 2) |
| **submithub.co** | Broader rebrand (from Round 2) |
| **ptafund.co / ptafund.us** | PTA-specific fundraising angle |
| **fuelyourpta.com** | Bold, fundraising-focused |
### TAKEN ❌
orderport.com, orderport.io, cartflow.io, gatherhq.co, list2go.com, schoolcart.com, listporter.com, supplyporter.com, listbridge.com, cartbridge.co, supplylist.co
## KEY CONTACT METHODS FOR PTAs
1. **JoinTotem "Join Now" buttons** — these submit to the PTA officers directly. Could use the membership form as a demo/dogfooding channel.
2. **Facebook pages** — Most schools have individual PTA Facebook pages. Search: "{School Name} PTA" on Facebook.
3. **School websites** — Each SCCPSS school has a site at {slug}.sccpss.com. Contact forms there reach the front office → can forward to PTA.
4. **Georgia PTA office** — office@georgiapta.org / 404-659-0214 for council-level introductions.
5. **Council Facebook** — facebook.com/SavannahChathamPTA — 1,206 followers. Post or DM.
+4 -4
View File
@@ -150,7 +150,7 @@ SchoolCart targets English-speaking US households with school-age children who a
│ Already built ↓ │ To build ↓ │ │ Already built ↓ │ To build ↓ │
├──────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────┤
│ PDF parser (proven) │ Stripe payment gating │ │ PDF parser (proven) │ Stripe payment gating │
│ Amazon search (36/45 │ Subscription tiers │ Amazon search (36/45 │ Family Plan tier logic
│ matched in test) │ School/PTA portal │ │ matched in test) │ School/PTA portal │
│ Cart URL generator │ User accounts/auth │ │ Cart URL generator │ User accounts/auth │
│ Email delivery (SMTP) │ Cart preview page │ │ Email delivery (SMTP) │ Cart preview page │
@@ -171,7 +171,7 @@ SchoolCart targets English-speaking US households with school-age children who a
| Caddy reverse proxy | **Built** | shopping.iamgmb.com → 127.0.0.1:8101 | | Caddy reverse proxy | **Built** | shopping.iamgmb.com → 127.0.0.1:8101 |
| **Stripe payment** | **To build** | ~8 hours | | **Stripe payment** | **To build** | ~8 hours |
| **User accounts** | **To build** | ~12 hours | | **User accounts** | **To build** | ~12 hours |
| **Subscription tiers** | **To build** | ~16 hours | | **Family Plan tiers** | **To build** | ~12 hours |
| **School/PTA portal** | **To build** | ~40 hours | | **School/PTA portal** | **To build** | ~40 hours |
| **Cart preview** | **To build** | ~8 hours | | **Cart preview** | **To build** | ~8 hours |
| **Analytics** | **To build** | ~4 hours | | **Analytics** | **To build** | ~4 hours |
@@ -376,7 +376,7 @@ SchoolCart occupies the **high-convenience, low-price quadrant** that is current
**Objective:** Build payment system, polish matching, prepare for 2027 BTS season. **Objective:** Build payment system, polish matching, prepare for 2027 BTS season.
**Activities:** **Activities:**
- Build Stripe checkout for $4.99/$9.99 cart unlock + $19.99/yr Family Pass subscription - Build Stripe checkout for $4.99/$14.99 cart unlock
- Improve ASIN matching — multiple search attempts, brand-specific matching - Improve ASIN matching — multiple search attempts, brand-specific matching
- Build cart preview page (show matched items before asking for payment) - Build cart preview page (show matched items before asking for payment)
- Set up branded domain and landing page (cartmylist.com or similar) - Set up branded domain and landing page (cartmylist.com or similar)
@@ -585,7 +585,7 @@ The biggest risk is that the pain of school supply shopping isn't painful enough
| list2cart.com | ❌ Registered | Taken | list2cart.com | ❌ Registered | Taken
2. **Stripe account** — use ITPP Stripe to launch, or create separate entity first? 2. **Stripe account** — use ITPP Stripe to launch, or create separate entity first?
3. **Company structure** — operate under IT Pro Partner, or new LLC? 3. **Company structure** — operate under IT Pro Partner, or new LLC?
4. **Pricing model**confirmed as Quick Cart $4.99, Premium Cart $9.99 (named carts + multi-pass matching), Family Pass $19.99/yr (all kids, all year), School Plan FREE ($1/cart donated to PTA) 4. **Pricing model**3-tier: Quick Cart $4.99, Family Plan $14.99/season (30 days), School Plan FREE ($1/cart donated to PTA). No subscriptions — Family Plan has no auto-renewal.
5. **Timeline** — soft launch for August 2026 (free), or wait until 2027 BTS with full paid launch? 5. **Timeline** — soft launch for August 2026 (free), or wait until 2027 BTS with full paid launch?
### 11.3 What Success Looks Like (Month 12 — August 2027) ### 11.3 What Success Looks Like (Month 12 — August 2027)