Back to Blog

Building FairSharky

A journey from frustration to solution

July 1, 2025
6 min read

The Problem

How many times have you mindlessly clicked "I Agree" on a terms of service document? If you're like 99% of internet users, the answer is "countless times." But here's the thing that bothered me: what if we're agreeing to something we'd never actually consent to if we understood it?

That frustration became the seed for FairSharky – a Chrome extension that analyzes terms of conditions, privacy policies, and EULAs in real-time, giving users the power to understand what they're actually agreeing to.

The Lightbulb Moment

The idea hit me during yet another late-night signup flow. I was creating an account for some productivity app, and there it was – the familiar wall of legal text. This time, instead of mindlessly clicking through, I actually tried to read it.

45 minutes later, I was still parsing through dense legal jargon about data sharing, arbitration clauses, and termination policies. That's when it clicked: if someone like me (reasonably tech-savvy) was struggling with this, what about everyone else?

The solution seemed obvious: What if AI could read these documents for us and highlight the important stuff?

From Idea to MVP: The Technical Deep Dive

The Architecture Challenge

Building Fairsharky meant solving several complex problems:

  1. Real-time detection: How do we know when a user encounters terms they should care about?
  2. Content analysis: How do we extract and analyze legal documents reliably?
  3. User experience: How do we deliver insights without disrupting the user's flow?

Here's how we approached each:

Next.js

Frontend

Next.js + WXT

Kotlin

Backend

Kotlin + Spring Boot

Node.js

Crawling

Node.js + Nest.js

PostgreSQL

Database

PostgreSQL

OpenAI

AI

OpenAI GPT-4

AWS

Infrastructure

AWS + Cloudflare

The Chrome Extension Challenge

The extension needed to be smart but unobtrusive. We implemented a detection system that looks for specific keywords (privacy, terms, login, eula) and document patterns. When triggered, a red badge appears on the extension icon – like a friendly legal watchdog. I'm not sure whether or not this is the right way to do this, so I might change it later after testing with users.

The UX flow we settled on:

  1. User navigates to a new website
  2. Extension detects potential legal documents
  3. Red badge appears → User clicks → Popup shows analysis
  4. If no analysis exists yet, user can submit the URL for processing (with credit incentives!)

The AI Analysis Pipeline

This was where things got interesting. We couldn't just throw legal documents at GPT and hope for the best. We needed structured, reliable analysis.

Our analysis categories:

  • User Obligations – What are you promising to do?
  • Data Usage & Sharing – How is your data being used?
  • Termination & Refund Policies – How can this relationship end?
  • Dispute Resolution – What happens when things go wrong?
  • Red Flags – Potentially unfair or non-standard clauses

We also implemented two levels of analysis:

  • Simple Analysis: Quick category-based assessments for immediate viewing
  • Detailed Analysis: Deep dives with specific quotes and explanations for power users

Technical Challenges & Solutions

Challenge #1: Document Updates

Problem: Legal documents change frequently. How do we keep our analysis current?

Solution: We implemented a monthly re-crawling system that automatically checks for updates and flags changes for re-analysis. We might change this later to a more reliable and efficient system, but for now, this works well enough to ensure users always have the latest insights.

Challenge #2: URL Validation

Problem: Users might submit invalid or irrelevant URLs.

Solution: Multi-layer validation:

  1. Regex check → Is it a valid URL?
  2. Keyword check → Does it contain legal document indicators?
  3. Domain verification → Does the document belong to the claimed domain?
  4. AI verification → Does GPT confirm this is actually a legal document?

Challenge #3: Scale & Cost

Problem: GPT-4 analysis costs add up quickly with scale.

Solution: Smart caching strategy and a freemium model (3 free analyses per month, then paid credits).

The Road to Product Hunt

Our goal was ambitious: launch on Product Hunt and reach 100 users in Phase 1.

To get there, we focused on three key areas:

  1. Product Polish: The extension needed to feel native and professional
  2. Analysis Quality: Our AI needed to provide genuinely valuable insights
  3. User Experience: Every interaction needed to feel effortless

We're currently in the final stretch, with our API fully functional and the Chrome extension in testing. The anticipation is building!

What's Next: The Vision

Phase 2 is where things get really exciting:

  • Regulatory Compliance Checking: Automatic GDPR/CCPA compliance analysis
  • Multilingual Support: Starting with Korean, English, and Japanese
  • Industry-Specific Analysis: Tailored insights for different sectors
  • Community Features: User ratings and crowdsourced insights

But the bigger vision? Making legal transparency the default on the internet.

Imagine a world where:

  • Every website's legal practices are immediately transparent
  • Users can make informed decisions about their data and rights
  • Companies are incentivized to write clearer, fairer terms
  • Legal literacy becomes accessible to everyone

Lessons Learned (So Far)

  1. Start with the user problem, not the technology.

The Chrome extension approach came from understanding user behavior, not from wanting to build browser extensions.

  1. AI is powerful, but prompting is everything.

We went through dozens of prompt iterations to get reliable, structured output from GPT-4.

The Bigger Picture

There are still tons of challenges up ahead, but FairSharky really helped me motivate myself to build something that matters. I really want to thank my friends and all the other people who helped me build this.


Want to stay updated on our Product Hunt launch? Follow our journey at fairsharky.com and be among the first to experience truly transparent web browsing.

Back to Blog
Loading