About the Project
Inspiration
What if your code reviewer was literally haunted? That 3 AM pull request review that comes back too harsh? I leaned into that nightmare. The inspiration came from the universal developer experience of dreading harsh code reviews, combined with the Halloween season, to create something that's both functional and entertainingly cursed. I wanted to prove that developer tools don't have to be boring—they can be delightfully dark while still providing real value through AI-powered code analysis.
What it does
Cursed Code Reviewer is an AI-powered code review system that analyzes your code and pull requests with the personality of a demonic senior developer who's been cursing bad code for centuries. It:
- Scans code for security vulnerabilities, performance issues, and code quality problems
- Generates cursed feedback using AWS Bedrock (Claude AI) with a Halloween-themed demonic persona that delivers technically sound advice wrapped in dark humor
- Auto-generates fixes with the HauntedPatchForge that creates patches to banish curses from your codebase
- Fetches GitHub PRs for analysis and stores scan history
- Delivers feedback like: "Your variables are named like a drunk warlock cast a confusion spell! 'x', 'tmp', 'foo'?! The spirits of clean code are weeping in their graves."
The entire experience is wrapped in a Halloween-themed UI with cursed color schemes (--cursed-black, --phantom-purple, --blood-red), spooky fonts, and haunted animations that make code review memorable and entertaining while maintaining technical accuracy.
How I built it
I built Cursed Code Reviewer using a spec-driven development approach with Kiro, leveraging four key pillars:
- Detailed Specs: Created comprehensive requirements, design docs, and task breakdowns in
.kiro/specs/that served as the AI's north star - Steering Documents: Defined product vision, tech patterns, and naming conventions (like TombstoneDB and SpectralAnalyzer) in
.kiro/steering/to shape AI behavior - Automated Hooks: Implemented file-watching hooks that automatically updated documentation when code changed
- AWS Knowledge MCP: Used Model Context Protocol to give AI real-time access to AWS documentation for accurate Bedrock, Lambda, and DynamoDB implementations
Tech Stack:
- Frontend: React 18 + TypeScript + Vite + TailwindCSS (Crypt Dashboard)
- Backend: AWS Lambda + TypeScript (Node.js 20) with four main functions: SpectralAnalyzer, DemonicOracle, HauntedPatchForge, and CryptKeeper
- Infrastructure: AWS CDK for infrastructure as code
- Database: DynamoDB single-table design (TombstoneDB)
- Storage: S3 (CodeCrypt Bucket)
- Auth: AWS Cognito (SoulPool)
- AI: AWS Bedrock with Claude 3 Sonnet for demonic feedback generation
The entire architecture is serverless, using API Gateway as the NightmareGateway to route requests through JWT authentication to Lambda functions that orchestrate code analysis and AI-powered feedback generation.
Challenges I ran into
- Balancing tone: Creating feedback that's both technically accurate AND entertainingly demonic without crossing into unhelpful territory or being offensive
- DynamoDB single-table design: Modeling scans, issues, patches, and user preferences in a single table with effective GSIs required careful planning
- Prompt engineering: Crafting prompts for Claude that consistently generated the right personality variations based on issue severity while maintaining technical correctness
- AWS Bedrock integration: Handling throttling, managing token limits, and optimizing costs for AI-generated feedback at scale
- Type safety across services: Maintaining TypeScript type consistency between frontend, Lambda functions, and DynamoDB schemas
- Cold start optimization: Minimizing Lambda cold starts for responsive user experience
- Documentation drift: Keeping specs, design docs, and actual implementation in sync (solved with automated hooks)
Accomplishments that I'm proud of
- Spec-driven workflow: Successfully demonstrated that detailed specs + steering docs + automation hooks can 10x AI-assisted development speed (features went from 3-4 hours to ~30 minutes)
- Creative naming convention: TombstoneDB, SpectralAnalyzer, DemonicOracle, HauntedPatchForge—every AWS resource has a hauntingly consistent name
- Personality system: The AI adjusts its demonic intensity based on issue severity while maintaining technical accuracy
- Full-stack serverless: Built a complete production-ready application with authentication, AI integration, and data persistence using AWS CDK
- Automated documentation: Implemented hooks that keep README, API docs, and deployment guides in perfect sync with code changes
- MCP integration: Leveraged AWS Knowledge MCP for real-time AWS documentation access, eliminating constant doc-diving
- Halloween aesthetic: Created a cohesive, delightfully dark UI that makes code review fun without sacrificing usability
What I learned
- Specs are source of truth: Detailed requirements, design, and task docs eliminate context loss when working with AI—the AI just "knows" your project
- Steering shapes AI thinking: Product vision, tech patterns, and code organization documents transform generic AI into your team's AI with consistent style and preferences
- Hooks enable true automation: Event-driven workflows (doc sync, test runs, deployment checks) act like CI/CD for the development process itself
- AWS Knowledge MCP is transformative: Real-time AWS documentation and best practices directly in AI context eliminated tab-switching and ensured current patterns
- Personality + utility works: Developer tools can be entertaining AND functional—dark humor doesn't diminish technical value
- Serverless scales: AWS Lambda + DynamoDB + Bedrock provides a cost-effective, scalable architecture for AI-powered applications
- Naming matters: Creative, consistent naming (TombstoneDB > ApplicationDatabase) makes codebases more memorable and development more enjoyable
What's next for Cursed Code Reviewer
- GitHub App integration: Install directly into repositories for automated PR reviews on every commit
- Multi-language support: Expand beyond JavaScript/TypeScript to Python, Go, Rust, and Java
- Curse severity levels: Let users adjust how demonic the feedback is (from "mildly possessed" to "full exorcism required")
- Team collaboration: Add features for team-wide curse tracking, leaderboards for cleanest code, and shared haunted patch libraries
- VSCode extension: Bring the Cursed Code Reviewer directly into the editor for real-time feedback as you type
- Custom curse personalities: Allow users to train custom demonic personas or choose from a crypt of pre-defined reviewers (Vampire CTO, Zombie TechLead, Ghost Architect)
- Batch PR scanning: Analyze entire repositories to identify the most cursed files and technical debt hotspots
- Integration with CI/CD: Block merges if curse level exceeds threshold, with demonic failure messages
- Open source release: Make the project fully open source for the community to fork, extend, and add their own haunted features
- Advanced fix suggestions: Multi-file refactoring patches that can automatically fix architectural issues across the codebase
Built With
- ai
- amazon-dynamodb
- amazon-web-services
- api-gateway
- bedrock
- cdk
- cognito
- kiro
- lambda
- mcp
- react
- serverless
- typescript

Log in or sign up for Devpost to join the conversation.