# I Built an RFP Compliance Checker in One Session — Here's the Exact Stack

> Source: <https://dev.to/vystartasv/i-built-an-rfp-compliance-checker-in-one-session-heres-the-exact-stack-3kbe>
> Published: 2026-07-10 22:19:42+00:00

**The scene:** Friday evening. You're on page 147 of a 200-page procurement spec. Clause 17.3 says "mandatory: Cyber Essentials Plus certification." Your draft response says "Cyber Essentials certified."

Those two words — "Plus" and nothing — are the difference between a compliant bid and an auto-disqualification.

I've been there. So I built a tool that catches it before you hit submit.

Two text boxes. One API call. One table.

Paste the specification. Paste your draft. Click analyze. The tool returns a compliance matrix showing exactly what's covered, what's partial, and what's missing — categorised by requirement, with suggestions for each gap.

No accounts. No database. No data stored. Open the page, use it, close it.

**Inference:** Groq, free tier. Running llama-3.3-70b at no cost. ~30 analyses per day included. If you burn through that, there's a BYOK field for your own API key (any OpenAI-compatible provider).

**Backend:** One Cloudflare Worker. 180 lines of JavaScript. Receives text, sends it to Groq, returns structured JSON. Deployment is `npx wrangler deploy`

.

**Frontend:** One HTML file. Vanilla JavaScript. Dark and light themes. Side-by-side text areas on desktop, stacked on mobile.

**Domain:** Cloudflare DNS, proxied CNAME to the Worker. Routes by path so new tools don't need new infrastructure.

Ongoing cost per month: **$0.**

The hardest part wasn't the code. It was the prompt.

Getting an LLM to return consistently structured JSON across different procurement formats — PDFs pasted as plain text, multi-column tender tables, scanned sections — took more iterations than the entire deployment pipeline.

The trick was three things working together:

`response_format: { type: "json_object" }`

on the Groq API[https://tools.workswithagents.com/rfp](https://tools.workswithagents.com/rfp)

Click "Load Sample" to see it work with a real IT managed services tender. The analysis takes about 15 seconds.

For the visual walkthrough:

Every tool in this series will be:

Next in the series: a plain-English grader for procurement responses. Because if the evaluator can't understand your bid, you've already lost.
