The verdict: can you vibe code Moises?
Build a web-based stem player subset with open-source Demucs, or keep paying for Moises because custom audio ML and real-time multi-track DSP are brutal.
Creating a personal utility that accepts an audio file, sends it to a self-hosted open-source separation model (like Demucs running on Modal or Replicate), and plays back the isolated stems in a synchronized HTML5 Web Audio API mixer is entirely feasible for a solo developer using AI coding agents. However, replicating Moises' proprietary voice conversion models, lightning-fast cross-platform native audio engines, and chord/key detection with zero artifacts requires heavy systems programming, GPU infrastructure, and math that goes far beyond a typical CRUD app wrapper. If you just want to strip vocals for practice, open-source web tools or paying the $3.99/mo subscription is vastly more rational than spending months wrestling with audio phase cancellation and GPU queue worker timeouts.
Estimated effort: 2-3 months of part-time engineering
What you can't replicate
- Licensed commercial artist voice models and custom studio vocal datasets
- Mass-market cross-platform mobile app infrastructure with zero-latency native audio sync
- Proprietary AI chord and stem generation models trained on millions of studio tracks
Founded
2019
Raised
$40.2M
Team
~150–180
Cheapest paid tier
$0/mo
What Moises does
An AI-powered toolkit for musicians offering stem separation, chord and key detection, audio speed/pitch adjustment, AI voice conversion, and AI-backed track creation.
Core features
- Audio/video stem separation (vocals, drums, bass, guitar, piano)
- Real-time chord detection with guitar/capo diagrams and key detection
- Pitch transposing (semitones) without altering timing
- Audio speed shifting (BPM changes) without pitch alteration
- AI voice conversion (timbre replacement preserving melody and cadence)
- Context-aware AI stem generation and mixing/mastering tools
- Synchronized lyric generation and multi-language transcription
- Mobile A/V performance recording over tracks
The business
Pricing
- Free$0/mo
- Premium$3.99/mo
- Pro$9.99/mo
Funding
$40.2M from Kickstart Seed Fund, Monashees, 11+ institutional backers
Pay vs build, cumulative
No break-even inside 24 months at these numbers.
The hard parts of vibe coding Moises
- Training or self-hosting high-fidelity audio source separation models (Demucs/UVR-class) without severe audio bleeding or phase artifacts
- Building a cross-platform low-latency multi-track audio playback engine with real-time DSP (time-stretching and pitch-shifting)
- Handling asynchronous heavy audio/video processing pipelines with GPU inference at scale
- Ethical licensing and secure storage of proprietary professional vocal models
How to vibecode Moises
Prerequisites
Node.jsfree
Required for running the Next.js full-stack framework and frontend tooling.
GitHubfree
Source code repository and deployment pipeline integration.
Replicate AccountPay-per-use (~$5 credit to start)
Provides hosted GPU endpoints to run Demucs audio source separation models.
AI coding tools
Recommended stack
| Frontend | Next.js with Tailwind CSS, shadcn/ui, and Wavesurfer.js for audio waveform visualization |
|---|---|
| Backend | Next.js API routes with Web Audio API client-side rendering |
| Database | Turso (SQLite at the edge for managing user track libraries and metadata) |
| Auth | better-auth for self-hosted session management |
| Payments | None (personal use clone) |
| Other | Replicate API (Demucs audio stem separation model), OpenAI Whisper API (lyrics transcription), Vercel AI SDK |
Hosting & infrastructure
| Vercel | Hosting the Next.js frontend and serverless API endpoints | $0/mo (Hobby tier) |
| Cloudflare R2 | Storing uploaded audio files and separated stem WAV outputs with zero egress fees | $0/mo (Free tier up to 10GB) |
| Replicate | Running GPU-heavy Demucs audio separation inference jobs | ~$5–15/mo based on usage |
Build guide
01Project Scaffolding & Database Schema
Initialize the Next.js 16 project with Tailwind CSS, shadcn/ui components, better-auth, and Turso SQLite database configuration.
Create a new Next.js 16 project with App Router, TypeScript, and Tailwind CSS. Install shadcn/ui primitives (button, slider, dialog, card, dropdown-menu). Configure better-auth with email/password authentication connected to a Turso libSQL database. Set up environment variable validation using Zod. Ensure the layout includes a dark-mode musician dashboard theme with a sidebar and main workspace area. Write comprehensive tests for auth flow and verify everything builds cleanly without errors.02Cloud Storage & Audio Upload Pipeline
Implement drag-and-drop audio file uploads (MP3, WAV, FLAC) to Cloudflare R2 object storage with secure presigned URLs.
Build an audio upload component in Next.js supporting drag-and-drop for MP3, WAV, FLAC, and MP4 files up to 100MB. Implement server actions that generate Cloudflare R2 presigned upload URLs so files stream directly from the client to object storage. Save track metadata (filename, duration, storage key, user id, upload date) to the Turso database using Drizzle ORM. Add a track library list view showing upload status, file size, and action buttons for processing.03Stem Separation Integration
Integrate the Replicate API running the Demucs audio separation model to split uploaded tracks into vocals, drums, bass, and other instruments.
Create a backend processing pipeline that triggers a Replicate API call using the Demucs model when a user requests stem separation on an uploaded track. Pass the Cloudflare R2 audio URL as input. Handle webhook callbacks or polling to monitor inference completion. Download the resulting separated WAV stems (vocals, drums, bass, other) from Replicate output and store them back into Cloudflare R2. Update the track status in Turso from 'processing' to 'ready', and handle error states gracefully if GPU inference fails.04Multi-Track Web Audio Player & Mixer
Build a synchronized multi-track audio mixer UI using Wavesurfer.js and the HTML5 Web Audio API to play, mute, solo, and adjust volume for each stem simultaneously.
Develop a multi-track audio player component using Wavesurfer.js. Given a set of separated stem URLs (vocals, drums, bass, other), load them into parallel audio buffers synchronized to a master playhead. Implement a mixing console UI with individual volume sliders, mute toggles, and solo buttons for each stem. Ensure sample-accurate simultaneous playback when hitting the global play/pause button. Add a master volume control and a time display scrubber showing current playback position versus total duration.05Audio Speed & Pitch Controls
Implement real-time playback rate (BPM) adjustment and pitch shifting using HTML5 audio playback rate and pitch preservation algorithms.
Enhance the multi-track audio player with speed (BPM multiplier from 0.5x to 1.5x) and pitch shifting controls (semitones from -12 to +12) using HTML5 audio node processing or soundtouch-js wrapper libraries. Ensure that changing speed preserves pitch where requested, and update UI indicators in real-time. Add a metadata display showing estimated original BPM and key if detected.06AI Transcription & Polish
Integrate OpenAI Whisper API to transcribe vocals and generate synchronized lyrics/chords display alongside the player.
Implement an audio transcription feature that sends the isolated vocal stem to the OpenAI Whisper API. Parse the returned timestamped JSON response into a synchronized lyrics component that highlights active lines as the master playhead advances. Add a simple chord detection mock parser or AI prompt breakdown to display basic chord markers above the timeline. Perform end-to-end testing of the complete workflow: upload track -> split stems -> multi-track mix playback -> transcription.
Cost vs paying for Moises
What will you build it with?
Starting total with Claude Code$0 one-time
Starting costs (one-time)
- Custom Domain (optional)$12/yr
- Replicate API Starting Credits$10
Total~$22 one-time
Ongoing costs (monthly)
- Cloudflare R2 & Vercel Hosting$0/mo (Hobby tiers)
- Replicate Demucs Inference & Whisper API~$10-20/mo based on active use
Total~$15/mo
Paying for Moises
$3.99/mo (Premium) or $9.99/mo (Pro)
Your time to build
40-60 hours
AI tool credits
$20 (Claude Pro / Cursor)
Break-even
Never (subscription is cheaper unless you process hundreds of hours monthly)
Vibe code Moises: FAQ
- Can you vibe code Moises yourself?
- Serious undertaking — 45/100 vibecodeable. Build a web-based stem player subset with open-source Demucs, or keep paying for Moises because custom audio ML and real-time multi-track DSP are brutal.
- How long does it take to vibe code Moises?
- 2-3 months of part-time engineering — roughly 40-60 hours of hands-on time with an AI coding agent.
- How do you build your own Moises?
- Scoped to personal use: Next.js with Tailwind CSS, shadcn/ui, and Wavesurfer.js for audio waveform visualization on the front, Next.js API routes with Web Audio API client-side rendering behind it, Turso (SQLite at the edge for managing user track libraries and metadata) for data. Follow the 6-step build guide on this page — each step has a paste-ready prompt for an AI coding agent.
- How do you code your own Moises without being an expert?
- Use an AI coding tool (Claude Code or Cursor) and work in small steps: scaffold, data model, core screens, then deploy. Realistic effort: 2-3 months of part-time engineering. The prompts on this page are written so the AI does the heavy lifting.
- How much does it cost to vibe code Moises instead of paying?
- About ~$22 one-time to start and ~$15/mo to run, versus $3.99/mo (Premium) or $9.99/mo (Pro) for Moises. Break-even: Never (subscription is cheaper unless you process hundreds of hours monthly).
- What stack should you use to vibe code Moises?
- Next.js with Tailwind CSS, shadcn/ui, and Wavesurfer.js for audio waveform visualization; Next.js API routes with Web Audio API client-side rendering; Turso (SQLite at the edge for managing user track libraries and metadata); plus Replicate API (Demucs audio stem separation model), OpenAI Whisper API (lyrics transcription), Vercel AI SDK.