SpecterFlow - Haunted Documentation Viewer ๐ป
Transform your markdown specs into a spooky living grimoire!
Inspiration
What if your boring documentation could come alive with friendly ghosts and mystical energy?
As developers, we spend countless hours reading specifications, requirements, and design documents. These are often dry, lifeless text files that feel more like ancient tomes gathering dust than living guides for our projects.
For KiroWeen 2024, we asked: "What if our documentation was haunted by helpful spirits?" What if completing a task summoned a celebratory ghost? What if our kanban boards looked like graveyards where we resurrect code from the dead?
The inspiration struck during a late-night coding session - instead of just changing colors for Halloween, why not create an entirely new way to experience documentation? A world where tasks aren't just "TODO" - they're souls in "Fresh Graves" waiting to be summoned, and progress isn't just a bar - it's blood pulsing with vampiric energy.
We wanted to prove that "spooky" doesn't mean "unusable" - it means delightful, memorable, and engaging.
What it does
SpecterFlow transforms VSCode's .kiro/specs folders into an interactive haunted mansion where friendly spirits guide developers through their tasks.
๐ญ Core Spooky Features
๐ป Ghost Celebrations
Complete a task and watch a friendly ghost float away! Random spirits (ghosts, pumpkins, bats, skulls) appear with smooth floating animations.
โฐ๏ธ Graveyard Kanban
- "Fresh Graves" (TODO) - Souls awaiting summoning
- "Resurrecting" (In Progress) - Rising from the dead
- "R.I.P." (Done) - Rest In Production
- Tombstone-shaped cards with stone texture
- Blood-red pulsing progress bars
- Glowing rune number coins
๐ Ancient Grimoire (Requirements)
- Parchment texture backgrounds
- Mystical incantations (user stories)
- Blood-red bullet points that glow on hover
- Ectoplasm glass effects with backdrop-filter
- Gothic typography (Creepster, Metal Mania fonts)
๐ Ambient Atmosphere
- Floating spirits (ghosts, bats, spiders, moons) drift through your workspace
- Intelligent hover effects - cards dim when you focus on another
- Breathing gradient borders that pulse with magical energy
- Cobweb decorations on cards
- Foggy reveals on scrollable content
๐จ Modern CSS Wizardry
@propertyfor smooth gradient animations (0-360deg rotation)backdrop-filterfor ethereal glassmorphism:has()selector for intelligent interactionsmask-imagefor ghostly fade effects- Native CSS nesting throughout
All while maintaining 100% of the original functionality!
How we built it
๐๏ธ Architecture Strategy
We chose a non-destructive approach - the original clean interface remains untouched:
- Cloned
out/webviewtoout/spooky-hall - Added smart routing in extension.ts based on user configuration
- Renamed components thematically (tasksโgraveyard, requirementsโgrimoire)
- Enhanced with modern CSS while preserving all functionality
๐จ Technology Stack
Frontend Magic:
- VSCode Extension API - Custom text editors and webview views
- Om.js - Lightweight 3KB reactive framework (no React/Vue bloat!)
- Modern CSS - @property, backdrop-filter, :has(), mask-image
- Web Components - Modular, reusable spooky components
- TypeScript - Type-safe extension host code
Spooky Implementation:
- CSS Animations - All effects use performant CSS animations (60fps)
- @property - Smooth gradient rotations impossible with standard CSS
- backdrop-filter - Ethereal glassmorphism effects
- :has() selector - Intelligent hover dimming
- Event-driven architecture - Ghost celebrations triggered by user actions
๐ฏ Key Technical Achievements
- Zero Runtime Dependencies - Pure VSCode API, no external libraries
- 60fps Animations - Hardware-accelerated transforms and opacity
- Production-ready Code - Clean architecture, comprehensive error handling
- Smart Resource Management - Spirits auto-cleanup, memory-conscious
๐งโโ๏ธ Modern CSS Sorcery
/* Breathing gradient borders */
@property --ghost-angle {
syntax: "<angle>";
initial-value: 0deg;
inherits: false;
}
.breathing-border::after {
background: conic-gradient(from var(--ghost-angle), transparent, #6a0dad, #00ff9d, transparent);
animation: spin-ghost 3s linear infinite;
}
/* Ectoplasm glassmorphism */
.ectoplasm-card {
background: rgba(10, 5, 20, 0.6);
backdrop-filter: blur(12px) contrast(120%);
border-top: 1px solid rgba(0, 255, 157, 0.3);
}
/* Intelligent hover with :has() */
.graveyard-column:has(.card:hover) .card:not(:hover) {
opacity: 0.5;
filter: blur(2px) grayscale(80%);
}
Challenges we ran into
๐ญ Performance vs. Atmosphere
Challenge: Too many floating spirits caused frame drops on older machines.
Solution: Implemented smart lifecycle management - maximum 3 spirits on screen, 8-second lifespan, CSS-only animations with hardware acceleration.
โฟ Accessibility Without Compromise
Challenge: Spooky animations could trigger motion sensitivity.
Solution: Comprehensive prefers-reduced-motion support. When enabled, all animations disable gracefully while preserving static visual effects and full functionality.
๐จ Maintaining Usability in Chaos
Challenge: Spooky effects shouldn't compromise productivity.
Solution: Every decorative element uses pointer-events: none and aria-hidden="true". Core UI remains clean, accessible, and keyboard-navigable.
๐ป Ghost Celebration Timing
Challenge: Ghost animations felt either too fast (jarring) or too slow (boring).
Solution: Extensive testing revealed 2 seconds with ease-out curve creates the perfect "floating away" feeling. Added rotation and scaling for extra delight.
๐๏ธ Non-Destructive Architecture
Challenge: How to add spooky theme without breaking existing functionality?
Solution: Complete folder cloning with smart routing. Original out/webview remains read-only, out/spooky-hall contains all enhancements. Users can toggle themes seamlessly.
Accomplishments that we're proud of
๐ Production-Ready Code Quality
This isn't just a hackathon hack! Every line is:
- Type-safe (TypeScript with comprehensive JSDoc)
- Well-documented (Clear comments and architecture docs)
- Performant (60fps animations, <50MB memory usage)
- Accessible (WCAG AA compliant, reduced motion support)
๐จ Cutting-Edge CSS Showcase
We pushed the boundaries of what's possible with modern CSS:
- @property for smooth gradient animations (impossible with standard CSS)
- backdrop-filter for ethereal glassmorphism effects
- :has() for intelligent hover interactions
- mask-image for ghostly fade reveals
- Native nesting throughout (no preprocessors needed)
๐ป Delightful User Experience
The ghost celebration makes people smile! It's that perfect balance of "spooky" and "helpful" that transforms mundane task completion into a moment of joy. Beta testers literally said "I want to complete more tasks just to see the ghosts!"
โก Zero Performance Impact
Despite all the animations, glassmorphism, and floating spirits, SpecterFlow runs smoothly even on older machines. Smart lifecycle management, CSS-only animations, and hardware acceleration ensure 60fps throughout.
๐ญ Unique Concept Execution
"Haunted Documentation" isn't just a theme - it's a complete experience. Every interaction, every piece of text, every visual element contributes to the cohesive "grimoire" narrative while maintaining professional functionality.
What we learned
๐จ Technical Learnings
Modern CSS is Incredibly Powerful
@property unlocked smooth gradient animations we thought were impossible without JavaScript. backdrop-filter creates effects that would require complex layering. :has() enables intelligent interactions that feel magical.
Performance Budget Matters
Initial implementation had unlimited floating spirits. We learned that "more" isn't always "better" - 3 spirits with smart lifecycle management feels more polished than 20 chaotic ones.
VSCode Extension Architecture
Deep dive into webview communication, resource URI generation, and configuration management. The extension API is more powerful than we initially realized.
๐ญ Design Learnings
Subtle is Better Than Overwhelming
Early prototypes were too "in your face" with effects. The final version uses restraint - spooky atmosphere without visual chaos.
Animation Timing is Critical
2 seconds is the sweet spot for ghost celebrations. 1 second feels rushed, 3 seconds feels slow. Ease-out curves feel more natural than linear.
Color Psychology Works
Ectoplasm green = eerie but friendly. Blood red = energy and progress. Bruise purple = mystical depth. Users immediately understood the emotional language.
๐ Product Learnings
Delight Drives Engagement
Small touches (ghost celebrations, cobweb decorations) create disproportionate emotional impact. Users remember how software makes them feel.
Theme Consistency Matters
Every component following the same "haunted grimoire" principles creates cohesive experience. Half-themed feels worse than not themed.
Performance is a Feature
Smooth animations feel magical. Janky animations feel broken. 60fps isn't negotiable.
What's next for SpecterFlow
๐ Short-Term (Post-Hackathon)
๐ Immersive Audio
- Ghostly whispers on task completion
- Creaking door sounds for navigation
- Ambient graveyard atmosphere (optional)
- Spatial audio for floating spirits
๐ป More Ghost Varieties
- Seasonal spirits (Christmas elves, Easter bunnies)
- Achievement-based unlocks (complete 10 tasks โ unlock vampire)
- User-customizable spirit emojis
- Rare "shiny" ghosts with special effects
๐จ Advanced Visual Effects
- Particle systems for magic spells
- Dynamic weather (fog, lightning)
- Interactive cobwebs that react to cursor
- Parallax scrolling backgrounds
๐ Medium-Term Vision
๐ค AI-Powered Spec Summaries
- "The spirits whisper..." - AI explains complex requirements
- Automatic spell-checking with mystical suggestions
- Smart task estimation using historical ghost data
๐ฅ Collaborative Haunting
- Multiplayer ghost celebrations
- Team spirit leaderboards
- Shared haunted workspaces
- Real-time collaborative editing with spirit cursors
๐ช VSCode Marketplace
- Official publication with 1M+ downloads goal
- User reviews and community feedback
- Regular updates with new spooky features
๐ Long-Term Dreams
๐จ Theme Marketplace
- User-generated themes (Cyberpunk, Medieval, Space)
- Theme editor with drag-and-drop customization
- Community voting on best themes
๐ฎ Gamification Engine
- XP system for completing tasks
- Achievement badges ("Ghost Whisperer", "Spec Master")
- Daily challenges with special rewards
๐ Platform Integration
- GitHub Issues sync with ghost status
- Jira integration for enterprise teams
- Slack notifications with ghost emojis
SpecterFlow proves that productivity tools don't have to be boring. Sometimes the best way to get work done is to make it feel like play. When your documentation is haunted by helpful spirits, every task becomes an adventure! ๐ป๐
Ready to summon some software? Your grimoire awaits...
Built With
- css3
- html5
- javascript
- kiro
- om.js
- vscode-api
- web-components
Log in or sign up for Devpost to join the conversation.