Decision Log (All Projects)

Auto-generated from TRACKER.md decision logs — do not edit manually

ai-memory

DateDecisionRationale
2026-04-12v2 rescope: database-backed MCP serverINCIDENT-044 + RESEARCH-224. File-based index fails repeatedly. Every mature system uses DB as source of truth.
2026-04-12Custom pgvector over keeping Mem0Mem0 summarizes on write (lossy). Need raw storage + hierarchical schema. Same pgvector infra.
2026-04-12Store raw, retrieve smart (Mem-Palace pattern)Never summarize at ingestion. Structural filtering + hybrid search on read. 34% retrieval boost.
2026-04-07Rescoped from mem0-memory-layer to ai-memoryBroader scope: unified memory, not just Mem0 install. RESEARCH-206 gap analysis.
2026-04-07Two layers, not fiveCLAUDE.md/MEMORY.md for bootstrap + Mem0 for shared knowledge. Everything else is noise.
2026-04-07Enforcement via hooks, not disciplineINCIDENT-024 proved agent discipline fails. Hooks are the only reliable enforcement.
2026-03-30Mem0 over custom build48K stars, Apache 2.0, native pgvector. Why reinvent?
2026-03-30HAA read-only initiallyAutonomous agent writing bad memories propagates to all agents. Validate first.
2026-03-30Gemini embeddings over localFree tier covers volume. Saves RAM vs Ollama.

ai-newsletter

DateDecisionRationale
2026-03-30Self-build, no beehiivHitCreate IS the platform. beehiiv is a competitor. RESEARCH-116.
2026-03-30Resend for deliveryDeliverability is the only hard problem. Buy it. Build everything else.
2026-03-30Platform modules firstLife Score = use case, HitCreate = infrastructure. Reusable for all clients.
2026-04-07Own project (not just Life Score B5)Newsletter is a standalone offering, not just a feature. Needs full kickstart.
2026-04-07Resend Pro plan activeAPI key configured. Need sending domain DNS.

auth

DateDecisionRationale
2026-03-30Project kickstartedAuth is cross-cutting infra that blocks all products needing user login
2026-03-30Authelia for infra authRESEARCH-111: 5 options evaluated. Lowest effort, lowest RAM, purpose-built.
2026-03-30GoTrue for product authRESEARCH-114: Already running, $0, multi-tenant capable, mobile-friendly
2026-03-30Resend for emailFree tier sufficient (100/day). Mister already has account from Lovable.
2026-03-30Rejected: caddy-security10 CVEs in 2024, requires custom Caddy build
2026-03-30Rejected: Authentik~860MB RAM — would destabilize server
2026-03-30Rejected: custom middleware17-33 hours to build a worse Authelia
2026-04-04Health check fixedRESEARCH-156: authelia config validate replaces nonexistent healthcheck command
2026-04-04Server-wide migration complete63 subdomains migrated from basic_auth to Authelia forward_auth
2026-04-04term.hitcreate.io added to admin groupHitTerm (CloudCLI fork) added to Authelia config

automations

DateDecisionRationale
2026-03-31Project kickstartedMister's confidence blocker (4/10) needs process automation, not more products
2026-03-31B0 completed same sessionReality check + AI survey + cron already live
2026-03-31Bucket C, 1-afternoon booklets20% cap. Each booklet must be completable in a single focused session
2026-03-31B1 is next priorityFollow-up nudges directly attack the accountability gap
2026-03-31B2 depends on TechIRL tiersCan't template proposals without confirmed service packages

biz-intel

DateDecisionRationale
2026-04-22Biz Intel split from Fin IntelCompany entity (Pty Ltd) has different compliance surface than personal/sole-trader books
2026-04-22Airwallex = primary biz banking railAU-headquartered, API-first, Mister has live account, multi-currency at mid-market
2026-04-22Stripe = agency services invoicingLower fee than Paddle for services, Stripe Tax handles AU GST
2026-04-22Paddle = MoR for SaaS only (deferred)Only needed when HitCreate Platform ships digital products
2026-04-22Xero = export target, not system of recordAccountants know it; we own the ledger, they sign off
2026-04-22All AI routed through LiteLLMPer CLAUDE.md security rule #6
2026-04-22Bucket C with A unlockInternal tool, 20% cap applies — but enables A invoicing
2026-04-22B1 appetite extended to 10 daysR&D April 30 deadline is forcing function
2026-04-22TBC (Mister to confirm before B1 start)

