🌳
Family of Stocks
Where financial literacy becomes your family's greatest inheritance. Share your analysis, learn from the family, invest for generations.

Stock conversations used to disappear into iMessage threads. Here, they become a lasting record of your family's investment knowledge. Every analysis shared. Every perspective kept. Every generation better off than the last.

🌳 Plant lessons for the next generation
πŸ“Š Share stock analysis with the family
πŸ’¬ Debate, discuss, and build conviction together
Private by design. Your family's knowledge stays in the family.
βŒ•
No analyses match your search or filters.
Dev Console v1.054
β–²
Supabase: checking...
User: not signed in
Family: β€”
Posts: placeholder data
Role: β€”
Members: β€”
Last analysis: β€”
Perspectives: β€”
πŸ—Ί View Architecture

🌳 Family of Stocks β€” Architecture

Hover over any component for details  Β·  admin only

Built & live
Planned
Users
πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦
Family Members
Desktop & mobile browser
Live
Family members access the app on any browser. No native app required.
DNS & Hosting
🟠
Cloudflare DNS
Domain registrar Β· CNAME records Β· Proxy OFF
Live
Manages familyofstocks.com DNS. CNAME @ and www β†’ Netlify. Proxy must stay OFF so Netlify handles SSL.
🌐
Netlify
Hosts the app Β· Auto-deploys on commit
Live
Serves index.html. Auto-deploys on GitHub push to main. SSL via Let's Encrypt.
πŸ™
GitHub
Private repo Β· Source of truth
Live
Private repo. Every confirmed version committed here. Push to main triggers Netlify deploy.
πŸ“„
index.html
Single-file app Β· HTML + CSS + JS Β· Quill
v1.054
Entire application in one file. No build step, no framework. Supabase JS + Quill via CDN.
Backend (Supabase)
Supabase
πŸ”
Auth
REST /auth/v1/token Β· fetch()
Live
Direct POST to /auth/v1/token. No signInWithPassword(). No onAuthStateChange().
πŸ—„οΈ
Database
6 tables Β· RLS Β· PostgreSQL
Live
families, profiles, family_members, posts, reactions, replies. auth.users holds emails for Edge Functions.
πŸ–ΌοΈ
Storage
post-images bucket Β· Paste to upload
Live
Images pasted into Quill compressed and uploaded via window._sb.storage. Cascade delete on post remove.
πŸͺ
DB Webhooks
INSERT on replies β†’ Edge Function
Live
Configured in Supabase dashboard. Fires on replies INSERT, calls the notify-reply Edge Function. Live since Apr 6, 2026.
⚑
Edge Functions
notify-reply: Live Β· OG proxy: Step 9.5
Live
notify-reply: triggered by DB webhook, looks up author email from auth.users, sends via Resend. Link preview OG proxy planned for Step 9.5.
External Services
βœ‰οΈ
Resend
Transactional email Β· familyofstocks.com
Live
API key stored as Supabase secret. Sends from notifications@familyofstocks.com. Email failure never blocks a perspective from saving.
@
@Mentions
Parse @name in replies Β· Email via Resend
Step 10
Depends on Step 8. Parses @name tags in replies, emails mentioned family members.
πŸ”—
Link Previews
OG metadata Β· Edge Function proxy
Step 9.5
Edge Function fetches Open Graph metadata for URLs in posts. Shows preview card below analysis.