NativeProof

Why we built it

Imagine you're launching a coffee brand in Japan. Your campaign works well in your home market, so you translate it, adjust a few visuals, and prepare to launch.

But how do you know whether you've actually understood the people you're trying to reach?

A slogan that feels clever in one culture might feel awkward in another. A reference that connects with one audience might mean nothing to someone elsewhere. And translating the words doesn't necessarily translate the idea behind them.

We wanted to explore whether AI could help teams investigate these differences before launching a campaign, rather than discovering them after spending time and money on it.

That's where NativeProof came from.

We started with a simple idea: bring cultural research, simulated audience conversations, campaign adaptation, and evidence together in one place. Not to predict exactly how people will react, but to help teams question their assumptions and explore alternatives before making real-world decisions.

What NativeProof does

NativeProof uses Qloo's cultural affinity data to help explore the relationship between a market, its interests, and its cultural context. We then built a set of workflows around that evidence.

Atlas : Market Discovery

Atlas helps investigate a market by resolving reference terms, retrieving related interests, and building an evidence-grounded market brief. If a term is ambiguous, it asks for human confirmation rather than silently guessing.

Audience : Campaign Rehearsal

You can put a campaign in front of synthetic audience participants and explore their reactions. The aim is to surface potential confusion, cultural risks, disagreements, and questions worth investigating before launch.

Audience Intelligence : Population Studies

Instead of examining just a few responses, you can generate synthetic populations grounded in available cultural evidence, conduct interviews, and organize the results by audience group and region.

Social Simulation

Participants can interact over multiple illustrative rounds. You can inspect possible changes in their expressed positions and trace those changes back to the posts they encountered.

Voice : Cultural Adaptation

Voice helps generate campaign variants for a target market and explains the changes it makes. It also checks protected and prohibited brand terms so that adaptation doesn't casually alter language that needs to remain unchanged.

Loop : Campaign Comparison

You can compare multiple campaign versions using the same evaluation criteria. NativeProof uses deterministic scoring rules to produce reproducible comparisons rather than leaving the entire recommendation to an open-ended model response.

Risk Radar

Risk Radar reviews campaign copy and supported image creatives for potential cultural and brand risks that deserve closer attention.

Cultural DNA and Market Expansion

These workflows help build evidence-linked cultural profiles, compare markets, and identify where the available evidence is too limited to support a strong conclusion.

Proof : Reports

Proof brings findings into versioned reports containing evidence references, model details, limitations, and reproducibility information.

The platform also includes interactive evidence graphs, campaign version history, project search, and resumable long-running population studies and social simulations.

The workflows are connected. You can investigate a market, rehearse a campaign, explore alternative messaging, compare versions, and bring the results together without treating every step as a separate experiment.

How we built it

We built NativeProof as a full-stack research workspace rather than a single chatbot wrapped around an API.

The frontend uses Next.js, React, TypeScript, Tailwind CSS, shadcn/ui, and TanStack Query. The backend uses Python, FastAPI, Pydantic, SQLAlchemy, Alembic, and LangGraph to coordinate multi-stage workflows. PostgreSQL handles application data, Supabase provides authentication and storage, and the application is deployed through Vercel and Render.

For cultural intelligence, we integrated Qloo's API to retrieve cultural affinity signals and related-entity evidence.

For AI workflows, we use Nebius Token Factory through an OpenAI-compatible API. A centralized model gateway routes tasks to different model tiers, validates structured outputs, records execution details, and handles bounded retries. An optional OpenRouter fallback can be configured when needed.

One of our most important design decisions was deciding which tasks should use AI and which shouldn't.

Models handle language generation, interpretation, and simulated conversations. Deterministic code handles tasks such as scoring, aggregation, brand-term checks, evidence validation, and report assembly. This separation makes the process easier to inspect and repeat.

We also built provenance into the system. Results distinguish between retrieved source data, calculations, model interpretations, synthetic outputs, and unverified hypotheses. Qloo evidence retains retrieval information so users can trace findings back to the records supporting them.

