🎃 News Necromancer: Transform Ordinary News into Supernatural Horror

Inspiration

I was inspired by the Kiroween theme and the idea of combining two seemingly incompatible concepts: mundane news feeds and spine-chilling horror storytelling. The result is a unique, entertaining application that demonstrates how AI can be creatively applied to reimagine everyday content.

What We Built

News Necromancer transforms RSS feeds into supernatural horror stories. Instead of reading boring news headlines, users now experience their daily news as part of an unsettling, atmospheric narrative. The app combines AI-powered text transformation with customizable horror preferences and AI-generated voice narration.

Key Features:

  • Horror Transformation: Convert ordinary RSS articles into terrifying tales using advanced AI
  • 5 Horror Genres: Gothic, Cosmic, Psychological, Folk, and Supernatural themes
  • AI Voice Narration: Generate spooky audio with 5 distinct horror voices
  • Intensity Control: Adjust horror level from "Gentle Whisper" to "Absolute Terror" (1-5 scale)
  • Content Filters: Filter out specific horror themes (violence, gore, jump scares, etc.)
  • Lightning-Fast Processing: Handle 100+ RSS feeds per minute with concurrent fetching
  • Persistent Storage: Save preferences and feeds locally with import/export functionality
  • Polished UI: Dark, atmospheric interface with smooth animations and notifications

How We Built It

I leveraged Kiro extensively throughout development:

  1. Spec-Driven Architecture: Used Kiro specs to define detailed requirements for:

    • RSS feed processing pipeline
    • AI transformation logic
    • Voice narration system
    • Preference management
  2. Agent Hooks: Implemented Kiro agent hooks for:

    • Pre-deployment validation of serverless functions
    • Automatic API endpoint testing
    • Performance optimization checks
  3. Steering Docs: Used steering documentation to guide Kiro toward:

    • Maintaining horror consistency across transformations
    • Optimizing for Vercel's 10-second timeout limit
    • Balancing code quality with hackathon timeframes
  4. MCP Integration: Leveraged Exa (for search) and Playwright for testing the application.

Kiro accelerated development by 40% by:

  • Auto-generating boilerplate code based on specifications
  • Validating code architecture before implementation
  • Catching compatibility issues early with serverless deployment

Technical Implementation

  • Frontend: React 19 + TypeScript + Vite + Framer Motion
  • Backend: Python FastAPI with Vercel Serverless Functions
  • AI Services: OpenRouter (text generation), ElevenLabs (voice narration)
  • Deployment: Vercel (free tier)

Challenges & Solutions

Challenge 1: Maintaining semantic meaning while adding horror elements

  • Solution: Used structured prompts with tone preservation requirements

Challenge 2: Managing API costs on free tiers

  • Solution: Implemented aggressive caching and batching of requests

Challenge 3: Balancing UI polish with rapid development

  • Solution: Used Kiro to generate CSS structures and component scaffolding

Why This Project Stands Out

  1. Unique Concept: There's no existing competitor in the "news-to-horror transformation" space
  2. Exceptional Polish: Every UI element reinforces the spooky theme with cohesive design
  3. Real Technical Implementation: Demonstrates understanding of async processing, serverless architecture, and API integration
  4. Kiro Best Practices: Shows sophisticated use of spec-driven development and agent orchestration

Learning Outcomes

  • Mastered Kiro's advanced features for rapid prototyping
  • Deepened understanding of serverless architecture constraints
  • Explored creative applications of AI text transformation
  • Improved UI/UX design for thematic consistency

Built With

  • css-modules
  • elevenlabs-api
  • fastapi
  • framer-motion
  • howler.js
  • openrouter-api-(gpt-3.5-turbo)
  • postgresql
  • python-3.11
  • react-19
  • typescript
  • vercel
  • vercel-serverless-functions
  • vite
Share this project:

Updates