DEV Community

Neha Prasad
Neha Prasad

Posted on

CompliScore a free compliance health check for Indian startup founders.

Hermes Agent Challenge Submission: Build With Hermes Agent

What I Built
CompliScore - a free compliance health check for Indian startup founders.

Type any company name and get a score out of 100, a list of overdue filings (GSTR-3B, MCA annual returns, notices), a penalty estimate, and a plain-English action plan — in under a minute, no login required.

For this challenge, I rebuilt the AI layer around Hermes Agent. Instead of a single LLM prompt, a reasoning agent plans an investigation, calls deterministic compliance tools, and writes a prioritized report — with a collapsible Agent investigation panel so you can see every plan step and tool call.

Compliance is a natural fit for agentic work: a company with overdue GST needs a filing-calendar deep-dive; one with active notices needs triage; a clean profile needs a light touch. One prompt can't adapt to all three. An agent that picks tools based on what it finds produces tighter, grounded reports.

Note: CompliScore uses fictional demo data only — it does not connect to government portals.

Demo
Live app: https://hermes-scout.vercel.app
(Replace with your actual Vercel URL if it's different.)

Try these scans:

Mumbai Chai Co. — high risk (overdue GST, MCA, multiple notices)
Razorpay — clean profile, score 100
When Hermes is enabled, expand Agent investigation under the AI action plan to see the tool-call trace.

Code
Repository: https://github.com/nehaprasad-dev/hermes-scout

File Role
lib/agent/orchestrator.ts
Plan → tool-call → observe loop
lib/agent/tools.ts
Four compliance tools + validating dispatcher
lib/agent/hermes-client.ts
OpenAI-compatible Hermes client
components/agent-trace.tsx
Collapsible trace UI
My Tech Stack
Next.js 16 (App Router) + TypeScript
Tailwind CSS v4 + Framer Motion
Hermes Agent — OpenAI-compatible /chat/completions with function calling
Groq (llama-3.3-70b-versatile) — fallback when Hermes is unavailable
Vitest — 36 automated tests
Vercel — production deploy
How I Used Hermes Agent
Hermes is the primary reasoning engine when enabled. Every scan runs:

computeHealth() → Hermes agent loop → aiSummary + agentTrace
↓ on failure
Groq → static fallback
Planning: The agent decides which tools to call based on the company profile — not a fixed script.

Tool use: Four deterministic tools so scores are never hallucinated:

Tool Purpose
score_company
Score, risk level, pending tasks
estimate_penalty
GST / MCA / notice breakdown
filing_calendar
Statutory deadlines (90-day horizon)
classify_notices
Severity labels for pending notices
Multi-step reasoning: Hermes reads tool results and writes a founder report — summary, biggest risk, prioritized action plan, and filing calendar — in plain English.

Transparency: Each run returns an agentTrace (plan + tool calls) shown in a collapsible UI panel — no secrets or URLs exposed.

Reliability: Three-tier fallback (Hermes → Groq → static) so scans never break, even when the agent endpoint is down.

Hermes fit this project because it's self-hostable, tool-calling native, and runs over a standard OpenAI-compatible API — while CompliScore's scoring engine stays the source of truth in lib/scoring.ts.

Tags: #hermesagent #ai #nextjs #typescript #startup #opensource #showdev

Top comments (1)

Collapse
 
vijayshush profile image
Vijay

Love the focus on explainability with the investigation panel. Compliance feels like one of those domains where seeing the reasoning actually matters. Have you thought about supporting private company uploads (GST filings, notices, etc.) for a more personalized health check?