Inspiration
Bulletin Board Systems shaped early online communities, but vanished in the 90s. I’ve always loved the rawness of CRT terminals, the minimalism, the vibe of dialing into a digital world.
For this hackathon, I wanted to revive a dead technology, but reimagine it with:
- modern AI
- emotional intelligence
- instant knowledge retrieval
- dynamic room routing
- and cozy nostalgia
Obsidian BBS is my tribute to the early internet — rebuilt from scratch using today's AI infrastructure.
What it does
Obsidian BBS is a fully functional, terminal-based social space, combining retro aesthetics with modern intelligence.
It includes:
Four Core Rooms
- Lobby — general chat
- Techline — tech + programming discussions
- Arcade Hall — playable retro games (Snake, Tetris, Breakout)
- Support Room — a private, empathetic mental-health-aware chat
AI-Native Features
- AI System Operator that routes messages to the right room based on context
- Instant Answer Recall: searches past conversations and auto-shows relevant answers
- Custom Room Creation when a message doesn’t fit any existing category
- Empathetic Support Agent that responds with emotional intelligence and provides crisis resources
- Retro terminal UI with simulated dial-up and a fully command-driven interface
A dead technology reimagined for 2025.
How I built it
Obsidian BBS was built almost entirely through Kiro, using a structured approach:
1. Spec-Driven Development (Core of the project)
I broke the entire system into four detailed Kiro specs:
- Core Terminal Chat
- Arcade Room Games
- Empathetic Support Bot
- Instant Answer Recall
Each spec defined:
- architecture
- message schema
- UI states
- system workflows
- room logic
- error pathways
Kiro produced the complete implementation for each spec, letting me iterate cleanly without code chaos.
This gave the project a solid foundation, and made refactoring trivial — change the spec → regenerate → done.
2. Vibe Coding for iterative improvements
Once core systems worked, I used vibe coding to rapidly refine smaller elements:
- polishing the terminal interface
- adding new commands
- re-shaping the arcade game canvases
- adjusting routing logic wording
- tightening error messages
This felt like having a live co-developer who understood the entire codebase.
Most impressive generation: Kiro generated a fully playable terminal Snake game in one shot, then updated it twice purely from conversational instructions.
3. Agent Hooks for workflow automation
One of the best parts.
I created a manual-trigger Git hook that:
- reads the latest commit
- summarizes the changes
- auto-updates a documentation file
- decides whether the README should be updated
- writes the diff if needed
This solved the constant pain of documentation drifting out of sync with the codebase.
It kept my project clean, professional, and maintainable — without extra manual work.
4. Steering Docs for consistency
I maintained a short steering doc that captured:
- project terminology
- room descriptions
- command syntax
- UI styling
- tone guidelines for the support bot
- architectural constraints
This ensured Kiro’s outputs stayed consistent, predictable, and aligned with the original vision — especially when switching between specs and vibe coding.
5. MCP Extensions (Used lightly)
I used MCP primarily to extend filesystem interactions, enabling Kiro to:
- read large multi-file contexts
- modify code + specs across directories
- keep all parts of the BBS synchronized
This made the “spec-driven → vibe-coded → documented” workflow smooth and safe.
Challenges we ran into
- Designing four interconnected specs without overlap
- Making retro terminal animations smooth in a modern environment
- Getting the AI routing to feel natural and not over-aggressive
- Ensuring the support bot remained empathetic yet safe
- Syncing documentation across a fast-moving codebase (solved using hooks!)
Accomplishments we’re proud of
- Building a real, functional BBS experience in less than a hackathon timeframe
- Creating a playable retro arcade inside a terminal
- Bringing emotional intelligence into a 90s-style system
- Designing a fully spec-driven system supported end-to-end by Kiro
- Achieving clean documentation using automated agent hooks
Most importantly: reviving a dead technology in a way that feels fresh, fun, and useful.
What we learned
- Spec-driven design lets you build complex systems far faster than ad-hoc coding
- Vibe coding is powerful for polishing, but specs keep things scalable
- Hooks are underrated — huge productivity boost
- Steering docs make multi-spec workflows predictable
- Kiro is not just a coding assistant; it’s effectively a structured engineering environment
What’s next for Obsidian BBS
- More terminal games
- Cross-room AI summarization
- Theming + ANSI art skins
- A public hosted demo
- Graph-based memory for deeper instant recall
- Mobile-friendly web terminal version

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