// case study

Sentiment Spark

An AI sentiment-analysis tool for pasted text or any web-page URL - scoring, confidence, sentence-level breakdown, keywords, and a summary, in one pass.

Not yet deployedReact · TypeScriptSupabase Edge FunctionsFirecrawl
Sentiment Spark screenshot

The project, quickly

// role

Solo developer - frontend and serverless backend in a single repository.

// frontend

Vite, React, TypeScript, Tailwind CSS, and shadcn/ui.

// backend

Two Supabase Edge Functions - one for scraping, one for analysis.

// status

Built and functional, not yet deployed to a public URL.

The problem

Reading sentiment out of a long review, article, or thread manually is slow, and most sentiment tools only take pasted text - if the thing you care about lives at a URL, you have to copy it out yourself first.

Sentiment Spark takes either: paste text directly, or hand it a URL and let it scrape the content itself. Either way, it comes back with more than just "positive" or "negative" - a confidence score, a sentence-level breakdown, extracted keywords, and a short summary.

How it works

// scraping

URL scraping

A scrape-url Supabase Edge Function calls Firecrawl to pull the main content from a page - YouTube, Reddit, blogs, and news are all supported.

// analysis

AI sentiment analysis

The extracted or pasted text is sent to an analyze-sentiment Edge Function, which calls an AI gateway and returns a structured JSON result.

// breakdown

Sentence-level detail

Beyond a single score, the result breaks sentiment down sentence by sentence, alongside extracted keywords and insights.

// display

Sentiment gauge & summary

The UI renders a sentiment gauge plus a concise written summary, so the result is legible at a glance and in detail.

Tech stack

Vite
React
TypeScript
Tailwind CSS
shadcn/ui
Supabase
Firecrawl
TanStack Query
Framer Motion
Recharts

Where it stands

The core loop works end to end - scrape or paste, analyze, display - but it's sitting behind local environment variables rather than a public deployment right now. Getting it live just means wiring up the Supabase secrets and API keys in a hosted environment rather than a local .env file.

© 2026 Shreesh Dwivedidesigned & built with curiosity.

Contact

My local time: loading…

Email

Always happy to help.

Compose

Stay in touch

I'm most responsive on LinkedIn.