caddy-migration

DateDecisionRationale
2026-03-31Project kickstartedINCIDENT-035 proved bulk Caddyfile edits are dangerous. Needs proper project treatment.
2026-03-31Classification: I (Infrastructure), Bucket CInternal capability, no revenue impact. 20% cap applies.
2026-03-315-step staged approachEach step isolated, verified, rollback-ready. Lesson from INCIDENT-035: never change >10 lines at once.
2026-03-31Wildcard uses dns cloudflare with CLOUDFLARE_DNS_TOKENToken already in Caddy systemd env (INCIDENT-034 resolution). Module already installed.
2026-03-31Verification script mandatoryINCIDENT-035 root cause #1: no post-deploy verification. Script must run after every reload.

cdn-speed

DateDecisionRationale
2026-03-30Project kickstartedRESEARCH-125 complete, all findings actionable
2026-03-30Cloudflare Free only, no paid CDN$0 covers all needs at current scale
2026-03-30Single booklet (not phased)Total effort ~2-3 hrs, no reason to split
2026-03-30zstd + gzip, not brotli in Caddyzstd native in Caddy, CF handles brotli at edge
2026-03-30CF API for DNS, dashboard for settingsToken scoped to DNS edit only
2026-03-30Skip wildcard proxyCF Free doesn't support it, low-traffic sites

chatii

DateDecisionRationale
2026-04-13Project kickstartedDiscord/ZeroClaw adapter failed. Need owned comms platform.
2026-04-13Next.js + Supabase Realtime stackZero new infrastructure. Everything already running. Per CODE-STANDARDS.md.
2026-04-13Three faces: command center + widget + InstagramOne backbone serves internal + 2 revenue products
2026-04-13B1 = command center firstProven need (Mister needs it today). Widget/Instagram validated separately.

cmd-aorus

DateDecisionRationale
2026-04-07Project kickstartedHome PC as second compute node
2026-04-07GPU target: RTX 5080 SUPER (24GB)32B models fully on GPU
2026-04-07Networking: Tailscale meshZero config, works with NordVPN
2026-04-14RESCOPE: Aorus becomes primary computeVPS at breaking point (10GB RAM, 4GB swap full, load 14.0). RESEARCH-248.
2026-04-14IDE moves to Aorus (openvscode-server)code-server #1 RAM hog + zombie processes (INCIDENT-032)
2026-04-14Cloudflare Tunnel for public IDE accessNo port forwarding, works through NordVPN + NAT
2026-04-14VPS downgrade to CX32 after stabilization$30/mo saved, 8GB sufficient for edge services
2026-04-14SSH via port 2222 (Windows→WSL2 proxy)Windows OpenSSH unreliable on Tailscale, WSL2 SSH works
2026-04-14Both faster-whisper + Parakeet TDTDual backend — whisper for speed, Parakeet for quality

domain-management

DateDecisionRationale
2026-03-31Project kickstarted80 domains across 2 registrars, no tracking, no alerts
2026-03-31Option A: manage don't resell (for now)Pre-revenue, <10 clients. Domain markup is ~$750/yr at 50 clients — not worth the overhead yet
2026-03-31OpenSRS when ready, not ResellerClub.com.au support, $100 min deposit, reliable API, Tucows-backed
2026-03-31Cloudflare Registrar for own domainsAt-cost pricing ($9.77/yr .com vs $12-15 elsewhere), free privacy, already on CF DNS
2026-03-3125 domains marked let-expireDead gaming project, dead brand variants, unused products

email

DateDecisionRationale
2026-03-30Project kickstartedEmail broken, blocks comms and AI integration
2026-03-30Stalwart for mail serverLightest (~120MB), native JMAP, multi-domain
2026-03-30Resend for outbound relayVPS IP blacklisted, port 25 blocked
2026-03-30Don't productize emailRESEARCH-127: build AI comms layer instead

fin-intel

