Inspiration

The problem statement hit differently: "This is not a contest. This is a public scoreboard."

Most marketing competitions ask you to write a strategy and present it to a panel. This one asked something harder — can your idea actually make real people on the real internet stop, react, and care?

That single line — "If it's good, people will stop" — became the foundation of everything I built.

I wanted to create a platform that doesn't just host ideas, but actively helps creators test, sharpen, and amplify them before putting them out into the world.


What It Does

ViralForge is a live public scoreboard for digital marketing ideas. Here's the full experience:

  • Create — A 3-step guided campaign builder with live preview, color themes, platform targeting, and tag system
  • AI Hook Analyzer — Paste your viral hook and get an instant AI score out of 100, stop-rate estimate, strengths, weaknesses, and a rewritten stronger version powered by Claude AI
  • Post & Share — One-click share to Twitter, WhatsApp, LinkedIn, Instagram, and Reddit. Auto-generates a beautiful 1080×1080 visual share card ready to download
  • Vote — Real-time voting with per-user deduplication and particle burst animations
  • Leaderboard — Live podium + ranked table with Viral Velocity scores (votes per hour, not just total votes)
  • Hot Right Now — Campaigns ranked by momentum in the last 60 minutes — a new idea can outrank an old one
  • Campaign Battle Mode — Head-to-head voting between two campaigns. Which concept makes you stop?
  • Scroll Stopper Simulator — A fake Instagram/TikTok feed that scrolls automatically. Your campaign card appears mid-feed and a Stop Rate % is calculated in real time
  • AI Insights Panel — Pick any campaign and get: Campaign DNA Radar Chart (Emotion, Clarity, Shareability, Originality, Boldness), Viral Prediction Timeline (7-day growth curves), "Why It Works" AI analysis (marketing psychology breakdown by Claude), and an India Attention Heatmap with animated pulsing city dots
  • Live Activity Ticker — A real-time scrolling feed at the bottom of every page showing live votes, shares, and campaign activity

How I Built It

Built entirely with vanilla HTML, CSS, and JavaScript — no frameworks, no build tools, no backend.

  • Frontend: Pure HTML5, CSS3 with CSS custom properties, vanilla JS ES6+
  • Animations: Custom particle system (HTML5 Canvas), IntersectionObserver scroll animations, requestAnimationFrame ticker
  • Charts: Hand-drawn on HTML5 Canvas — Radar chart, Line chart, SVG India map
  • AI: Claude API (claude-sonnet-4) for Hook Strength Analysis and "Why It Works" campaign breakdowns
  • Share Cards: Generated on HTML5 Canvas at 1080×1080px and auto-downloaded
  • Storage: localStorage for auth, votes, and user campaigns

Challenges I Faced

  • Template literal escaping — Building large dynamic HTML strings in JS led to subtle ${} bugs that broke entire sections silently. Required a full audit of every rendered element.
  • Timing race conditions — The velocity list and activity feed were rendering before campaign data was ready. Fixed by wiring all initializations directly into finishLoad() instead of delayed timeouts.
  • Canvas chart accuracy — Drawing the radar chart and timeline graph from scratch without a library required careful trigonometry and coordinate math.
  • AI response parsing — Claude's responses needed consistent JSON parsing with graceful fallbacks for when the format drifted.

What I Learned

  • The problem statement is the product spec. Every feature I built maps to a specific line: "make people stop" → Scroll Simulator. "Put it in front of people" → Share Card Generator. "Votes decide success" → Viral Velocity algorithm.
  • Real-time feedback loops (AI hook analyzer, live preview, DNA radar) make creators better before they publish — not after.
  • A scoreboard is only exciting if it feels alive. The ticker, velocity scores, and animated leaderboard make the difference between a list and a living platform.

Built With

Share this project:

Updates

Submission history