The difficult parts weren't just about making AI work

Grounding interpretations in evidence

A model can produce a convincing cultural explanation without having enough evidence to support it. We addressed this by connecting findings to stored evidence, labeling unverified hypotheses, and requiring ambiguous Qloo matches to be confirmed rather than treating them as facts.

Making synthetic audiences useful without pretending they're real

Synthetic participants can help explore possible reactions, but their responses aren't observations from actual consumers. We made that distinction visible throughout the product and avoided presenting simulated reaction rates as real market statistics.

Making campaign comparisons fair

If two campaigns are evaluated using different criteria, the resulting comparison can be misleading. NativeProof evaluates candidates against the same criteria and applies documented deterministic scoring rules.

Keeping long-running research from starting over

Population studies can involve hundreds of interviews. We implemented background execution, persisted progress, checkpoints, cancellation, and resume support so interrupted studies can continue without repeating completed batches unnecessarily.

Bringing everything into one working product

Connecting Qloo, model providers, authentication, evidence storage, interactive graphs, and reporting meant coordinating the frontend, API, database, and AI workflows. We wanted the result to be something people could actually explore and use, not just a promising demonstration of individual features.

What we're proud of

We brought together a complete workflow, from cultural market discovery to audience simulation, campaign adaptation, comparison, and reporting.

Along the way, we built population studies with interviews and follow-up questions, multi-round social simulations, interactive evidence graphs, provenance-aware reports, deterministic scoring, and resumable background workflows.

We also deployed the application publicly and recorded a production walkthrough using live Qloo data and live model workflows.

Most importantly, we made uncertainty part of the product. NativeProof is designed to show users what supports a finding, where an interpretation came from, and when there isn't enough evidence to draw a strong conclusion.

What we learned

We learned that producing an answer is often the easy part. Making that answer useful for a real decision is much harder.

Cultural affinity doesn't automatically mean purchase intent. Agreement among synthetic participants isn't independent confirmation. And a detailed AI-generated explanation isn't necessarily a verified fact.

These distinctions changed how we approached the product. We want NativeProof to help teams identify promising directions, uncover assumptions, and decide what deserves further investigation not give them false confidence in a campaign.

What's next

We want to validate NativeProof's simulations against feedback from real consumers, improve the consistency of synthetic audiences, expand supported markets, and make campaign comparisons more useful over time.

Our goal is to help teams make better-informed decisions about cultural relevance before launch while being honest about what the available evidence can and cannot tell them.

Try NativeProof

Live application:
https://nativeproof.vercel.app

Judging access

  • Email: [email protected]
  • Password: NativeProof-Judge-2026
  • Sample project: Trailhead Coffee · Japan launch

The judging account contains an existing project that reviewers can explore. Sign in with the credentials above to inspect the project and its available results.

Google sign-in and a separate anonymous demo option are also available on the sign-in page.

Please note: The anonymous demo uses clearly labeled fixture data and does not call external providers. To evaluate live Qloo and AI workflows, use the judging account and create or run a live project where provider access is available. The production API runs on Render's free tier, so its first request after an idle period may take around a minute to start.

Short demo for judges:
https://youtu.be/aT7I2XzV3Og

Full product walkthrough:
https://www.youtube.com/watch?v=z5Idb9nVNRc

Public source code:
https://github.com/vishavmehra/NativeProof

An important limitation

NativeProof is a decision-support tool, not a forecasting system. Its synthetic participants are AI personas, not real people. Qloo's cultural affinity data does not establish purchase intent, causality, or campaign success. Model interpretations and simulated reactions should be treated as exploratory findings and validated against real-world evidence before making consequential decisions.

Built With

  • ai-agents
  • api-integration
  • artificial-intelligence
  • cultural-intelligence
  • data-visualization
  • fastapi
  • generative-ai
  • large-language-models
  • machine-learning
  • multi-agent-systems
  • next.js
  • postgresql
  • python
  • qloo
  • react
  • simulation
  • supabase
  • synthetic-data
  • typescript
  • vercel
Share this project:

Updates

Submission history