⚠️ NOTE: This project was vibe coded - Don't judge my code quality on this, i made this in a day.
TAPOS is a modern desktop application built with Electron and TypeScript that helps you organize, visualize, and manage your Ableton Live projects (with other DAWs planned for future). Quickly browse through your entire project library, see track breakdowns, and filter your view to focus on what matters.
- Automatic scanning of
.alsfiles in any directory (recursive) - Track extraction showing all Audio, MIDI, Return, and Master tracks
- Last modified dates with smart formatting (Today, Yesterday, etc.)
- Track count and detailed breakdowns for each project
- Grid layout with responsive project cards
- Color-coded track badges for easy identification
- 🔴 Audio tracks
- 🔵 MIDI tracks
- 🟡 Return tracks
- 🟣 Master track
- Smooth animations and hover effects
- Filter tracks by type (hide returns/master)
- Persistent settings across sessions
- Real-time updates when preferences change
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository:
git clone <your-repo-url>
cd talon-electron- Install dependencies:
npm install- Build TypeScript files:
npm run build- Start the application:
npm start- Add project directories: Go to
File > Preferencesand click "Add Directory" to select folders containing Ableton projects - Browse projects: Scroll through the grid to see all your projects with their track breakdowns
- Customize view: In Preferences, you can:
- Enable/disable individual directories
- Toggle recursive scanning per directory
- Hide return tracks or master tracks
- Version selection: Projects with multiple
.alsfiles in the same folder are grouped with a version selector - Safe mode: Launch with
npm run safeto manually control when projects load
talon-electron/
├── ts/ # TypeScript source files
│ ├── main.ts # Main process (Electron)
│ ├── preload.ts # Preload script (IPC bridge)
│ ├── project-loading.ts # .als file parser
│ ├── types.ts # TypeScript interfaces
│ └── preferences.ts # User preferences
├── js/generated/ # Compiled JavaScript
├── styles.css # UI styling
├── renderer.js # Renderer process
├── index.html # Main window HTML
└── CLAUDE.md # Development documentation
- Electron - Cross-platform desktop framework
- TypeScript - Type-safe development
- fast-xml-parser - XML parsing for .als files
- electron-store - Persistent settings storage
- electron-forge - Build and packaging
# Compile TypeScript
npm run build
# Watch mode (auto-compile on changes)
npm run watch
# Start application
npm start
# Package for distribution
npm run package
# Create installers
npm run make- Make changes to TypeScript files in
ts/ - Run
npm run buildornpm run watch - Test with
npm start - Commit to
devbranch - Merge to
mainwhen ready
Ableton Live project files (.als) are actually gzipped XML files. TAPOS:
- Recursively scans directories for
.alsfiles - Decompresses each file using zlib
- Parses the XML structure to extract:
- Track names
- Track types (Audio/MIDI/Return/Master)
- Track colors
- Project metadata
- Displays everything in a beautiful grid interface
This is a personal project, but suggestions and feedback are welcome! Feel free to open issues for bugs or feature requests.