DateDecisionRationale
2026-03-30Project kickstarted as Bucket CPersonal tooling research phase
2026-03-30Promoted to Bucket B (Path B)Build for self, architecture for product. CPA friend = validation shortcut.
2026-03-30Provider stack: Wise + IBKR + Kraken + Xero + SharesightFirst-principles: move to API-first providers. RESEARCH-115.
2026-03-30Up Bank rejectedUser saw negative reviews. Wise has read+write API (Up is read-only).
2026-03-30Don't be a bankEvery AU consumer neobank with own ADI licence is dead. RESEARCH-118.
2026-03-30Odoo model: open-source core, AU-native modulesZero open-source competition for AU CGT, super, BAS. First mover.
2026-03-30Tax season 2026 (July-Oct) = launch windowr/fiaustralia + r/AusFinance distribution. CGT calculator as wedge.
2026-03-30CPA friend validates tax modulesProfessional validation before public release. Gate 4 shortcut.
2026-03-30Revenue gate: 2 months post-releasePaying users or reclassify to Bucket C.

flick-apply

DateDecisionRationale
2026-04-22Name: Flick Apply (locked)Mister directive
2026-04-22Beachhead = relationship-tier, not segmentDogfood + friends = real concierge at low effort, delays segment selection until evidence
2026-04-22Build-gated behind recruiter preference testFlywheel is the moat; if recruiters don't prefer the format, the product has no defensible advantage
2026-04-22flickcv repo parked, not deletedApply.AI v9.2 interview flow + Firebase code is salvageable IP for B4

forms

DateDecisionRationale
2026-03-30Project kickstartedNeed structured data collection across all products
2026-03-30SurveyJS renderer (MIT) over FormbricksZero new services, writes to existing Supabase tables, AI generates JSON
2026-03-30Bucket C (internal capability)Infrastructure module — becomes B when used for client-facing surveys
2026-03-30Archive Formbricks forkVanilla clone, never deployed, separate DB = data silo
2026-03-30Don't generalize Life ScoreToo EmberFi-specific, SurveyJS is more capable for general forms

fyidigital

DateDecisionRationale
2026-04-01Project kickstartedNo standardised delivery pipeline exists
2026-04-01Absorbs custom-domains + domain-managementAll parts of the same pipeline
2026-04-01Synergy Wholesale for .com.au client domainsRESEARCH-166 — AU-native, AUD, white-label
2026-04-01Cloudflare Registrar for non-AU domainsRESEARCH-166 — at-cost, seamless DNS
2026-04-01B1 is research-onlyNeed standards before building tooling
2026-04-12B1 COMPLETERESEARCH-221 (1,033 lines) + CLIENT-DELIVERY-PLAYBOOK.md written
2026-04-12Stack: Penpot + Lovable/v0 + Claude Code + Next.jsMister: no Figma subscription, pioneer Penpot
2026-04-12"Instant Preview" model adopted5-question intake → 3 live previews in <24hrs → iterate → launch in 5-10 days
2026-04-12Min Min runs 60% of client touchpointsMister approves pricing, Claude Code builds
2026-04-12Mel (Signature Social Hire) = B3 dry runFirst real client through the playbook

gws-integration

DateDecisionRationale
2026-03-16GWS CLI chosen over separate API integrationsCollapses 5+ APIs into 1 tool. RESEARCH-054 Wave 2.
2026-03-30Drive input pipe prioritized over Gmail sendCloses multi-AI workflow gap immediately. Lower risk.
2026-03-30ChatGPT/Gemini save to Drive root by defaultWatcher scans root, filters by recency. Config optional.
2026-03-30Bucket B (not C) — client comms = revenue enablerOnly B9.1 is arguably C. B9.2+ directly enable client workflows.
2026-03-30B9.1 built (8/9 done) — blocked on OAuth re-authToken expired. Run gws-reauth.sh to fix.
2026-03-30Created gws-reauth.sh for headless re-auth from iPadManual code exchange flow.
2026-03-31RESCOPED: Gmail integration = agency intelligenceNot inbox mgmt. Feeds Swipe Library + Sendii + Fin Intel.
2026-03-31B9.2 rescoped: Email Triage + Classificationgmail-triage.sh built, tested, benchmarked.
2026-03-31B9.3 rescoped: Swipe Extraction PipelineExtract structured cards from marketing emails.

hands

DateDecisionRationale
2026-04-18Project kickstartedRESEARCH-267 identified the gap
2026-04-18Stagehand v3 over browser-use / Playwright-soloModel-agnostic, 44% faster via CDP, action caching
2026-04-18Self-host on Hetzner, not Browserbase cloud$0 infra vs $0.05/step × 1000 = $50
2026-04-18Node/TS, not PythonStagehand is Node-native; all existing services on VPS can call REST regardless
2026-04-18Port 18820, Authelia-gatedConsistent with transcriber (18800), review (others)

