Back to Projects

Formea AI Form Automation

Multi-Agent Chrome Extension for Intelligent Form Filling

Overview

Solo-built full-stack AI Chrome Extension: Plasmo MV3 frontend with React, Express.js + MongoDB backend, and LangChain multi-agent AI layer. 8 LLM providers, VBON Form Explorer for government portals, template system with dependency management, and Clerk Auth across all layers.

Key Features

  • Solo-built full-stack: Plasmo Chrome Extension + Express.js API + LangChain agent layer
  • Multi-agent system with 3 specialized agents and self-validation loops
  • 8 LLM providers with automatic structured output fallback
  • VBON Form Explorer for government form reverse-engineering
  • MongoDB persistence for templates, profiles, and form dependency graphs
  • Clerk Auth across Chrome Extension and backend API

Tech Stack

AI & Agents

LangChainZodNanoBrowserPuppeteer

Backend

Express.jsNode.jsMongoDBMongooseClerk Auth

Frontend

Plasmo MV3ReactHeroUIZustandFramer MotionTailwind CSS

LLM Providers

OpenAIAnthropicGoogleGroqDeepSeekOllama

Challenges & Solutions

Complex Government Forms (VBON)

Problem

Government forms (PrimeFaces/JSF) have 10K+ lines of HTML with repeated IDs, inline JavaScript handlers, and dynamic AJAX updates — traditional scraping approaches fail entirely.

Solution

Built VBON Form Explorer agent using stable hash-based IDs (XPath + role + label) that survive DOM changes, PrimeFaces AJAX completion detection, and deterministic DOM diffing to build field dependency graphs.

Agent Coordination & State Management

Problem

Three agents need shared browser context, real-time UI updates from background worker, and graceful error handling across agent boundaries.

Solution

Shared AgentContext with BrowserContext, EventManager for real-time UI updates, and generic BaseAgent<T extends ZodType> enforcing type-safe structured outputs per agent.

Models Without Structured Output Support

Problem

Not all LLM providers (DeepSeek Reasoner, Llama) support native JSON schema output — agents need consistent Zod-validated responses regardless of provider.

Solution

Automatic fallback pattern: detect provider capability, use native withStructuredOutput() when available, fall back to manual JSON extraction + Zod validation for unsupported models. Provider-agnostic agent code.

Key Achievements

Solo Dev
Full-stack AI Chrome Extension from scratch
3 Agents
Multi-agent system with self-validation
8 Providers
LangChain multi-LLM support
10K+ HTML
Government form automation via VBON Explorer