Inspiration

I kept thinking about compliance teams at banks and financial companies who spend their days manually checking websites for new regulations. One person I know spent three days tracking down a single FCA update that affected their mortgage policy. That felt like a problem worth solving. I wanted to build something that does that work automatically so compliance officers can focus on the decisions that actually need a human brain.

What it does

LexWatch watches four global regulatory bodies every cycle. When it finds something new, it reads it, decides how urgent it is, checks if any of your internal policies need updating, and creates a case that goes to the right team automatically.

In our live demo it found 10 regulatory updates, detected 23 policy conflicts across 6 internal policies, and created 9 cases routed to Legal, Risk, Compliance, Operations and Finance. All in under 30 seconds.

Every important decision still goes through a human. The CCO has to approve any policy change before it goes live. LexWatch does the heavy lifting, people make the final calls.

How we built it

I built four Python agents that work in sequence. The Scraper Agent pulls live RSS feeds from FCA, BIS, SEC and FATF. The Classifier Agent sends each update to Groq LLM to assess the impact level. The Policy Matcher cross references each update against six internal company policies and flags any gaps. The Case Manager creates the cases and routes them to the right teams.

The whole flow runs on UiPath Maestro BPMN on UiPath Automation Cloud. I used UiPath Agent Builder to wrap the Python agents and API Workflows to connect everything together.

I built this entirely using Claude Code which is part of UiPath for Coding Agents. Claude Code helped me write every agent, debug issues and think through the architecture from start to finish.

Challenges we ran into

Each regulatory body formats their data differently. Getting the Scraper Agent to handle all of them cleanly took a lot of work. Some RSS feeds had broken HTML inside the summaries which caused parsing errors.

The Policy Matcher was also tricky. Getting the LLM to give specific useful conflict analysis rather than vague generic responses required careful prompt engineering. I went through many versions before it started producing output that a real compliance officer would find useful.

Setting up UiPath Maestro BPMN for the first time on a tight deadline was challenging but the platform documentation and community resources made it manageable.

Accomplishments that we're proud of

LexWatch pulls live regulatory data and processes it end to end in less than 30 seconds. That includes scraping, classification, policy gap analysis, case creation and routing. All automated. All on UiPath Automation Cloud.

The BPMN flow is published and deployed as an active agentic process. The Orchestrator shows it running. This is not a prototype on a laptop. It is a working solution on the UiPath platform.

I also wrote 15 unit tests that all pass. Every agent is tested independently so the whole system is reliable.

What we learned

I learned how powerful it is to combine Python coded agents with a proper enterprise orchestration platform like UiPath Maestro. Writing agents in Python gives you flexibility. UiPath gives you governance, visibility and human approval gates. Together they produce something you can actually deploy in a real company.

I also learned that prompt engineering for structured outputs is a skill on its own. Getting an LLM to return clean JSON consistently across many different regulatory documents took iteration and patience.

What's next for LexWatch

The next step is adding more regulatory sources. Right now LexWatch monitors FCA, BIS, SEC and FATF. Adding the Central Bank of Nigeria, the Nigerian SEC and other African regulators would make it useful for companies operating across emerging markets.

I also want to connect it to a real document management system so the Policy Matcher works with actual uploaded policy documents instead of hardcoded samples.

Long term LexWatch should send automated draft policy updates to the right team, not just flag that an update is needed. The agent does the reading, the drafting, the routing and the human just approves.

Built With

  • 3.3
  • 70b
  • agent
  • api
  • automation
  • bpmn
  • builder
  • claude
  • cloud
  • code
  • feedparser
  • github
  • groq
  • llama
  • maestro
  • python
  • replit
  • uipath
Share this project:

Updates