hitcreate-config

DateDecisionRationale
2026-04-01Project kickstartedRESEARCH-163 found 0/18 repos with formatter, config drift visible
2026-04-01GitHub Packages not npm registryPrivate packages, already have hitcreate GitHub org
2026-04-01Single repo, multiple exportsSimpler than separate repos per config type
2026-04-01Classification O/IConfig files only, no product code
2026-04-01B1 COMPLETEv1.0.1 published, validated in safetii (zero type errors)
2026-04-01exactOptionalPropertyTypes fixv1.0.0 had wrong option name, patched in v1.0.1

hitcreate-review

DateDecisionRationale
2026-04-14Project kickstartedGap identified: Ruttl has UX, GiveFeedback has voice-first, neither has API/data ownership
2026-04-14React + Vite for dashboardHitCreate standard stack (CODE-STANDARDS)
2026-04-14Vanilla JS for widgetNo framework dependency on client sites
2026-04-14rrweb for replay (not custom)17K stars, PostHog/Sentry use it, well-maintained
2026-04-14Raw Replayer API, not rrweb-playerrrweb-player is Svelte; build React wrapper (PostHog pattern)
2026-04-14Batch AI processingIndustry standard (GiveFeedback, Marker.io). Simpler architecture.
2026-04-14Subdomain: review.hitcreate.ioStandalone product, white-label later
2026-04-14Monorepo: packages/widget + packages/dashboardWidget and dashboard are separate builds, shared types
2026-04-14Browse&Talk + Inspect Mode UXDefault: voice+click always on. Inspect: opt-in hover outlines. Mister feedback.
2026-04-14Text fallback when mic failsiOS mic permission failed during test. Added textarea input as fallback.
2026-04-14Click-to-deselect toggleTap marked element again to remove highlight. Mister feedback.

hitterm

DateDecisionRationale
2026-04-04Project kickstartedRESEARCH-175 completed
2026-04-04Fork CloudCLI (not build from scratch)Agent SDK + mobile UI = months saved
2026-04-04AGPL-3.0 acceptedInternal tooling only
2026-04-04Rust rewrite deferred to B4Node.js pragmatic for V1
2026-04-04tmux over raw node-ptyWalk-away persistence
2026-04-06B0 completedDeployed, 52MB RAM, Authelia
2026-04-07RESCOPERESEARCH-209: "better terminal" → "AI session orchestrator". Multi-node allocation added (B3). Push notifications promoted to P0 (B2). Diff review added (B2). TypeScript migration deprioritised.

infrastructure-scaling

DateDecisionRationale
2026-04-01Project kickstartedRESEARCH-162 identified server at 75-80% RAM, 3.4GB swap, 46 services
2026-04-01No KubernetesSolo founder, premature complexity
2026-04-01No hyperscaler3-5x cost, no revenue to justify
2026-04-01Supabase Cloud for production$0-40/mo, managed backups, dev/prod isolation
2026-04-01Cloudflare R2 for photosZero egress fees, <$2/mo at Safetii scale
2026-04-01Home hardware = dev onlyNBN uptime insufficient for production SLA
2026-04-01Domain registrar: Synergy Wholesale for client .com.au, Cloudflare for own non-AURESEARCH-166. Cloudflare doesn't support .com.au. OpenSRS is USD/overkill. Open Synergy account when first client needs domain.
2026-04-01R2 deferred — ship with Supabase Storage firstRESEARCH-165. 1GB free = ~5 weeks. Add R2 at 800MB. Avoids scope creep.

knowledge-library

