Changelog

What we've been building.

9 updates

AI transparency: hub page with data flows and prompts sub-pages

2026-02-20

AI Transparency

The AI Transparency page is now a hub linking to two focused sub-pages. Data Flows shows a step-by-step breakdown of every part of the app — where AI is involved, what you control, and what data goes where. All Prompts lists every system prompt we send to the AI.

Builder note: Split /ai-transparency into three routes: hub, /data-flows (interactive step map component), and /prompts (moved prompt-list). Hub has cards with summary stats. Each sub-page has breadcrumb nav and cross-links. DEV-2023.

Hybrid opportunity finder: curated + AI search with full transparency

2026-02-20

OpportunitiesAI Transparency

The Opportunities tab now has two views. The Curated tab shows 30 Seattle-area opportunities you can browse and filter without any AI. The Search tab uses AI to find opportunities specific to your resume — and every step is visible: what data was sent, what queries were generated, what search results came back, and what prompts the AI used.

Builder note: Curated list researched via ChatGPT Deep Research; teacher curation is a planned next step (linked from the teaching note to the roadmap). Search pipeline: Sonnet generates queries → Parallel (depth: full) runs web search → Sonnet extracts opportunities from full page content. All prompts, search results, and the Parallel tool are disclosed via sparkle/list icon popovers. Demo mock rerun end-to-end with real API calls.
Terms we used
Curated opportunitiesPractice

A browsable, filterable list of 30 Seattle-area opportunities for teens. Researched with AI (ChatGPT Deep Research), with teacher curation planned for the future.

Search transparencyPractice

Every step of the AI search is disclosed: the prompt sent to generate queries, the search tool used (Parallel), the raw search results, and the prompt used to extract opportunities. Sparkle icons show prompts; list icons show search results.

ParallelTool

A web search API (parallel.ai) used to run AI-generated queries and return full page content for the AI to extract opportunities from.

AI transparency: see exactly what the AI does

2026-02-20

AI TransparencyPrivacyHAIP Audit

AI-generated bullets are now marked with a sparkle icon. Click it to see the model, prompt, and your original answer that produced the bullet. A new AI Transparency page lists every prompt this tool uses, what data is sent, and what the AI never sees (your name, email, phone, address).

Builder note: Replaced Gemini with Claude Sonnet 4.6 (Gemini ToS prohibits under-18 users). Added provenance fields (aiModel, aiPrompt, aiSourceAnswer) to the ResumeBullet data model. Built /ai-transparency page with category filters. All model references link to Anthropic/OpenRouter.
Terms we used
AI ProvenanceInternal

Metadata stored with each AI-generated bullet: which model created it, what prompt was used, and what you originally said. Visible by clicking the sparkle icon.

Sparkle IconTool

A small amber sparkle next to any bullet the AI helped write. Click it to see exactly how it was generated. Hidden in print and PDF exports.

AI Transparency PagePractice

A dedicated page listing every AI prompt, the model used, and what data is sent. Linked from the footer and help page.

Instant interview openers — no loading spinner

2026-02-19

Interview FlowPerformance

The first question in each resume section now appears instantly. Only follow-up questions (which use your previous answers for context) call the AI service.

Builder note: Hardcoded opening questions per section. API calls only happen for questions 2–4, where prior answer context actually matters. Eliminates the most common failure point.

Multi-user support for shared computers

2026-02-19

Multi-userPrivacySchools

Multiple students can now use the same browser on a shared computer. Each person picks a fun identifier (like "silver-oak" or "blue-jay") and sets their own password. Resumes are encrypted separately.

Builder note: Added a user manifest in localStorage, per-identifier encrypted blobs, a three-state lock screen (pick user, create user, unlock), and delete-user with confirmation.
Terms we used
IdentifierPractice

A fun, non-PII name (animal/plant combo) that students use to find their resume on a shared computer. Not their real name.

User manifestInternal

A localStorage key that tracks which identifiers exist on this device, so the lock screen can show them.

Students approve every bullet before it lands on their resume

2026-02-19

AI TransparencyStudent Agency

AI-generated bullet suggestions now require explicit student approval. Students can edit bullets inline before accepting, provide direction when refining ("make it shorter", "mention team size"), or skip all suggestions.

Builder note: Refine now sends a feedback field to the API and shows all 3 returned variations. Saved bullet refine shows options for approval instead of auto-replacing. Added "None of these" skip button.
Terms we used
Directed refinementTool

Students type what they want changed about a bullet, and the AI generates new options based on that direction.

Approval gatePractice

No AI-generated text is added to the resume without the student explicitly clicking "Use this." The student is always the final decision-maker.

Revisit any section after completing the interview

2026-02-19

Interview Flow

The "Your resume is ready" screen now lets students go back and add more bullets to any section. Completed sections in the sidebar are also clickable during the interview.

Privacy policy, help page, and accurate data disclosure

2026-02-19

PrivacyDocumentation

Added a privacy page explaining what stays on the device vs. what gets sent to the AI service, a help page walking through all features, and updated the footer to be accurate about data handling.

Builder note: Replaced "no data leaves your browser" (inaccurate — interview answers are sent for bullet generation) with "your resume stays on this device" (accurate — the encrypted blob never leaves).
Terms we used
Data boundaryPractice

Resume data (name, contact, bullets) is encrypted locally and never transmitted. Interview answers are sent to an AI service for bullet generation but not stored.

Initial build: guided interview resume builder

2026-02-19

LaunchInterviewEncryption

Built the core product from the Curiosity Builds template: client-side encryption, guided interview flow across 5 sections, AI bullet generation, resume preview with PDF export, and opportunity finder.

Builder note: Stripped template auth/DB/demos. All data stays in localStorage encrypted with Web Crypto API. Interview uses OpenRouter for question generation and bullet writing.
Terms we used
Client-side encryptionInternal

Resume data is encrypted in the browser using the Web Crypto API before being stored in localStorage. The server never sees the data.

Guided interviewTool

An AI-driven Q&A flow that walks students through each resume section, asking context-aware questions and generating bullet point options.

This page was written with AI assistance for drafting and editing. All content has been reviewed and verified by the team at Hypandra. See our AI disclaimer guidelines.