understand
Understand the person’s position inside a system: what affects them, what they can see, and where their agency is constrained.
FOAAP reached ~1,700 users in its first five days.


AI systems architect and product engineer building stateful applications, agent workflows, structured memory, and production MVPs.
Explore the system ↓THE POSITION
SELECTED SYSTEM / FOAAP
Founder context gets scattered across chats, documents, and tools. FOAAP turns it into durable venture state, resolves contradictions, and exposes one high-leverage action.
THE THESIS
I build systems that help people investigate unfamiliar problems, connect evidence across domains, and turn that synthesis into decisions they can revisit.
Explore my GitHub ↗ const n = countOccurrences(rawText, q); if (n === 0) { errors.push(`quote_not_found: evidence_quotes[${i}] ${JSON.stringify(q.slice(0, 60))}`); } else if (n > 1) { errors.push(`ambiguous_quote: evidence_quotes[${i}] occurs ${n}+ times ${JSON.stringify(q.slice(0, 60))}`); } else { const start = rawText.indexOf(q); spans.push({ start, end: start + q.length, text: q }); }I keep model extractions as candidates. In anchorQuotes, a quote must occur exactly once in the original text before the validator accepts its source span. Missing or ambiguous evidence produces an explicit error.
The model supplies the quote. Deterministic code derives its position.
An exact match establishes provenance; it does not establish that the claim is true.
alter table notification_settings enable row level security;···-- notification settings: only selfdrop policy if exists "settings_self" on notification_settings;create policy "settings_self" on notification_settings for all using (auth.uid() = user_id) with check (auth.uid() = user_id);For requests subject to RLS, notification settings belong to the signed-in user. USING checks which existing rows they can access; WITH CHECK constrains the values they can write. The migration enables RLS before defining the policy.
Authorization is enforced by Postgres, beyond what the interface chooses to show.
Service-role access bypasses RLS and must stay on the server. This excerpt documents the migration, not a live database audit.
select v.version into cur_version from public.venture_models v where v.user_id = p_user and v.venture_id = p_venture for update;··· if p_base = -1 or cur_version = p_base then update public.venture_models set model = p_model, version = cur_version + 1 where user_id = p_user and venture_id = p_venture; return query select 'ok'::text, cur_version + 1, p_model, now(); return; end if; return query select 'conflict'::text, v.version, v.model, v.updated_at from public.venture_models v where v.user_id = p_user and v.venture_id = p_venture;end $$;revoke all on function public.save_venture_model(uuid, text, jsonb, int) from public, anon, authenticated;A row lock serializes updates to an existing model. The caller supplies a base version; a stale save returns a conflict and the current server state so the application can reconcile it.
Concurrency is part of the persistence contract.
The force-save path (p_base = -1) is explicit. Public, anonymous and authenticated roles are denied direct execution of this RPC.
Exact excerpts from the linked revisions. Gaps indicate omitted lines. Private repositories require access; the selected code is readable here.
OWNED END TO END
Problem framing, ontology, interaction model, and the operating loop.
React, Vite, Supabase, Postgres, OpenAI, Anthropic, and deployment.
State invariants, failure analysis, observability, retries, and the next hardening move.

THE BUILDER
I deliberately compound intellectual, technical, physical, social, and economic capacity. The point is greater agency: the ability to understand difficult systems, act under uncertainty, and build useful things.
I am especially drawn to problems where software meets real operations, institutions, and consequential users.
PORTO / REMOTE