Daily Note — March 26, 2026
Session 28: AI Rendering Studio for Site 962 (Boilerplate + Quik Action)
Time: ~9:00 PM Mar 25 – ~3:30 AM Mar 26 ET Machine: local (MacBookPro) + QCS1 Projects: quik-nation-ai-boilerplate, quikaction
Completed
- Built and deployed AI Rendering Studio at
dev.quikactionllc.com/renderings/site962 - 14 rendering feature files (types, Bedrock service, S3 service, 3 API routes, 3 pages, 4 components)
- Sketch Pad + Annotate Photo (draw on property photos)
- Before/after slider with fullscreen, 0-100% image strength
- Nova Canvas rendering confirmed working — $0.044/render
- 13 failed Amplify builds debugged → working deploy
- S3 bucket
quikaction-renderingscreated + public-read - IAM user
quikaction-rendering-servicefor Bedrock - Slack message sent to Quik with family feedback
- Magic Patterns prompt saved, vault lessons updated
Key Decisions
- Nova Canvas (not Stability SDXL — retired, requires paid inference profiles)
- Claude Sonnet 4.6 via
us.inference profile - npm on Amplify (not pnpm), Next.js 15.5.9 (not 16)
- BEDROCK_ env var prefix (Amplify blocks AWS_)
- ADMIN-only access, 0-100% strength range
- TEXT_IMAGE mode planned for Phase 2
Lessons Learned
- Check vault before acting on Amplify deploys
- Build locally before pushing to Amplify
- Compare working Herus immediately when debugging
- Amplify SSR has no AWS creds — provide via non-AWS-prefixed env vars
- Nova Canvas IMAGE_VARIATION: 512 char prompt limit
Session 29: Heru Feedback Full Stack + TestFlight Pipeline (Boilerplate + FMO + WCR + QCR)
Time: ~8:00 PM Mar 25 – ~2:15 AM Mar 26 ET Machine: local (MacBookPro) + QCS1 (Quik Cloud) Projects: boilerplate, FMO, WCR, QCR
Backend
- Fixed FMO GraphQL: reconstructed lodash.merge from GitHub source, added feedback resolver
- Built federation gateway: Node.js HTTP proxy on EC2 port 4050, queries FMO+WCR in parallel
- Federation returns 8 feedback items across all Herus
Infrastructure
- Fixed Cloudflare DNS: api-dev.quiknation.com pointed to dead IP 18.208.168.136 → updated to 98.83.4.34
- Nginx: repurposed api-dev.quiknation.com proxy from port 4031 → 4050 (federation gateway)
- All 3 Amplify deploys succeeded (QuikNation, FMO, WCR)
Mobile
- Fixed QCR FAB floating (FeedbackWidget wraps stackContent + flex:1 View)
- Fixed FMO eas.json: distribution internal → store for TestFlight
- ALL 3 apps submitted to TestFlight:
- FMO: eas submit ✅
- WCR: eas submit ✅
- QCR: xcrun altool (eas submit has 409 bug) ✅
- QCS1 build farm pipeline fully verified
Key Decisions
- My Voyages client quit (saved to memory)
- QCR uses xcrun altool for TestFlight (not eas submit — 409 EAS bug)
- App-specific password for altool: pass directly with -p (keychain fails via SSH)
Lessons Learned
- FMO resolver IIFE injection destroyed the merge call — never append to compiled JS
- EAS profile names: FMO=development, WCR=develop, QCR=develop (standardize to develop)
- FMO development profile had distribution:internal — Apple rejects for TestFlight
- Always delete old IPAs before rebuilding (avoid submitting stale builds)
- xcrun altool keychain lookup fails via SSH — pass password directly
Session 31: Heru Feedback Sprint + QCR/Site962 Swarm
Time: ~10:00 AM – ongoing Mar 26 ET Machine: local (MacBookPro) + QCS1 Projects: boilerplate, FMO, WCR, QCR, QuikNation, Site962
Heru Feedback — Fully Deployed
- WCR Mobile: crash fixed (3 causes), built + TestFlight ✅
- QCR Mobile: FAB restored, built + TestFlight via altool ✅
- FMO Mobile: draggable FAB + X close + shake reopen, built + TestFlight via altool ✅
- QuikNation Dashboard: custom auth pages (sign-in, sign-up, forgot-password, SSO callback), Amplify build SUCCEEDED ✅
- All 3 EC2 backends online (WCR:3041, FMO:3035, QCR:3023)
- DNS: api-dev.imworldcupready.com → 98.83.4.34
- Feedback API at api-dev.quiknation.com/graphql confirmed working
QCR Web Swarm (4 agents on QCS1 — completed)
- Heru Feedback widget, Checkout flow, Owner inspections, Check-in/out + Stripe + Staff
- PRs to review next session
Site 962 Swarm (4 agents on QCS1 — running)
- Heru Feedback SDK, Frontend→GraphQL wiring, Backend completeness, Deploy verification
- Gap analysis: frontend calls MongoDB directly, backend (Apollo+PG) unused
- Approach: Ship April 1 as-is, start GraphQL migration
QCS1 Setup
- ASC API key installed permanently (~/.appstoreconnect/private_keys/AuthKey_C2GS4G2364.p8)
- Keychain unlock + —clear-cache = recipe for successful builds
- Use QCS1 for AWS CLI (faster than local Tailscale relay)
Key Decisions
- Max 2 parallel agents on local (QCS1 for heavy work)
- Site 962: Hybrid approach — ship April 1, modernize Sprint 2
- QCR: 21 critical gaps identified, swarm dispatched for Tier 1
Session 30: 3D Rendering Studio + Seeking Talent MVP (Boilerplate + QuikAction + Seeking Talent)
Time: ~10:00 AM – ~4:30 PM ET Mar 26 Machine: local (MacBookPro) Projects: quik-nation-ai-boilerplate, quikaction, seeking-talent
QuikAction — 3D Rendering Studio (SHIPPED)
- ThreeDViewer component (React Three Fiber, OrbitControls, GLB loader, fullscreen, download)
- ModelGallery component (thumbnail grid, delete single, clear all)
- API route /api/renderings/generate-3d (proxies to QCS1 TRELLIS.2 at 100.113.53.80:8090)
- Workspace: 2D/3D toggle, “Generate 3D Model” button, localStorage persistence
- Scroll fix + always-visible chat panel
- Heru Feedback SDK deployed (13 files, amber theme)
- S3 GLB upload support added to rendering-s3.ts
- 4 commits: d69bc48, 817e47f, 063bc50, 80a2f5d
3D Pipeline Decision
- TRELLIS.2 (Microsoft, MIT) — FREE on QCS1, PBR materials, sharp edges, handles transparency
- NOT TripoSR (vertex colors only, no PBR = looks like clay for buildings)
- NOT Meshy ($0.20/model — free option is better quality for architecture)
- Total cost per 2D+3D render: $0.044
Subdomain Lesson
- Created renderings.quikactionllc.com, then removed it — unnecessary complexity
- One URL is enough: dev.quikactionllc.com/renderings/site962
Seeking Talent — MVP Sprint (IN PROGRESS)
- Backend agent: 4 Sequelize models, GraphQL schema (15 queries + 12 mutations), Clerk auth, migration file
- Amplify agent: amplify.yml, next.config standalone, env files, build verified (11 routes green)
- Clerk keys stored (pk_test_cHJvcGVyLWFwaGlkLTk0…)
- Neon PostgreSQL configured (develop + production databases)
- 3 agents still running at session end: migration, Feedback SDK, Amplify deploy
Key Decisions
- React Three Fiber over Google model-viewer (vault alignment)
- Seeking Talent uses seekingtalent.com as placeholder domain
- Amplify app ID for QuikAction: d1yimicfkv0rby
- Neon DB: ep-steep-cloud-am0joi8y-pooler.c-5.us-east-1.aws.neon.tech
Remaining
- Install TRELLIS.2 on QCS1 (Robert Smalls)
- QuikAction boilerplate sync (after Quik reviews)
Session 32: Seeking Talent MVP — Zero to Deployed (Boilerplate + Seeking Talent)
Time: ~4:00 PM – ~10:00 PM ET Mar 26 Machine: local (MacBookPro) + QCS1 + EC2 (98.83.4.34) Projects: quik-nation-ai-boilerplate, seeking-talent
MASSIVE BUILD SESSION — Full MVP deployed in ONE sitting
Frontend (15+ commits on develop):
- 13 screens wired to App Router (/cd/, /talent/, /sign-in, /sign-up)
- Clerk auth + middleware + role-based layouts
- Shared Sidebar component (CD + Talent variants)
- Brand design system (#F55D1E, Sora/Poppins/Inter)
- Kinah’s actual logo from seekingtalent.com
- 9 screens wired to real GraphQL queries/mutations
- Call Sheet PDF Generator (@react-pdf/renderer) — hero feature
- Admin CMS Dashboard (6 tabs: Hero, Features, Replaces, Pricing, Testimonials, Footer)
- S3 upload system (presigned URLs, drag-drop, headshots/reels/media)
- SSR fix: FeedbackSDK dynamic import in Client Component wrapper
Backend:
- TS compilation fixes, 12 tables synced to Neon PostgreSQL
- GraphQL API verified (132 types, 13 Seeking Talent domain types)
- Seed data: 7 users, 5 talent profiles, 8 opportunities, 12 applications, 3 contracts
Infrastructure:
- Amplify app d3v6j0nnd0ydua deployed (8 builds to get right — monorepo config + SSR fixes)
- seekingtalent.quiknation.com LIVE (Cloudflare CNAME → CloudFront)
- EC2 backend on port 3045 (PM2 + Nginx proxy)
- api-dev-seekingtalent.quiknation.com LIVE (Cloudflare A record, HTTP only)
- Clerk webhook secret saved
- EC2 disk full → cleaned unused node_modules (100% → 93%)
- EC2 access: Instance Connect with id_ed25519 (ec2-develop.pem doesn’t work)
- 10 parallel agents dispatched across the session
Key Decisions
- seekingtalent.quiknation.com + api-dev-seekingtalent.quiknation.com (not seekingtalent.com)
- npm (not pnpm) for Amplify builds
- FeedbackSDK must use dynamic import with ssr:false in a Client Component (not Server Component)
- Backend HTTP only (Cloudflare proxy disabled) — add HTTPS later
- EC2 Instance Connect pattern for SSH (key expires in 60s)
- 98.83.4.34 IS an Elastic IP — safe for stop/start
Remaining
- HTTPS for backend (Let’s Encrypt or Cloudflare Flexible SSL)
- Stripe Subscriptions ($97/mo) + Connect (talent payouts)
- E-signatures (BoldSign/DocuSign)
- Email notifications (SendGrid)
- RBAC enforcement (CD vs Talent roles)
- Frontend env var fix (https → http for API URL)
- EC2 disk expansion (20GB too small)
Session 33: QuikNation Website Swarm + EC2 Backend 24/7 + Decommission (Boilerplate)
Time: ~9:00 PM – ~11:30 PM ET Mar 26 Machine: local (MacBookPro) + QCS1 Projects: boilerplate, quiknation, EC2 (98.83.4.34)
Epic 17 — Partner Portal (Written)
- Created
.claude/plans/micro/17-quiknation-partner-portal.md— 6 stories, all agent-executable - Stories: Partner Dashboard, Client Management, Client Intake Wizard, Earnings/Payouts, Backend GraphQL, Public Partner Signup
Swarm Attempt — Wrong Repo (Lesson Learned)
- Built 4 worktree agents in BOILERPLATE (wrong repo): Katherine (homepage), Mansa Musa (backend), Annie (partner+auth), Ida (S3 fix)
- 38 files, ~7,000 lines generated — but in wrong repo
- Cherry-picked to develop, then reverted everything
- Lesson: ALWAYS work in the Heru’s own repo, not the boilerplate
QCS1 Cursor Dispatch (Correct Approach)
- Cloned quiknation repo to QCS1 ~/Native-Projects/quiknation
- Dispatched 2 Cursor agents (PID 72135 + 72136) via
~/.local/bin/agent -p --trust --model auto - Agent 1: Partner Portal dashboard pages
- Agent 2: Heru Feedback admin dashboard
- Results pending — check next session
EC2 Backend 24/7 Solution
- Created
~/ecosystem.config.json EC2 with ALL backends - PM2 startup systemd registered — survives reboots
- 8 healthy backends: QCR(:3023), FMO(:3035), WCR(:3041), QuikNation(:4031), QuikAction(:3039), DreamiHairCare(:3008), Empresss Eats(:3025), Seeking Talent(:3045)
- Federation gateway(:4050) online
- Fixed WCR missing node_modules, empresss-eats missing dotenv
Decommissioned — PPSV Charities + My Voyages
- Amplify frontends deleted (d1h6e0fbozrs12, d3brgyfpovtt60)
- App Runner backends deleted (3 services total)
- EC2: backend dirs removed, nginx configs removed, PM2 processes deleted
- GitHub repos preserved
Key Feedback from Amen Ra
- NEVER build Heru pages in the boilerplate — work in the Heru’s repo
- Use QCS1 Cursor agents for swarm (
~/.local/bin/agent -p --trust --model auto) - Access AWS CLI from QCS1 (faster than local Tailscale relay)
- My Voyages removed from sprint — now 8 Herus for April 1
- Don’t explain, just execute
- Check the vault BEFORE acting — all the answers are there
Next Session
- Check QCS1 Cursor agent results (partner portal + feedback dashboard)
- Verify develop.quiknation.com has new pages
- Continue QuikNation MVP — remaining pages from Epic 10
- Check recruiter replies (URGENT from last session)
- Sprint status: 5 days to April 1 deadline