Retro web experiments, local music tools, and small repo utilities.
Live site: https://mcamner.github.io/coolThing/
docs/- static GitHub Pages site and browser experimentsbackend/- local FastAPI backend for music featurestools/- shell scripts for local development and repo workflow
AI Vision for Perchance.org. Upload an image to generate high-quality positive and negative prompts using GPT-4o-mini vision.
- Files:
docs/prompt-image/index.html,backend/app.py - Local:
http://localhost:3000/prompt-image/
MTV-style guitar tab generator prototype. The browser UI sends a YouTube URL to the local backend, which downloads audio, runs Basic Pitch transcription, detects chords, transcribes lyrics (via Whisper), and returns a generated guitar tab.
- Files:
docs/mega-guitar/,backend/app.py - Live Demo: Mega Guitar
Spotify "now playing" display with album art, audio features, and handoff to Mega Guitar.
- Files:
docs/mega-now/index.html,backend/app.py - Local:
http://localhost:3000/mega-now/
Start the backend and local frontend together:
# Install dependencies and start servers
./tools/start.shThen open http://localhost:3000/.
- Backend:
./tools/run-mega-guitar-backend.sh - Frontend:
./tools/serve-frontend.sh
Use the PromptImage API directly:
curl -X POST http://127.0.0.1:8001/prompt-image -F "file=@image.jpg"Example of using the API to transcribe lyrics:
curl -X POST http://127.0.0.1:8001/lyrics -F "file=@myaudio.mp3"Check out the Screenshots Gallery for a visual overview of the different tools.
Check the Roadmap for future plans:
- Mobile App: React Native wrapper for Mega Tuner and Setlist.
- AI Harmony: Add backing track generation using Riffusion.
- PromptHistory: Save previous image prompts in local storage.
We love contributions! Please see our Contributing Guidelines to get started.
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project runs locally. Ensure your OPENAI_API_KEY and Spotify credentials are kept in a non-committed .env file. The backend does not expose ports to the public internet by default.
MIT © 2026 Mattias Camner
