SofIA Tech Iteration — Thu Apr 30, 2026, 2:00 PM PT
Zoom: stanford.zoom.us/j/4179969517
Project doc: projects/sofia-design-doc.md
Pre-read sent: Apr 29 11:08 PT (design doc as attachment) — give them the benefit of the doubt that they read it; don’t walk through it.
⚠️ Time check: Pre-read email said 10:30 AM PT; calendar says 2:00 PM PT. Verify before the meeting (DM Sergio/Micaela if there’s any doubt).
Attendees (expected)
- Sergio Andres Arango — engineer, code owner of
sofia-mvprepo - Micaela Bonilla — Tequity grantee, project lead
- Guillermina Suarez, Gabriel Inchausti (Ceibal) — on the pre-read distribution; may or may not join. If they show, lean toward listening on partnership/Ceibal-side context.
- Reuben — scribe / tech advisor
Joe Sherman is OOO (auto-reply this morning). Per the Apr 27 Strategic Huddle, Joe is now the primary on SofIA support going forward; Reuben is technical advisor. Flag this in the meeting so Sergio/Micaela know the handoff:
- “Joe’s out today — when he’s back, follow-ups should route through him as the primary. I’m here to keep the technical conversation moving.”
Frame for the Hour
The pre-read covered the what. This meeting is for decisions, not walkthrough. Aim to leave with answers (or owners) on the 5 Apr 17 priorities, plus the open architecture question.
The 5 Apr 17 priorities (from the design doc §11)
- User auth/login — How do students authenticate? School codes? Teacher-generated links? Anonymous session IDs? Avoid email/password (minors).
- Conversation persistence — Server-side in Supabase. Schema TBD.
- Conversation memory for node tracking — Move volatile React state → persistent.
- Few-shot prompt examples (Reuben’s recommendation) — instead of fine-tuning. Cheaper, faster iterate.
- Prompt Lab — UI for non-engineers to iterate prompts (Build-a-Bot style).
Open architectural question worth pushing on
Lovable AI Gateway lock-in — but data residency comes first.
Before deciding where the LLM calls live, we need to know whether the data has to stay in a specific jurisdiction. The current stack leaks data outside LATAM in three places:
- Lovable AI Gateway (
ai.gateway.lovable.dev) — US-hosted - Supabase — region-dependent (default us-east-1;
sa-east-1São Paulo is the LATAM option) - Gemini API — Google routes US/global by default unless on Vertex AI with a regional endpoint
Why this matters:
- Uruguay (Ceibal) — Law 18.331 (Personal Data Protection); EU-adequacy country since 2012. Ceibal is a government agency working with minors → stricter residency expectations are likely.
- Colombia — Law 1581/2012 (Habeas Data); extra protections for minors.
Three questions to ask Sergio/Micaela first:
- Has Ceibal stated data residency requirements? (Even informally — “stays in Uruguay” vs. “stays in LATAM” vs. no constraint.)
- What Supabase region is the project provisioned in?
- Does Ceibal have a published MOU template that specifies this? (Nancy Waymack flagged Mar 19 as having MOU experience — precedent may exist.)
Branches based on the answer:
- LATAM-only required → Lovable likely off the table. Path is Vertex AI regional endpoint + Supabase
sa-east-1. Big migration. Worth scoping today. - No constraint → Lovable migration is a pure lock-in question (less urgent, Sergio’s call).
- Unknown → Action item on Sergio/Micaela to get the answer from Ceibal before architecture choices land.
The vendor-lock-in framing (Lovable vs. direct Gemini vs. OpenAI/Claude) only makes sense after this question is settled.
Talking Points / Order of Operations
1. Open (2 min)
- Joe OOO; handoff context (Joe = primary going forward, you = technical).
- Confirm everyone read the pre-read; if not, the next 55 min still works because we’re decision-focused.
2. Walk the 5 priorities → assign owners + timelines (25 min)
For each: what’s the simplest thing that works, who builds it, by when?
- Auth: Suggest starting with teacher-generated session links (no PII, no minors-auth complexity). Sergio’s call on implementation.
- Persistence: Define the minimal schema today if possible —
conversations,messages,node_progress,sessions. Don’t over-design. - Node tracking memory: Falls out of persistence — once messages are stored, node state can be derived or stored alongside.
- Few-shot examples: Encourage them to start by adding 2-3 worked examples per node into the existing system prompts. No infra change needed.
- Prompt Lab: Lowest priority of the five — defer if time-constrained.
3. Data residency → platform decision (10 min)
- Lead with residency, not vendors. Ask the three questions above.
- If unknown, make “get the answer from Ceibal” the highest-priority action item — the architecture branches diverge sharply on it.
- Only if residency is unconstrained, fall back to the vendor-lock-in framing (Lovable vs. direct Gemini vs. OpenAI/Claude). Sergio’s call.
4. Research design (10 min) — if Guillermina/Gabriel are on
- Data capture format for analysis
- Paired-user attribution (2 students, 1 device)
- IRB / Uruguay-Colombia data residency
- Pre/post growth mindset assessment design
- If Ceibal isn’t on, defer this — it’s not a Sergio/Micaela conversation.
5. Action items + next meeting (5 min)
- Confirm cadence (weekly? bi-weekly?)
- Joe gets the next-meeting invite when he’s back
Things to Listen For (Reuben’s Pattern Notes)
- Vibe-coded MVP gap. From the Apr 27 huddle: SofIA “got to something that looks good but doesn’t really understand how/why it works.” Watch for moments where the team can’t articulate why the architecture is the way it is — those are the gaps to fill in.
- Sergio’s confidence on the codebase. He’s the one shipping. If he’s hesitant on a piece (auth, schema), that’s where Reuben’s advisory time goes.
- Micaela’s research framing. She’s the educational/research lead. If technical decisions start steamrolling research design, slow down.
- Persona generator (Joe’s work). Joe built a user-persona template + AI prompt for SofIA before going OOO. If Sergio/Micaela mention it, note status — but don’t try to drive it (Joe’s domain).
Stuff NOT to Bring Up
- ISTE 150-word (handle separately with Nadia)
- CRM survey (handle with Josh)
- LAUSD / Flash Lab (irrelevant here)
- Strategic Huddle internals (Joe-as-primary handoff is the only cross-mention worth making)
After the Meeting
- File notes to
meetings/running-notes.mdwith heading:## SofIA Tech Iteration (Apr 30, 2026, 2:00 PM) - Action items →
action-items.md+ Fizzy with tagseed grants - Send a brief recap to Joe (so he has it when he’s back) — DM or email
- If quoted impact lands, add to
reference/quoted-impact.md
Generated 2026-04-30 from sofia-design-doc.md, daily file, and Apr 27 Strategic Huddle notes.
prep/2026-04-30-sofia-tech.md