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
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -726,3 +726,18 @@ In a market where established players charge $50,000/year for less capability, I
|
||||
**Contact:** Germaine Brown
|
||||
**Classification:** Confidential — For Advisory Team Review Only
|
||||
**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
@@ -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
|
||||
@@ -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.
|
||||
@@ -150,7 +150,7 @@ SchoolCart targets English-speaking US households with school-age children who a
|
||||
│ Already built ↓ │ To build ↓ │
|
||||
├──────────────────────────────────────────────────┤
|
||||
│ 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 │
|
||||
│ Cart URL generator │ User accounts/auth │
|
||||
│ 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 |
|
||||
| **Stripe payment** | **To build** | ~8 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 |
|
||||
| **Cart preview** | **To build** | ~8 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.
|
||||
|
||||
**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
|
||||
- Build cart preview page (show matched items before asking for payment)
|
||||
- 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
|
||||
2. **Stripe account** — use ITPP Stripe to launch, or create separate entity first?
|
||||
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?
|
||||
|
||||
### 11.3 What Success Looks Like (Month 12 — August 2027)
|
||||
|
||||
Reference in New Issue
Block a user