Inspiration

Everyday disputes are often too small to justify professional help, yet confusing enough that people delay acting. Receipts, screenshots, and complaint details contain useful facts, but they rarely tell someone what to do next. ResolveAI turns scattered evidence into a concrete, user-controlled resolution workflow.

What it does

ResolveAI supports three focused scenarios:

  • damaged products and refund or replacement requests;
  • unexpected charges and subscription disputes;
  • customer complaints that a small business needs to resolve.

A user describes what happened and can optionally attach receipts, screenshots, photos, or PDFs. ResolveAI returns:

  • an evidence map separating supported facts from gaps;
  • important dates, uncertainties, and an evidence-readiness score;
  • prioritized next actions with progress tracking;
  • a recipient-email result that never invents an address;
  • one editable message the user reviews before taking action;
  • controlled message refinements and up to five recent browser-saved cases.

ResolveAI never contacts anyone, changes an account, or sends a message automatically. Raw uploaded files are not persisted by the application.

How we built it

ResolveAI is a Next.js 15 and React 19 application written in strict TypeScript. A server route validates form data, actual file signatures, request limits, and every provider response. Shared Zod schemas protect the full boundary between the API, provider adapters, UI, and browser persistence.

The NVIDIA NIM integration uses nvidia/nemotron-nano-12b-v2-vl. Text and text-based PDF cases use one structured inference. Image cases use a grounded two-pass flow: Nemotron first extracts visible evidence, then a second inference converts only that extraction into the validated case schema. Large images are optimized and, when necessary, passed through temporary NVIDIA NVCF assets that are deleted after inference.

The repository also includes Google Gemini and OpenAI provider adapters, plus a deterministic mock mode covering all three scenarios without requiring an API key. Provider credentials remain server-only, retries are disabled, and NVIDIA requests are limited to 40 RPM per server process.

The current release passes 103 offline tests covering schemas, routes, provider contracts, NVIDIA async polling and asset handling, file validation, persistence, scenarios, and UI behavior. It also passes strict TypeScript validation, zero-warning linting, and a production build.

How Codex and GPT-5.6 were used

The core product was developed in Codex during OpenAI Build Week, with GPT-5.6 used throughout implementation planning, architecture review, test design, debugging, security checks, provider migration, deployment preparation, and release validation.

Codex accelerated:

  • repository exploration and implementation across the full stack;
  • designing a single shared schema boundary;
  • building deterministic tests before live-provider testing;
  • diagnosing multimodal provider and structured-output failures;
  • validating responsive UI behavior;
  • preparing GitHub, Vercel, and Devpost release materials.

Important decisions made in this workflow included keeping all provider keys server-side, separating demo and AI-assisted modes with no silent fallback, validating real file signatures, treating uploaded content as untrusted evidence, generating IDs and timestamps in trusted server code, and using a two-pass vision flow so structured output remains grounded in visible evidence.

GPT-5.6 was the development model inside Codex. The application's runtime inference is independently configurable.

Challenges

The hardest challenge was making multimodal output dependable without turning the product into unrestricted chat. NVIDIA's vision endpoint and the application's strict schema have different strengths, so the final architecture separates visual extraction from structured case generation. Other challenges included keeping PDFs and large images usable within provider constraints, preventing fabricated recipient details, and preserving clear failure behavior under a 40 RPM quota.

Accomplishments

ResolveAI is a complete responsive product rather than a prompt demo. It provides three end-to-end workflows, multimodal evidence handling, defensive validation, deterministic demo data, controlled refinements, local case persistence, a public deployment, a testable repository, and 103 passing tests.

What we learned

The strongest AI workflow is often constrained rather than conversational. Focused scenarios, explicit desired outcomes, visible uncertainty, schema validation, and user review produce a more useful and trustworthy experience than an open-ended assistant.

We also learned that multimodal grounding and structured generation can be more reliable when treated as separate stages with a validated boundary between them.

What's next

Future work includes more resolution scenarios, a shared deployment-wide rate limiter, optional encrypted account sync, accessibility research with real users, exportable case packets, and further provider evaluations—while preserving the user's control over every external action.

Built With

  • codex
  • google-gemini
  • gpt-5.6
  • nemotron-nano-12b-vl
  • next.js
  • nvidia-nim
  • openai-api
  • react
  • tailwind-css
  • typescript
  • unpdf
  • vercel
  • vitest
  • zod
Share this project:

Updates