DateDecisionRationale
2026-04-12Project kickstartedCAO client workflow needs central reference library
2026-04-12Filestash over File BrowserBeautiful UI, 30MB RAM, direct filesystem access
2026-04-12No Nextcloud/Seafile/JVM toolsBloated, proprietary storage, INCIDENT-039
2026-04-12RESHAPED: file browser → LLM training corpusPrimary purpose is agent grounding + fine-tuning, not file browsing
2026-04-12pgvector over ChromaDB/Qdrant/WeaviateAlready running, zero new RAM (RESEARCH-223)
2026-04-12Docling over Unstructured.ioMIT, lighter, no Docker (RESEARCH-223)
2026-04-12nomic-embed-text on cmd-aorus768-dim matches mem0, free, offloads VPS
2026-04-12Bucket C → B reclassifiedCorpus grounds agents for revenue work (Safetii, CAO)
2026-04-12Paperless-ngx deferredDocling handles PDF/OCR; Paperless adds 400MB for marginal gain
2026-04-12Hybrid search (vector + BM25) mandatory20-40% better recall (RESEARCH-223)
2026-04-12Python HTTP server over Express/Node for APIKeeps stack simple, no Node dependency for corpus
2026-04-12LiteLLM for embeddings (not direct Ollama)Security Rule #6, handles routing + fallback
2026-04-12Port 5433 direct postgres (not 5432 pooler)Pooler rejects non-tenant connections
2026-04-12B2 DONE — 181 docs, 2632 chunksP0 deliverables complete, P1 deferred to B3
2026-04-12dufs replaces Filestashdufs does browser UI + WebDAV on same port. Filestash stopped (container kept). library.hitcreate.io → dufs. dav.hitcreate.io removed.

leadgen

DateDecisionRationale
2026-03-31Project kickstarted as Bucket AThis IS the revenue engine
2026-03-31Separate cold domain requiredProtect hitcreate.io reputation
2026-03-31Instantly over self-hostedWarm-up network worth $30/mo
2026-03-3114-day soft expiry on reportsUrgency without destroying the asset
2026-03-31Phone primary, email secondary40-60% conversion from calls vs 1-3% from cold email
2026-03-31Reports celebrate first, then opportunitiesRESEARCH-138: ego-protective rejection kills cold audits
2026-03-3115 industry profiles for accurate scoringRESEARCH-132: Wastech proved one-size-fits-all is wrong

life-intel

