Case studyCompetitive intelligencePrototype · 24h hackathonAI agents

Éclaireur

An autonomous competitive-intelligence AI agent — from a company name to a report of sourced alerts based on official data, with no analyst

Discuss a similar project
Live demo

The live site

Click the preview to open and try Éclaireur directly in your browser

Preview of the Éclaireur landing page
Ouvrir le site
Voir le site en ligne

eclaireur-app-production.up.railway.app

Réponse courte

Éclaireur is an autonomous competitive-intelligence AI agent built by Digit-AI during the Vibe Coding Arena 2026 hackathon (brief: 'AI Agents & Automation'). From a company name alone, it identifies the competitors to monitor itself, launches an agentic loop (plan → act → observe) bounded by strict guardrails and a hard timeout, monitors several axes (pricing, products, hiring, communications), scores threats and recommends an action — all sourced from official data (INSEE Sirene, France Travail, Wayback Machine). A deterministic static safety net guarantees the reliability of the demo even in the event of a network or LLM outage.

Context

Competitive intelligence, out of reach for SMBs

Without a dedicated analyst, an SMB leader learns of competitors' moves three weeks too late — when the deal is already lost

B2B SMB leaders have neither the time nor the resources of a business-intelligence team. Competitive moves — a price cut, a new product, a hiring wave — reach them too late and in unverified fragments. Éclaireur was built to give these SMBs a genuinely autonomous monitoring capability, sourced from official data, without turning the leader into an analyst.

!

No dedicated analyst

The SMB cannot afford a monitoring team; the topic comes after day-to-day operations.

!

Late, fragmented information

Competitive signals arrive by chance, weeks after the fact, with no sorting or prioritization.

!

Unverifiable sources

Hard to tell a rumor from official data, so hard to decide with confidence.

!

Saturated generic tools

Generalist AI agents promise everything and deliver nothing actionable for a specific industry.

Functional scope

B2B SMB leaders in industries intensive in digital signals (consulting firms, agencies, B2B SaaS). Covered processes: entering an objective, competitor discovery, multi-axis monitoring, threat scoring, recommended action, delivery of a sourced report.

Key constraints

Built in 24h (hackathon) · 100% Railway deployment as a single service · Official data on free-tier, with no scraping · Demo reliability as a priority (deterministic static safety net).

Objectives

What Éclaireur solves

Three areas to make competitive intelligence autonomous, reliable and actionable

End-to-end autonomy

From a company name to the final report, the agent plans, searches, observes and decides on its own, with no manual intervention at each step.

KPI: 0 clicks during the runKPI: auto competitor discovery

Reliability under constraint

Tight guardrails (≤ 7 iterations), hard timeout and static safety net: the demo holds even when a live call fails or slows down.

KPI: 90 s guaranteedKPI: 3 fallback triggers

Actionable, sourced output

Alerts ranked by salience, a recommended action and displayed provenance (official / web) to decide with confidence.

KPI: 100% sourced alertsKPI: readable in < 2 min
Features

What Éclaireur enables

From competitor discovery to a sourced report, an agent that does the monitoring work end to end

🧭

Autonomous competitor discovery

From the company name alone, the agent proposes the list of competitors to monitor, subject to validation. Fallback: a pre-computed cached list.

🔁

Reliable agentic loop

A plan → act → observe cycle with a single search tool at its core, bounded by strict guardrails (≤ 7 iterations, target 3) and a hard per-iteration and global timeout.

📡

Multi-axis monitoring

Monitoring of competitors' pricing, products, hiring and communications, with a recommended action — the "so what", not just a data dump.

🎯

Threat scoring

A local heuristic that ranks alerts by salience and highlights red signals, so you get to the essentials in under two minutes.

🏛️

Official-data enrichment

Cross-referencing with INSEE Sirene, France Travail (job postings) and the Internet Archive (Wayback) — official data only, no scraping.

🛡️

Static safety net & observability

A deterministic pre-computed report guaranteeing the first 90 seconds, and a real-time timeline (run_steps table polled ~1.5 s) showing the agent at work.

Stack

Tech stack

A Python/React single service deployed on Railway, optimized for the reliability of an agentic loop under real-world conditions

Backend & agent

Python 3.13FastAPI 0.136UvicornSQLAlchemy 2

Frontend

React 19.2Vite 8TypeScriptTailwind CSS

Artificial intelligence

Claude Haiku 4.5 (Anthropic)Tavily / Serper search

Official data

INSEE SireneFrance TravailWayback Machine

Database

PostgreSQL 18runs / run_steps tables

Infrastructure

Railway (single service)Multi-stage DockerGitHub

Distinctive pattern — An agentic loop with a safety net: Éclaireur's value is not a single LLM call but a plan → act → observe loop bounded by guardrails (≤ 7 iterations), a hard timeout and a 100% deterministic static safety net. Every external integration (search, official data) is wrapped behind an explicit stop condition and a fallback — guaranteeing an autonomous demo that never breaks, even offline.

Architecture

Architecture diagrams

A single Railway service: a React SPA served by a FastAPI API that orchestrates the agentic loop, the integrations and persistence

User

B2B SMB leader

Enters a monitoring objective

Web interface

React 19 + Vite 8 SPA

Objective → report, steps visible live

Service (single Railway service)

FastAPI 0.136 API

Serves the built SPA + /run, /runs/:id endpoints

Agentic core

plan → act → observe loop

Guardrails ≤ 7 iterations + hard timeout

100% static safety net

Deterministic fallback_run.json

Integrations (free-tier)

Claude Haiku 4.5

Tavily / Serper search

INSEE Sirene

France Travail

Wayback Machine

Persistence

PostgreSQL 18

runs · run_steps tables (polling ~1.5 s)

Results

What the prototype demonstrates

Indicators from the prototype presented at the Vibe Coding Arena 2026 hackathon

≤ 7
Iterations per run
Target 3 · guardrails + hard timeout
90 s
Guaranteed demo
Static safety net with no network or LLM
3
Official sources
Sirene · France Travail · Wayback
100%
Sourced alerts
Official / web provenance shown
IndicatorClassic monitoringWith ÉclaireurGain
Identifying competitorsManual search, outdated listsAutonomous discovery → validationAutomated
Time to detect a moveSeveral weeks (often too late)On demand, in a single runNear real time
Reliability of the outputDepends on an analyst's availabilityAutonomous agent + safety netGraceful degradation
Information traceabilityScattered, unverifiable sourcesEvery alert sourced (official / web)100%
Cost of monitoringDedicated analyst or providerAgent on free-tier, with no analystReduced

Qualitative gains

🤖

Real autonomy

The agent receives an objective, plans, acts and reports back with no manual intervention at each step — a genuine agentic loop, not a scripted demo.

Trust through sources

Every alert shows its provenance (official / web badge). The leader can verify the information before deciding.

🧯

Demo robustness

Three triggers switch to the static safety net: no network or LLM outage can break the main flow.

🏢

SMB verticalization

Designed for B2B SMBs that are intensive in digital signals (consulting, agencies, SaaS) rather than for "every company" — anti-saturation.

🔒

Compliance by design

Official data on free-tier, no scraping that breaches terms of use, a systematic deterministic fallback on every integration.

📉

Controlled cost & latency

Guardrails of ≤ 7 iterations and timeouts bound the number of LLM calls, keeping cost and latency under control.

Let's start by talking it through

No aggressive sales pitch. No 12-step form. Just 30 minutes to understand your situation and see if we can help. First conversation free, no strings attached.