Inspiration

One of our teammates' dads works around the steel industry, and he kept coming back to the same frustration: the information that decides whether steel is right for a job, the mill test certificate, is locked inside PDFs only experts can read, and nobody can easily tell if one has been edited or faked. There are documented cases of falsified certificates letting under-spec steel into real projects. Meanwhile, a small fabricator who doesn't already know which grade they need is basically shut out.

With this year's theme, Steel and Steam, we wanted to build something that makes steel easier to understand and its paperwork easier to trust.

What it does

MillProof connects steel buyers with the mills and service centers that have what they need. We don't sell steel. We help people find it, understand it, and trust it.

Buyers (no account needed)

  • Describe a project in plain English, like "handrail for a seaside boardwalk in Miami, 3 tons, $20,000 total."
  • Gemini interprets the request, and our rule engine recommends suitable grades with clear reasons. For that example: 316L, 2205 duplex, or A588 weathering steel.
  • Matching supplier lots appear on an interactive globe with delivered-cost estimates.
  • Compare lots side by side, learn about each grade in Know Your Steel, and request quotes.

Sellers (account required)

  • Upload a certificate as a PDF or photo. Gemini reads it.
  • Deterministic code checks the chemistry and strength against published grade limits, recomputes the carbon equivalent, flags duplicate heat numbers, and produces a review score.
  • The mill can register the certificate's fingerprint on Solana.

Anyone can upload a file on the Verify page:

Check Result
Original file, correct mill Mill-signed, unchanged
One number edited Flagged
Real certificate claimed under the wrong mill Flagged

How we built it

  • Next.js 16, React 19, and TypeScript, with a custom dark/light design system in Tailwind CSS v4
  • Google Gemini for understanding buyer requests and reading certificate documents, server-side only
  • A deterministic rule engine for grade matching, ranking (fit, trust, delivered cost), certificate QC, and freight estimates, built on a curated library of 10 steel grades with published chemistry and strength limits
  • Supabase for Postgres, file storage, and seller authentication
  • Solana devnet: each certificate's SHA-256 fingerprint is written via the Memo program and signed by the mill's wallet, then verified by searching that mill's on-chain history
  • Vitest with 240 tests, including deliberately messy, photo-style extraction data

Our core design rule: AI interprets, code decides. Gemini understands people and documents. Every pass/fail decision is deterministic code checked against published standards.

Challenges we ran into

  • Making AI trustworthy. We kept Gemini away from compliance decisions entirely. If Gemini fails or times out, the app falls back to rule-based guidance instead of breaking.
  • Messy real-world documents. Photos of certificates came back from the model with missing or text-formatted values, which crashed our checker. We built a normalizer that turns any extraction into a safe shape and leaves unreadable values blank instead of guessing.
  • Being honest about blockchain. Solana can't prove steel is good. It proves a document hasn't been edited since the mill signed it. We designed the feature and the UI wording around that distinction.
  • A legacy database. Our demo data failed to load against columns left over from an earlier prototype. We wrote a seed that adapts to whatever schema it finds, and tested it against a local replica of our database.
  • Learning git as a team of beginners, including our first merge conflicts, at 2 AM.

Accomplishments that we're proud of

  • A real end-to-end flow: plain-English request, then grade recommendation, then suppliers on a globe, then certificate check, then on-chain proof
  • Catching a one-character edit to a certificate, live, using a public blockchain
  • A polished, accessible interface with light and dark themes, built by beginners
  • 240 passing tests, and a clear line between what the AI does and what the code guarantees

What we learned

  • How steel is actually bought and certified, and what ASTM grade limits and carbon equivalents mean
  • How to use an LLM safely inside a system that needs guarantees
  • How hashing and blockchain signatures work, and what they can and can't prove
  • How to collaborate with git, branches, and pull requests under pressure

What's next for MillProof

  • Mills signing certificates at the source, plus tonnage tracking per heat number to catch one certificate being reused across too much steel
  • Real freight quotes and carrier integrations
  • Voice-guided sourcing with ElevenLabs
  • Durable seller publishing and verified business contacts, so we can pilot with real service centers

Built With

Share this project:

Updates

Submission history