LIA (Law Impact Analysis) is a web platform that quantifies the impact of new legislation on public companies, from an entire sector down to a specific firm.
Ingests Data: It processes company 10-K filings and new laws, breaking them down into structured JSON profiles.
Sector-Level Analysis: It first provides a high-level "fast screen" by comparing a new law against aggregated sector-level summaries to identify which industries are most exposed.
Company-Specific Drill-Down: Users can then perform a detailed comparison, pitting the law directly against the specific risk profiles of companies within those affected sectors.
Visualizes Impact: The platform (using Chart.js) displays a clear "Impact Score" and visualizes the specific connections, turning dense legal and financial text into an actionable insight.
How we built it We built LIA on a serverless AWS architecture, which was our team's biggest learning curve.
Data Ingestion & Storage: We used AWS S3 as the initial repository for all raw 10-K documents and legal texts.
Processing & API: AWS Lambda functions, exposed via API Gateway, are the core of our backend. They handle all the data processing and serve our API endpoints.
Database: We used Amazon DynamoDB as our NoSQL database to store all the structured JSON outputs from our analysis.
Frontend: The main application is a clean HTML/JS/CSS site using Chart.js to visualize the JSON data coming from our backend.
Our data processing pipeline was the most critical piece:
Phase 1: Company 10K → JSON profiles: A Lambda function fetches a 10-K from S3, uses an LLM to parse it, extracts key risks, and stores a structured JSON profile in DynamoDB.
Phase 1.5: Sector Aggregation: We run a process to aggregate these individual company profiles into sector-level risk summaries, which are also stored in DynamoDB.
Phase 2: Law processing → JSON analysis: When a new law is uploaded, a separate Lambda function processes it with an LLM to create a JSON analysis of its key mandates and themes, saving the output to DynamoDB.
Phase 3: Impact Analysis: The frontend calls our API. The backend first performs a "fast screen" (Phase 3a) by comparing the Law JSON against the Sector JSONs. It then allows a "deep dive" (Phase 3b) by comparing the Law JSON against specific Company JSONs in the affected sectors.
Challenges we ran into Our single biggest difficulty was adapting to and educating ourselves on the AWS ecosystem. Getting the serverless architecture right—specifically, configuring S3, API Gateway, Lambda, and DynamoDB to talk to each other securely and efficiently—was a steep learning curve.
After mastering the infrastructure, our next challenge was brainstorming the AI logic. We had to figure out how to reliably prompt LLMs to extract consistent, structured JSON from messy, unstructured 10-K filings and legal texts.
Finally, we embraced a new development workflow. We actively coded with the help of LLMs to maximize our prototyping speed. This allowed us to iterate on our complex data pipeline multiple times a day instead of once a week, which was essential for finding the most effective approach.
Log in or sign up for Devpost to join the conversation.