DateDecisionRationale
2026-04-07Project kickstarted as core product (not feature)This IS the EmberFi/Life OS brain. Bigger than GWS Integration.
2026-04-07Tiller for CBA/StGeorge (not Basiq)No code needed — Tiller → Sheets → GWS. Basiq = 12mo contract.
2026-04-07Gmail batch API over gws CLI for bulk50x-200x faster. gws stays for light reads/calendar.
2026-04-07Pub/Sub for real-time (not polling)5-second classification vs 15-min polling.
2026-04-07BullMQ + Redis for CMD-AORUS offloadJob queue with retries, dead letters. Better than SSH/REST.
2026-03-31Junk = phishing/malware ONLYAll real brand emails are marketing reference (Swipe or Newsletters)
2026-03-31GWS Integration rescoped → agency intelligenceNot inbox management. Feeds Swipe Library + Sendii + Fin Intel.
2026-04-07Life Intelligence project kickstarted as core productSupersedes GWS Integration. Full life context for Min Min.
2026-04-074 Gmail accounts connected (mnthompson223, mwebb00123, fyidigital1 + mister)All OAuth'd. GCP project published to production.
2026-04-07Wise API connected (personal + business)Balances live: Personal AUD $4.71, Business AUD $4.29
2026-04-07Life Intel API live on port 18794systemd service, Caddy-proxied at /life-intel/api/*
2026-04-07Proton Bridge parkedHeadless server deps issue. Follow-up next session.
2026-04-07INCIDENT-037 resolved by MisterTelegram plugin registration was missing from openclaw.json
2026-04-07Morning briefing switched to Discord announceTelegram delivery TBD

local-trader

DateDecisionRationale
2026-04-07Project kickstartedRESEARCH-200, 210, 211, 212 complete
2026-04-07Bucket A (promoted from B)Fastest path to cash — content SEO, no code for marketplace
2026-04-07Astro SSG stackSEO-first, zero JS, < 200KB pages, matches CODE-STANDARDS
2026-04-07Eucalyptus/Sand paletteDistinctly AU, avoids corporate blue, research-backed
2026-04-07Leaflet + OSM for mapsFree ($0 vs Google $7/1000), sufficient for Phase 1
2026-04-07URL: /[service]/[location]/Matches user search intent, Angi model proven at scale
2026-04-074-step lead form3x conversion vs single step (RESEARCH-212)
2026-04-07Quote estimator4x form conversion, Google "Online estimates" filter
2026-04-07Light mode onlyOutdoor daytime use, tradies in bright sun

mem0-memory-layer

DateDecisionRationale
2026-03-30Project kickstarted5 fragmented memory systems, multiple failed prior attempts, industry moving to shared memory layers
2026-03-30Mem0 over custom build48K stars, Apache 2.0, native pgvector/Supabase support, 26% accuracy boost. Why reinvent?
2026-03-30B0 cleanup before B1Risk analysis: adding 5th memory system on top of 4 broken ones = worse. Clean first.
2026-03-30HAA read-only initiallyRisk: autonomous agent writing bad memories propagates to all agents. Validate first.
2026-03-30Gemini embeddings over local modelFree tier covers volume (~200 ops/day). Saves ~1-2GB RAM vs Ollama. Fallback: OpenAI key in .env.
2026-03-30Embeddings through LiteLLMSecurity rule (INCIDENT-016): all AI API calls must route through LiteLLM proxy.
2026-03-30MCP stdio not systemdClaude Code spawns MCP servers via stdio. No persistent process needed for Claude Code access. systemd only if Min Min/HAA need HTTP API.
2026-03-30OPENROUTER_API_KEY must be excludedMem0's OpenAI LLM checks OPENROUTER_API_KEY first, bypasses LiteLLM. config.py only loads required keys + explicitly removes OPENROUTER.
2026-03-30Port 5433 not 5432pgBouncer on 5432 returns "Tenant or user not found". Port 5433 is direct DB access.
2026-03-30gemini-2.5-flash for LLM extractionCheap, fast, supports function calling. Routed through LiteLLM. Some JSON parse errors (Gemini returns malformed JSON ~30% of time) but Mem0 handles gracefully with dedup.

min-min

DateDecisionRationale
2026-04-12Project kickstarted (rescope from OpenClaw workspace)Never had proper project structure despite being core product
2026-04-12Migrate OpenClaw → ZeroClawRESEARCH-226: 99% less RAM, 0 CVEs, native LiteLLM/Discord, migration tool exists
2026-04-12Discord as primary channel (not Telegram)Mister preference. Own full stack long-term (Chatii)
2026-04-12OpenRouter as primary model (not Gemini)Gemini too unreliable for agent tool calling. OpenRouter auto-top-up
2026-04-12Monthly landscape review (QUICKREF-003)AI agent space moving too fast to review annually
2026-04-14Rescope B9: memory architecture replaces "fix broken things"INCIDENT-052: tool-based memory fails with non-Claude models. RESEARCH-250: industry consensus is hybrid injection. Old B9 deliverables moved to B9.5
2026-04-14Switch default model: openrouter-auto → gemini-2.5-proOpenRouter auto-routing picked models bad at tool calling. Gemini Pro better but still doesn't call tools — confirms need for injection pattern
2026-04-14Hybrid memory injection (L0+L1+L2) over tool-based memoryRESEARCH-250: every production agent system (MemPalace, Letta, Zep, GBrain) converged on this. Model-agnostic, 8 cents/day overhead
2026-04-14Switch model: gemini-2.5-pro → gpt-4.1-miniGemini tool calling unreliable (documented Google forum issues, 5 LiteLLM bugs). GPT-4.1-mini: $0.40/1M input, 97-99% tool accuracy
2026-04-14INCIDENT-052 ESCALATED: ZeroClaw webhook is a message broker, not agent loopSource code confirms: server crate doesn't invoke LLM, just stores messages. Tools never reach the model via webhook. 12+ hrs spent before root cause found
2026-04-14minmin-proxy built as Discord agentProxy handles: memory injection (L2), tool execution (allowlist+blocklist), Claude Code spawning, typing indicator. Becomes Chatii backend
2026-04-14Runtime decision PENDING: expand proxy vs nanobot vs fork ZeroClawRecommendation: expand proxy (80% done, ~300 lines to add, becomes Chatii). ZeroClaw keeps Telegram+cron only until proxy replaces it

minmin-orchestrator

DateDecisionRationale
2026-04-22Project kickstartedVPS overload (load 178), need orchestration not manual SSH
2026-04-22ZeroClaw-first, retire OpenClawZeroClaw already has nodes, skills, claude_code_runner, Discord — OpenClaw duplicates at 500MB+ cost
2026-04-224 booklets, 1 evening eachSmall bets. Each booklet is independently useful. Circuit breakers prevent scope creep.

mwebb-bdm

DateDecisionRationale
2026-03-30Project kickstartedInternal tool to enable agency sales
2026-03-30React/Vite/Tailwind + SupabaseSame stack as other HitCreate apps, all infra exists
2026-03-30I-Low classificationInternal tool, one user, no auth/payments, reversible
2026-03-30Build not buyNo existing tool integrates Trust Score + pipeline + delivery
2026-03-30B1 = pipeline + home onlyGet the core workflow live fast, layer features in B2/B3

safetii

DateDecisionRationale
2026-04-01Project kickstartedDreamworld demo
2026-04-01Bucket AKnown buyer
2026-04-02Basic mode = defaultConservative industry
2026-04-02No Microsoft SSOInvite links sufficient
2026-04-02safetii.org canonicalNFP positioning
2026-04-03NFP pivot — Safetii Foundation"Everyone deserves to be safe"
2026-04-03Worker app permanently freeMission-driven
2026-04-03Brand independent from HitCreateEnterprise credibility
2026-04-04RESCOPE #1: full safety document platformJSA/SWMS/SOP. SWMS legally mandatory ($3.6M penalty). Maturity model.
2026-04-04RESCOPE #2: AI-native, AI layer firstAI is the architecture, not a feature. Build B2 (AI) before B3 (JSA) / B4 (SWMS). Without AI, complex docs are worse than Word templates.
2026-04-04Production AI only, no degraded experience"People churn hard on bad experience." GPT-4o Mini Transcribe + Whisper WASM offline. ~$60/yr.
2026-04-04iOS voice = production bug, fix firstWeb Speech API silent fail in PWA standalone. B1-FIX before B2.

scout

DateDecisionRationale
2026-03-26Project kickstarted

sendii

DateDecisionRationale
2026-03-30Project kickstartedRESEARCH-133 defines Sendii as HitCreate's comms layer
2026-03-30Bucket B (Revenue Later)Phases 1-2 internal, 3+ need validation
2026-03-30Stalwart = invisible engineUsers never see Stalwart. Sendii is the product.
2026-03-30GoTrue for auth, not StalwartProduct auth via Supabase, not Stalwart's built-in auth
2026-03-30React/Vite stackSame as EmberFi, consistent across HitCreate

server-wiki

DateDecisionRationale
2026-04-12Project kickstartedNeed single-pane server knowledge for agents + Mister
2026-04-12mdBook over Wiki.js/MkDocs6MB binary, 0MB runtime, built-in search (RESEARCH-231)
2026-04-12Hybrid auto-gen + manual annotationsAuto: always fresh. Manual: preserved in annotations.yaml
2026-04-12Bucket CInfrastructure, 20% cap. Reclassify to B if agents deliver faster

speargo

DateDecisionRationale
2026-04-04Project kickstartedRESEARCH-183 competitive analysis complete
2026-04-06Safety gate is NOT default on every jobTake 5 is ambient (2-3x/day), not per-job. Gate only for high-risk flagged jobs. RESEARCH-193.
2026-04-06V1 = AI-native tool, V2 = AI operatorShip the tool to 3 people first. Min Min graduates to operator when patterns are proven.
2026-04-06Quoting + invoicing in B1, not deferredQuote and invoice are the bookends of every business transaction. YC wants one complete loop.
2026-04-06Photo + voice → AI quote is THE differentiatorServiceM8 needs 100 jobs (cold start). BuildFolio does this but US-only. AU market is open.
2026-04-06Extend Safetii PWA, do not forkSame codebase, same auth, same offline architecture. Speargo is a mode/route, not a separate app.
2026-04-06Xero deferred to B2Manual "mark as paid" is fine for 3 clients. Xero sync is B2 priority.

supabase-cloud

DateDecisionRationale
2026-04-22Use trigger-based migration, not pre-emptive bulk moveWebb framework — premature scaling is more expensive than catch-up
2026-04-22Flick Apply migrates to Sydney regionPre-emptive AU residency — zero extra cost today, unblocks future gov/insurance pitches
2026-04-22Self-hosted stays for EmberFi/Safetii/Radar until triggerNo pain signals yet
2026-04-22This is Bucket C but forcing-function for Bucket B (Flick Apply)Elevated priority vs pure infra C work

swipe-library

DateDecisionRationale
2026-03-30Project kickstartedCore agency capability — feeds client audits and builds
2026-03-30CLI-first (B1), Web UI second (B2)Mister needs capture working now; UI can wait
2026-03-30Supabase for storageAlready running, has Storage for screenshots, avoids new infra
2026-03-306 capture typesLanding, funnel, email, ad, app store, competitor — covers all agency needs
2026-03-31B1 complete8 swipes captured, avg 20s. Fallback nav for heavy SPAs. No merge with Radar needed.
2026-03-31Integration plan writtenRadar feeds URLs → Swipe for deep capture. Trust audit integration = next revenue value.
2026-03-31B2 complete — unified dashboardLibrary tab added to Radar dashboard at radar.hitcreate.io. Swipe API endpoints in radar-api.js. Screenshot proxy, search, filters, detail modal.
2026-03-31Performance overhaulWebP (Sharp), 3 sizes (thumb/medium/full), local disk serving, streaming, lazy loading, browser pooling. Thumbs 95% smaller (450KB→40KB avg). All 9 swipes re-captured.

troveii

DateDecisionRationale
2026-04-13Troveii = email-native CRM (not standalone CRM)Mister's insight: email IS the CRM, make it work properly instead of adding another system
2026-04-13Sendii = outbound only, Troveii = inboundClean product boundary: people emailing you (Troveii) vs you emailing people (Sendii)
2026-04-13Multi-provider connector architectureCan't require people to leave Gmail. Must work with existing email. Own stack (Stalwart) for new businesses
2026-04-13Telegram-first UXZero frontend build. Validates before investing in UI. Mister lives in Telegram
2026-04-13Keep StalwartOnly self-hosted mail server with both Admin API (provisioning) and JMAP (email access). Alternatives lack one or both
2026-04-13Stalwart for own-stack, Gmail/Outlook for existing usersBest of both: zero-cost infrastructure for new users, zero-friction onboarding for existing users

trust-score

DateDecisionRationale
2026-03-30Project kickstartedRESEARCH-112+124 identified product gap
2026-03-30Bucket A (agency tool), not B (product)Agency use IS the concierge validation. Build what you need to sell, prove demand, then productize
2026-03-30Phase 1 = PDF only, no dashboardMister works from iPad. PDF is the right format. Dashboard is premature complexity
2026-03-30Extend GEO suite, don't rebuild45% of scoring already works. Build on existing scripts, don't start from scratch
2026-03-30Hybrid model (Option 3)Agency tool first (Bucket A), graduates to SaaS (Bucket B) only after demand proven
2026-03-30ACCC compliance flags as AU moatNo competitor does this. First infringement notice issued March 2026 ($39,600). Market is scared
2026-03-30Kill criteria set10 audits → 0 conversations = re-evaluate. 3 months no self-serve demand = no Phase 2

video-ingest

DateDecisionRationale
2026-04-14Project kickstartedReplace Gemini manual workflow with automated pipeline
2026-04-14yt-dlp over reclip/MeTube/cobaltBest API for programmatic use, 1700+ sites (RESEARCH-247)
2026-04-14faster-whisper over Ollama WhisperFull control, VAD filter, word timestamps, int8 GPU (RESEARCH-247)
2026-04-14large-v3-turbo modelBest speed/accuracy for RTX 3050 8GB (~45s/20min, 5.5% WER)
2026-04-14Tiered transcription (captions → Whisper → Deepgram)Skip GPU when good captions exist
2026-04-14Bucket BCorpus feeds agent quality for revenue work
2026-04-14YouTube captions via cmd-aorus SSHVPS Hetzner IP blocked by YouTube bot detection. Residential IP works.
2026-04-14gpt-4.1-nano for summaries (not Haiku)Fast + cheap, good structured output quality
2026-04-14B1 DONEYouTube caption pipeline working end-to-end. Whisper path tested but non-YouTube blocked from VPS.
2026-04-14Gemini direct YouTube REJECTEDGemini hallucinates video content when given URLs via chat API. Must use real transcripts.
2026-04-14Rebuilt: real captions + Gemini summary3-tier: cmd-aorus SSH → VPS fallback → queue for later
2026-04-14cmd-aorus SSH down (port 2222 reset)Blocks all YouTube ingest + embeddings. B1.5 Cloudflare Tunnel will help.
2026-04-14vidcap.hitcreate.io deployedWeb UI live, systemd: vidcap, port 18796
2026-04-14VPS YouTube-blockedHetzner datacenter IP blocked by YouTube bot detection. Cannot fetch captions or metadata from VPS.