AI & Machine LearningFeatured

RFP Search

AI-aangedreven RFP-aggregator die elke nacht overheids- en non-profitmogelijkheden verzamelt.

Cloudflare WorkersReact RouterHonoWorkers AID1Turborepo

Het vinden van overheidsaanbestedingen betekende elke dag een dozijn verschillende websites controleren. Ik bouwde RFP Search om dat op te lossen. Het verzamelt elke nacht gegevens uit 11 bronnen, waaronder SAM.gov, Grants.gov en staatsinkoopportalen, en gebruikt vervolgens Llama 3.1 om gestructureerde gegevens te extraheren, mogelijkheden te categoriseren en samenvattingen te genereren. Gebouwd als een Cloudflare Workers monorepo met React Router, Hono en D1.

Het probleem

Iedereen die overheidscontracten, beurzen voor non-profits of universitaire RFP's zoekt, moet zeven of meer losse portalen controleren. Elk met zijn eigen zoekfunctie, eigen format en eigen hiaten. Het resultaat is uren handmatig werk en gemiste kansen.

De aanpak

Een nachtelijke scraper aggregeert zeven bronnen in één doorzoekbare index. Workers AI (Llama 3.1 8B) parseert, categoriseert en vat elke opportuniteit samen in één prompt om het neurongebruik laag te houden. Cloudflare D1 met FTS5 full-text search drijft de API aan. De web-UI draait op React Router v7 op Cloudflare Workers en praat via Service Bindings met een private Hono-API.

Opmerkelijke keuzes

  • Service Bindings tussen web en API. Geen CORS, geen publiek API-oppervlak, sub-milliseconde hop.
  • FTS5 met auto-sync triggers. Zoekresultaten verschijnen direct na elke scrape.
  • Eén AI-prompt per RFP voor parseren, categoriseren en samenvatten. Houdt het neurongebruik van Workers AI plat.
  • Gespreid cron (9:00, 9:15, 9:30 UTC) om onder de CPU-limieten per Worker te blijven.
  • Berekende status (open, bijna verlopen, gesloten) op querytijd, niet opgeslagen als state.

Status

Live en actief in ontwikkeling. Gedeployed op rfp.davidloor.com. Scraper draait elke nacht over zeven bronnen.

Want similar work for your team?

AI-native senior engineering for AI, cloud, and web. Open to consulting engagements and full-time roles.