Inspiration A creator may give a brand permission to use their content for a specific time or campaign. When that period ends, an ad might still be running. Checking every agreement and post by hand takes time, and it can be hard to work out what fee the agreement allows.

LicenseLeak AI was created to make that review easier and keep the agreement, usage evidence, fee estimate, and human decision together. What it does The app compares the agreement dates with recorded usage evidence. It can flag possible out-of-period use, show the clause and evidence behind the result, and estimate a potential contract fee.

For example, one prepared record has a license that runs through October 1 and evidence dated October 4. At the sample rate of $10 per ad per day, the app calculates a potential fee of $30 for three days. Another record is within its license period, while a third has missing dates and is sent for human review without an actionable fee.

The result is a review aid, not a legal finding. A person must approve the fee before the app can request an invoice. How it was built The frontend is built with Next.js. A Spring Boot backend handles the cases, analysis, fee calculation, decisions, invoices, and audit history. PostgreSQL stores the records, and Flyway manages database changes. The app is deployed on Render with separate frontend, backend, and database services.

PayPal Invoicing Sandbox is integrated for invoice creation and delivery after approval. PayPal webhooks let the backend receive invoice status events and avoid processing duplicate events. Sandbox payments are for testing and do not move real money. Challenges and what was learned A key challenge was handling uncertain or missing dates safely. If the agreement end date or evidence date is missing, the app asks for human review instead of guessing a fee. Another challenge was keeping the payment flow under human control: the backend checks the saved decision and quote before requesting an invoice.

Building the webhook flow also showed why payment notifications need verification and duplicate handling. The project uses environment settings for credentials so secrets stay out of the frontend and source code. Current scope and next steps This demo uses four prepared records with dates already entered. It does not yet accept an uploaded ad or automatically find the latest ad. The current analysis provider is a predictable mock for the demo; Gemini-powered document and evidence analysis is a future step. The next goal is to add ad or link intake and extract usage dates for review.

Built With

Share this project:

Updates

Submission history