Surface

Surface turns business state into safe customer-facing action.

Small service businesses already maintain much of the information customers need: services, prices, policies, contact details, and operating notes. The problem is that this information is often fragmented across documents and spreadsheets, changes over time, and sometimes contradicts itself.

A normal AI generator can make something polished from that information. But what happens when one source says a service costs $150 and another says $180? What if an internal note contains a private phone number? What if a document contains an instruction telling the model to ignore its rules?

That is the problem Surface is designed around.

Inspiration

We started with a simple question:

How can AI turn the information a small business already maintains into something customers can use, without giving the model uncontrolled authority over what becomes public?

Surface began as an exploration of AI-generated customer pages. During development, the more important engineering problem became clear: generation is easy; governing changing business truth is hard.

That led us away from building another website generator and toward building a governed state-to-surface compiler.

The durable object in Surface is not HTML. It is the chain:

source → fact → provenance → owner decision → compiled interface → published version → governed change → rollback

What Surface does

Surface treats every imported source as untrusted evidence, not as instructions.

For the XPRIZE MVP we built two fictional small-business case studies:

  • BrightNest Cleaning, optimized for quote requests
  • Northline Portrait Studio, optimized for customer inquiries

Both are explicitly labelled:

Synthetic demo — fictional business and data

They are engineering fixtures, not customers.

In BrightNest, one source says a Deep Clean starts at $150 while another says $180. The cancellation policy also conflicts: 24 hours vs. 48 hours.

The source additionally contains private information and a prompt-injection attempt.

Surface uses Gemini to extract candidate facts with provenance, detects the conflicts, keeps private data out of the public surface, and asks the owner to decide which consequential facts should become authoritative.

The model does not silently choose what the business charges.

How we built it

Surface runs as a production application on Google Cloud Run, with Firestore as the authoritative store and Gemini through Vertex AI for live AI operations.

The frontend is built with React and Vite, with an Express API handling authoritative operations.

Our AI workflow has several stages:

1. Extract

Gemini receives bounded source content as untrusted data and extracts structured candidate facts with provenance.

2. Review truth

Conflicting or consequential facts are surfaced to the owner.

The owner controls what becomes verified public business state.

3. Compile

Gemini converts the verified state into an allowlisted SurfaceSpec.

The model does not send arbitrary HTML or JavaScript into production. A trusted React renderer maps approved component types into the customer experience.

4. Publish

Publishing is a separate governed action.

Gemini's publicationAuthority is always false.

In production, Surface does not consider a publish successful until the immutable version is committed to Firestore.

The published customer page can then render without making another Gemini call.

5. Govern change

Businesses do not stay static.

Our BrightNest fixture later changes the authoritative Deep Clean price from $180 to $210.

Gemini identifies what public state would be affected, but a deterministic policy classifies a price change as high consequence.

The resulting ChangeImpact has:

  • mayMaterializeDraft = false
  • mayPublish = false
  • owner truth verification required

For lower-risk changes, such as customer feedback suggesting that verified pricing should appear earlier on a page, AI may prepare a new draft — but it still cannot publish it.

This separation between reasoning, consequence, authority, and publication became one of the central ideas in Surface.

What we learned

The biggest lesson was that useful AI autonomy is not the same as unlimited AI autonomy.

For consequential workflows, we found it useful to explicitly separate three roles:

Gemini reasons.

It interprets sources, identifies semantic conflicts, compiles interfaces, and analyzes changes.

Deterministic policy constrains.

It validates schemas, prevents unsupported public claims, classifies consequential changes, and enforces privacy and authority boundaries.

Humans authorize.

The owner resolves important business truth and controls consequential publication.

This creates a system where AI can do meaningful operational work without silently acquiring authority simply because it generated an output.

Challenges

Prompt injection

Business documents cannot automatically be trusted just because the owner supplied them.

Our synthetic fixture deliberately contains an instruction attempting to override the AI. Surface treats it as source data rather than system authority and prevents it from influencing publication.

Conflicting truth

Different business sources frequently represent different versions of reality.

Instead of asking Gemini to guess, Surface represents conflict explicitly and requires human resolution for consequential facts.

Model output safety

Rather than allowing Gemini to generate arbitrary production code, the model returns structured output validated against a Zod schema and an allowlisted component system.

Persistence and reversibility

A generated draft is not enough for a consequential workflow.

Published versions are persisted in Firestore, and Surface supports immutable snapshots and rollback.

Avoiding fake metrics

Because this is an early-stage project, we deliberately do not manufacture traffic, conversion rates, testimonials, or customer claims.

If something is synthetic, Surface says so.

Engineering validation

The current release includes:

  • real Gemini extraction through Vertex AI
  • real Gemini compilation through Vertex AI
  • provenance-aware business facts
  • conflict detection
  • privacy handling
  • prompt-injection containment
  • allowlisted interface compilation
  • governed ChangeImpact decisions
  • immutable publication
  • rollback
  • tenant-isolation tests
  • SurfaceBench v2 and v3
  • Vitest
  • Playwright smoke tests
  • security and secret scanning

Our production acceptance run recorded real Gemini ModelRuns with schema and policy validation and no fallback for the demonstrated extract and compile operations.

Business impact

Surface is submitted in Small Business Services because that is the first application we chose to demonstrate.

The broader hypothesis is that small businesses should not have to manually rebuild and police every customer-facing interface whenever their underlying business information changes.

A governed compiler could let a business maintain its source state once, while AI helps turn that state into different customer actions — quote requests, consultations, inquiries, and future interfaces — without losing provenance or control.

Current status

Surface is an engineering-validated MVP, not yet a commercially validated business.

Customers: 0
Revenue: $0
Testimonials: 0
Synthetic SMB fixtures: 2

Direct Google Drive / Docs / Sheets connection and production Google Sign-In are not part of this contest build. The current demonstrations use explicitly synthetic source packets so the full governance workflow is reproducible without exposing real customer or business data.

What is real is the production infrastructure and AI workflow:

Google Cloud Run + Firestore + Gemini through Vertex AI + governed publication and change control.

Surface is our attempt to answer a simple question:

What does it look like when AI can operate a business workflow without automatically owning the consequences?

Built With

Share this project:

Updates