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 (0)