Back to Prep SofIA Tech Iteration — Thu Apr 30, 2026, 2:00 PM PT

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-mvp repo
  • 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)

  1. User auth/login — How do students authenticate? School codes? Teacher-generated links? Anonymous session IDs? Avoid email/password (minors).
  2. Conversation persistence — Server-side in Supabase. Schema TBD.
  3. Conversation memory for node tracking — Move volatile React state → persistent.
  4. Few-shot prompt examples (Reuben’s recommendation) — instead of fine-tuning. Cheaper, faster iterate.
  5. 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:

  1. Lovable AI Gateway (ai.gateway.lovable.dev) — US-hosted
  2. Supabase — region-dependent (default us-east-1; sa-east-1 São Paulo is the LATAM option)
  3. 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:

  1. Has Ceibal stated data residency requirements? (Even informally — “stays in Uruguay” vs. “stays in LATAM” vs. no constraint.)
  2. What Supabase region is the project provisioned in?
  3. 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.md with heading: ## SofIA Tech Iteration (Apr 30, 2026, 2:00 PM)
  • Action items → action-items.md + Fizzy with tag seed 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.

Source: prep/2026-04-30-sofia-tech.md