Inspiration

People save valuable links, screenshots, posts, videos, and ideas across many apps, then rarely recover their value. Resurface is a private content library built around one promise: Save anything. Find its value later.

What it does

Resurface turns scattered saves into a grounded decision workflow:

  1. Capture a link, selected text, or screenshot from iOS.
  2. Recover readable screenshot text with OpenAI-powered OCR.
  3. Understand each save through a structured summary, takeaways, recommendation, relevance, and next step.
  4. Connect eligible saves into one decision Brief with shared themes, honest tensions, non-obvious connections, and source grounding.
  5. Recommend one concrete next move.
  6. Turn a finalized saved Brief into a private voice debrief.

The result is a calm, native iOS product, not a chat interface or another generic read-it-later inbox.

What was built during OpenAI Build Week

Resurface existed before the event with capture, OCR, per-item enrichment, Daily and Weekly recaps, saved recap history, and private Audio Brief playback.

The Build Week extension added:

  • A dedicated GPT-5.6 cross-source synthesis path
  • A strict decision-brief schema
  • Runtime source-membership and multi-source citation validation
  • Shared-theme, tension, connection, and next-action synthesis
  • A native decision-brief presentation
  • Decision content in copy and private voice debriefs
  • Synthesis-specific evaluations and production verification coverage

This boundary is deliberate: the submission claims the new synthesis work while showing how it completes the existing product loop.

How GPT-5.6 is used

The backend calls the OpenAI Responses API with strict Structured Outputs. GPT-5.6 receives only recap-eligible source context.

Every shared theme, tension, or connection must cite at least two distinct eligible source IDs. Responses containing unknown IDs or improperly grounded claims are rejected before persistence. One-source Briefs remain supported without pretending to perform cross-source synthesis.

How Codex was used

Codex was the primary implementation partner. It mapped the repository and production system, implemented the schema and prompt, added runtime grounding validation, integrated the SwiftUI decision hierarchy, expanded copy and audio behavior, built synthetic evaluations and privacy smokes, supported the production rollout, and maintained the submission evidence trail.

The human retained the key product decisions: extend Brief instead of adding chat, require visible grounding, present one next move, preserve compatibility with older saved recaps, protect private content, and clearly distinguish pre-existing work from Build Week work.

How we built it

The native SwiftUI app and Share Extension call a TypeScript API running on Cloud Run. Supabase provides authentication, Postgres persistence, row-level security, and private Storage.

A scheduled one-shot worker handles OCR and item enrichment. The API and worker use the same deployed image. GPT-5.6 generates cross-source decision Briefs, and gpt-4o-mini-tts produces private narration from finalized Brief text.

Challenges

  • Preserving strict source grounding across generated cross-source claims
  • Extending a persisted recap contract without breaking older saved recaps
  • Making synthesis feel like a calm editorial Brief rather than AI theater
  • Verifying production behavior without copying private content into logs, screenshots, evaluations, or submission evidence

Accomplishments

  • Strict source-set validation rejects unknown citations.
  • Every cross-source synthesis claim requires at least two distinct sources.
  • The final live synthetic quality suite passed 9/9.
  • A deeper GPT-5.6 debrief judge matrix passed 9/9 across 27 runs, with zero critical failures and no failed checks.
  • Daily and Weekly GPT-5.6 live smokes passed with cleanup verification.
  • The production API and worker run the GPT-5.6 path.
  • A production-configured iOS Release build passed preservation-safe physical QA.
  • Accessibility coverage includes compact landscape, large Dynamic Type, reduced motion, and automated audits.

What we learned

The strongest use of GPT-5.6 was not adding more generated prose. It was creating a bounded decision contract that connects evidence, exposes tension, and ends in one action.

Codex made it practical to apply that standard across backend validation, native UI, evaluations, deployment, privacy review, and evidence capture within the event window.

What’s next

Next, I plan to add OpenClaw support, bringing agent-captured material into the same private, grounded learning workflow.

I also plan to use a small, consented TestFlight cohort to measure whether Resurface helps people return to saved knowledge and take meaningful action.

Built With

  • cloud-run
  • codex
  • gpt-4o-mini-tts
  • gpt-5.6
  • ios-share-extension
  • ocr
  • openai-responses-api
  • openai-structured-outputs
  • postgresql
  • speech-to-voice
  • supabase
  • swiftui
  • typescript
Share this project:

Updates