Compliance Tool

Compliance Lens

Timeline: 1 week
Status: Live
Stack: JavaScript, Claude API, Vercel

Small compliance teams can't afford Big 4 consultants for gap analysis.

Small-to-mid sized compliance teams need regulatory gap analysis but lack the resources to hire consultants or maintain dedicated policy review staff. The current workaround is manual, time-intensive review against regulatory requirements, or skipping it entirely until an exam finds issues.

What I prioritized, what I cut, and why

A one-week sprint means saying no to most ideas. Here's how I scoped:

Kept

Sample policy templates

Pre-built flawed policies (BSA/AML, FCPA) let users instantly see what the tool does. Two-track UX: try vs. explore.

Cut

Export Controls framework

Originally scoped as a third regulatory framework for v1. BSA/AML and FCPA cover the core domains without scope creep.

Kept

Carousel with priority ordering

Two color-coded cards at a time with Critical → Gaps → Met ordering. Most actionable items surface first.

Cut

Static example results

Original spec called for pre-analyzed cards. Simplified to sample templates that run through the actual engine. More authentic demo, less to maintain.

Kept

Professional PDF export

Compliance professionals need shareable reports for audit files. Referenced Workflow Insights for design consistency.

Cut

Multi-framework comparison

Remediation tracking and regulatory alerts marked as future enhancements to mention in interviews, not build for v1.

Upload a policy or use a sample, get findings ranked by severity.

Users either upload their own policy document or select from pre-built sample policies with intentional gaps. They choose a regulatory framework (BSA/AML or FCPA), click analyze, and receive findings categorized as Critical Issues, Gaps, or Requirements Met.

Results display in a carousel ordered by severity. Users can export the full analysis as a PDF for audit documentation or leadership review.

Technical and product insights

1

Structured output requires defensive parsing

Claude returns JSON wrapped in markdown code fences. A simple regex to strip the fences before JSON.parse() prevents runtime errors. Small fix, but the kind of edge case that breaks demos.

2

Targeted fixes beat wholesale rewrites

When the carousel broke, I resisted the urge to rebuild it. Targeted CSS adjustments (slide width, container overflow, transform calculations) got to a working state faster than starting over.

3

Build tools you'd actually use

This project clarified the difference between "demo for portfolio" and "tool with genuine utility." The lobbying intelligence tools emerged from asking what I'd want to use myself, not what would look impressive.

What's next

If I continued development, these are the natural extensions:

Multi-framework comparison: Analyze one policy against multiple regulatory frameworks simultaneously (BSA/AML + FCPA + state-specific requirements).

Compliance scoring: Quantitative risk assessment that outputs a numeric score, making it easier for executives to track and benchmark over time.

Agentic regulatory monitoring: An embedded agent that tracks Federal Register changes and flags when new rules affect existing policies.