A retro-style API debugging tool with CRT aesthetics, built with Next.js 14, TypeScript, Tailwind CSS, and Framer Motion.
- Request Form: URL input, HTTP method selection, custom headers, and request body
- Animated Response Panel: Status codes, headers, and formatted response data
- Request History: Last 5 requests with click-to-replay functionality
- CORS Proxy: Built-in Next.js API route for cross-origin requests
- VT323 Font: Authentic monospace terminal font
- CRT Effects: Animated scanlines, glowing text, and flicker effects
- Multiple Themes: 10 themes (5 dark + 5 light) with category switching
- Matrix Background: Animated falling characters effect
- Light Mode Support: Beautiful light themes for daytime use
- Interactive Terminal: Command-line interface with help, clear, history commands
- Real-time Monitoring: API statistics dashboard with success rates and response times
- Request Templates: Pre-built templates for common APIs (GitHub, JSONPlaceholder, etc.)
- Code Generator: Convert API requests to code in 10+ languages (JavaScript, Python, cURL, etc.)
- Sound Effects: Retro beep sounds for interactions and responses
- Keyboard Shortcuts: Power user shortcuts for all major functions
- Retro Sound Effects: Square wave beeps for clicks, success, and errors
- Smooth Animations: Jank-free Framer Motion animations
- Responsive Design: Works on desktop and mobile devices
- Accessibility: Keyboard navigation and screen reader support
| Shortcut | Action |
|---|---|
Ctrl/Cmd + Enter |
Send request |
Ctrl/Cmd + T |
Toggle terminal |
Ctrl/Cmd + M |
Toggle monitor |
Ctrl/Cmd + H |
Toggle theme switcher |
Ctrl/Cmd + R |
Toggle templates |
Ctrl/Cmd + G |
Toggle code generator |
Ctrl/Cmd + Shift + K |
Clear history |
Escape |
Close panels |
- Node.js 18+
- Yarn package manager
# Clone the repository
git clone <your-repo-url>
cd retro-api-debugger
# Install dependencies
yarn install
# Start development server
yarn devOpen http://localhost:3000 to see the application.
- Enter URL: Type your API endpoint
- Select Method: Choose GET, POST, PUT, PATCH, DELETE, HEAD, or OPTIONS
- Add Headers: Use advanced options to add custom headers
- Add Body: For POST/PUT requests, add JSON or text body
- Send Request: Click "SEND REQUEST" or use
Ctrl+Enter
- Click the TEMPLATES button (bottom-left)
- Browse pre-built API templates
- Click any template to auto-fill the form
- Customize as needed and send
- Make an API request
- Click the CODE button (bottom-right)
- Select your preferred language
- Copy the generated code snippet
- Use in your projects instantly!
- Click the MONITOR button (top-right)
- View real-time statistics:
- Total requests made
- Success rate percentage
- Average response time
- Error count
- Last request timestamp
- Click the TERMINAL button (bottom-right)
- Available commands:
help- Show available commandsclear- Clear request historyhistory- Show command historyping- Test connectiontheme- Show current theme
Switch between 10 retro themes organized by category:
- Classic Green: Original green-on-black terminal
- Amber Terminal: Warm amber monochrome
- Blue Matrix: Cool blue cyberpunk
- Red Alert: High-contrast red warning
- Purple Haze: Psychedelic purple
- Light Green: Soft green on light background
- Light Blue: Professional blue theme
- Light Amber: Warm golden theme
- Light Purple: Elegant purple theme
- Light Pink: Gentle pink theme
- Framework: Next.js 14+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS 4+
- Animations: Framer Motion
- Font: VT323 (Google Fonts)
- Package Manager: Yarn
src/
├── app/
│ ├── api/proxy/ # CORS proxy endpoint
│ ├── globals.css # Global styles & CRT effects
│ ├── layout.tsx # Root layout with font
│ └── page.tsx # Main application page
├── components/
│ ├── RequestForm.tsx # API request form
│ ├── ResponsePanel.tsx # Response display
│ ├── HistoryPanel.tsx # Request history
│ ├── TerminalCommands.tsx # Interactive terminal
│ ├── MonitoringDashboard.tsx # Stats dashboard
│ ├── ThemeSwitcher.tsx # Theme selection
│ ├── RequestTemplates.tsx # API templates
│ ├── MatrixBackground.tsx # Animated background
│ └── HelpPanel.tsx # Keyboard shortcuts help
└── hooks/
├── useSoundEffects.ts # Audio effects
└── useKeyboardShortcuts.ts # Keyboard handling
- Animated falling characters
- Configurable opacity and speed
- Performance optimized with canvas
- Web Audio API integration
- Square wave synthesis
- Contextual sound feedback
- Response time tracking
- Success rate calculation
- Persistent statistics
- Pre-built API examples
- Searchable template library
- One-click form population
- Command-line interface
- Command history
- Real-time feedback
- Convert API requests to code in 10+ languages
- Support for JavaScript, TypeScript, Python, cURL, PHP, Java, C#, Go, Rust, Swift
- Automatic TypeScript interface generation
- One-click copy to clipboard
Edit src/components/ThemeSwitcher.tsx and add to the THEMES object:
const THEMES = {
// ... existing themes
newTheme: {
name: 'NEW THEME',
background: '#000000',
foreground: '#ffffff',
accent: '#ff0000',
glow: '#ff0000',
},
};Extend src/hooks/useSoundEffects.ts:
const playCustomSound = useCallback(() => {
playBeep(1000, 200); // frequency, duration
}, [playBeep]);Edit src/components/RequestTemplates.tsx and add to the TEMPLATES array:
const TEMPLATES: RequestTemplate[] = [
// ... existing templates
{
name: 'NEW API',
description: 'Description of the API',
url: 'https://api.example.com/endpoint',
method: 'GET',
headers: { 'Content-Type': 'application/json' },
},
];# Install Vercel CLI
npm i -g vercel
# Deploy
vercel# Build image
docker build -t retro-api-debugger .
# Run container
docker run -p 3000:3000 retro-api-debuggerWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Clone your fork
git clone https://github.com/YOUR_USERNAME/retro-api-debugger.git cd retro-api-debugger - Install dependencies
yarn install
- Start development server
yarn dev
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes and test them
- Commit your changes
git commit -m 'feat: add amazing feature' - Push to your fork
git push origin feature/amazing-feature
- Open a Pull Request
- 🐛 Bug fixes
- ✨ New features (themes, languages, tools)
- 📚 Documentation improvements
- 🎨 UI/UX enhancements
- 🧪 Tests and quality improvements
- 🌍 Translations
- Follow our Code of Conduct
- Use TypeScript for all new code
- Maintain the retro aesthetic
- Test on multiple browsers and devices
- Update documentation for new features
This project is licensed under the MIT License - see the LICENSE file for details.
- VT323 Font: Google Fonts
- CRT Effects: Inspired by retro terminal aesthetics
- Matrix Effect: Inspired by The Matrix (1999)
- Sound Design: Retro computer beep aesthetics
- Contributors: Thanks to all contributors who help make this project better!
- Plugin System: Allow custom plugins and extensions
- Team Collaboration: Share API collections with team members
- API Documentation: Auto-generate API docs from requests
- GraphQL Support: Enhanced GraphQL query builder
- WebSocket Testing: Real-time WebSocket testing tools
- Performance Testing: Load testing and performance metrics
- API Mocking: Built-in API mocking capabilities
- Export/Import: Export collections to Postman, Insomnia, etc.
- 💬 Discussions: GitHub Discussions
- 🐛 Bug Reports: GitHub Issues
- 💡 Feature Requests: GitHub Issues
- 📧 Contact: Your Email
Built with ❤️ for the retro computing community
"In the beginning was the command line..."