Inspiration
Remember Clippy? That animated paperclip that haunted Microsoft Office users in the late 90s? The one that would pop up asking "It looks like you're writing a letter. Would you like help?" while you were clearly writing a spreadsheet?
I chose to resurrect the most hated mascot in tech history because the irony was too delicious to resist. Clippy failed not because the idea was bad, but because the execution was terrible. It interrupted constantly, offered useless suggestions, and never actually did anything helpful.
What it does
Clippy Reloaded is an agentic AI assistant that lives as a transparent overlay on your desktop. Unlike its predecessor, it:
- Understands context by monitoring active windows and browser tabs
- Executes actions directly—file operations, terminal commands, opening URLs
- Has a self-aware personality that acknowledges Clippy's infamous past with humor
- Minimizes to system tray - stays out of your way until you need it
How I built it
I used Kiro's spec-driven development approach:
- Steering documents defined personality and tech stack upfront
- Requirements specs with EARS-compliant acceptance criteria
- Design documents with correctness properties
- Agent hooks automated builds, tests, linting, and formatting
Architecture: Electron for transparent overlay, OpenAI GPT for responses, custom MCP servers for filesystem/terminal/browser, better-sqlite3 for local storage, fast-check for property-based testing.
Challenges I ran into
Making context detection useful without being invasive. Making the personality helpful without being annoying. The original Clippy's biggest sin was interrupting flow—Clippy Reloaded only speaks when you ask.
What I learned
- Spec-driven development with Kiro transforms complex feature development
- Building MCP servers opens powerful integration possibilities
- Property-based testing catches edge cases you'd never think to write manually
- The importance of personality in AI assistants
Built With
- electron
- fast-check
- kiro
- mcp
- node.js
- openai
- react
- sqlite
- typescript
Log in or sign up for Devpost to join the conversation.