Inspiration

The internet reacts before it understands. A single post — one joke, one caption, one poorly worded line — can cost a creator years of built trust, often for something that was never meant to harm anyone. At the same time, real harm does get published every day: body shaming, hate speech, racism, casual anti-feminism, harmful stereotypes — content that genuinely shouldn't reach an audience.

We wanted to build something that draws that line clearly instead of leaving creators to guess. Not a censorship tool, and not a tool that lets anything slide — a way to make the internet a place for free expression and accountability, where creators can tell the difference between an idea that's edgy and an idea that's actually harmful, before they hit publish.

What it does

Content.Save is an AI-powered pre-publish review platform for creators. Upload a caption, script, image, video, or audio file, and it:

  • Flags offensive and harmful content — scanning for body shaming, hate speech, racism, anti-feminist language, harmful stereotypes, and brand-safety risks, with a 0–100 risk score and the exact line or moment flagged
  • Evaluates virality potential — scoring your first 0–3 second hook, predicting viewer retention, and forecasting demographic/country-level reach
  • Rewrites, not just flags — generates three distinct script variations (Viral Safe, Punchy Edgy, Corporate Clean) so creators can choose their own risk tolerance while keeping their actual message intact
  • Syncs risk and retention data to the timeline — an interactive media player shows exactly when in a video/audio a flagged moment or a peak-viral moment occurs, not just that one exists somewhere

The goal is to help creators tell right from wrong in their own content honestly — not to sanitize creativity, but to stop genuinely good ideas from being lost to bad wording, while still catching what shouldn't be posted at all.

How we built it

AI & Intelligence

  • GPT-4o mini handles fast, structured multimodal content scanning — brand-safety risk scoring (0–100), virality analytics, and 0–3s hook evaluation
  • GPT-4o powers the script-rewriting engine (/api/rewrite-script), generating the three brand-safe/viral variations
  • All model responses use Structured JSON Mode (response_format: { type: "json_object" }) to guarantee strictly validated schemas for timestamps, risk severities, retention waveforms, and demographic reach — no fragile text parsing
  • A custom API key modal (ApiKeyModal.tsx) lets users bring their own OpenAI key, stored client-side in localStorage
  • A built-in fallback heuristic engine runs high-precision analytics even without an API key, so the product degrades gracefully instead of breaking

Core framework

  • Next.js 16 (App Router, Server + Client Components), React 19, TypeScript with strict interfaces (AnalysisResult, FlaggedAlert, RetentionPoint, CountryReach, etc.)

Design system

  • A custom Neo-Brutalist visual identity built on Tailwind CSS v4 — solid black borders, offset drop-shadow boxes (4px 4px 0px #000 up to 12px 12px 0px #D2FE00), outlined text, and a bold color palette (Neon Lime, A4 Orange, Lavender, Mint) on a warm radial mesh background. clsx and tailwind-merge keep the dynamic class logic clean.

Data visualization & media

  • Recharts powers the retention waveform heatmap and the country/demographic reach forecasts
  • A synchronized media player ties HTML5 video/audio playback directly to waveform timestamps, with an interactive scrubber showing flag markers (risk) and flame markers (peak viral moments) right on the timeline

Polish

  • Lucide React for iconography, Framer Motion for micro-animations, a CSS marquee ticker for banners — built and compiled with Next.js Turbopack.

Challenges we ran into

The hardest problem was preserving intent while removing harm — a rewrite that strips risky language but also strips the creator's actual voice and meaning defeats the purpose. We had to tune the rewrite engine to distinguish how something was said from what it meant, rather than flattening everything into safe, generic phrasing.

The second major challenge was coverage — offensive content doesn't fit one category. Body shaming, hate speech, racism, and anti-feminist language all show up differently in tone, phrasing, and context, so a single flat classifier wasn't enough. We had to build risk scoring that could reason about category and severity together, not just detect "offensive vs. not."

Accomplishments that we're proud of

Content.Save successfully flags across a genuinely broad range of harm categories — body shaming, anti-feminism, hate speech, and racism among them — while still preserving a creator's original message and comedic or creative intent in the rewrite stage. We're proud that the tool doesn't force a binary "post or don't post" choice; it gives creators a real path to publish responsibly without losing what made their content worth posting in the first place.

What we learned

Building this pushed us to think hard about where the line between "edgy" and "harmful" actually sits, and how much that line depends on context, not just word choice. We also learned a lot about structuring multi-step AI pipelines reliably — using Structured JSON Mode end-to-end was the difference between a demo that's fragile and one that holds up under real testing across many different content types.

What's next for Content.Save

The long-term vision is an end-to-end system — not just flagging and rewriting, but closing the loop all the way to publishing: creators review flags, apply a rewrite, and push directly to their platform of choice from inside Content.Save, with automation handling the repetitive parts of staying safe online.

Built With

Share this project:

Updates