Inspiration
I spent 15+ years as a software engineer and cloud architect at Intel, then got laid off last year. Rather than go looking for another corporate job, I decided to build the tool I actually wanted. I'd originally planned something Windows-VM-focused, but pivoted once I realized what I actually needed day to day was a fast, disposable way to spin up Linux and macOS environments on my own Mac — for testing, for reproducing a colleague's setup exactly, for trying something risky without touching my main machine.
What it does
Velo Workspaces runs disposable Linux and macOS virtual machines on Apple Silicon, built directly on Apple's Virtualization.framework rather than a QEMU-based wrapper.
- Disposable Workspaces — clone a fully configured base image in seconds via copy-on-write. Close it and it's deleted entirely, disk included, with nothing left behind in the host system.
- AI Bridge — a VM reaches a model server (like Ollama) running on the host's own Metal-accelerated GPU over a vsock-based channel, exposed as a standard chat-completions endpoint. Any agent framework built for that interface works inside the VM unmodified — no cloud, no API keys.
- No account, no backend server, no third-party analytics. $79.99 one-time, no subscription.
How I built it
It's a native Swift/SwiftUI app on top of Apple's Virtualization.framework. AI Bridge is the piece I spent the most time on: instead of assuming a network hop to the host would be "fast enough," I benchmarked it directly — Llama 3 on a Mac mini M1, host loopback vs. AI Bridge, averaged over 5 runs each — before making any performance claim about it. Disposable Workspaces are built around copy-on-write disk cloning so a new workspace starts from a known-good state instantly rather than re-installing anything.
Challenges I ran into
Getting AI Bridge's vsock-based channel close to native performance took real measurement, not guesswork — it would have been easy to ship an unverified "near-native" claim, and I didn't want to do that. Wiring up VirGL-based 3D acceleration for Linux guests so video and GUI apps feel smooth, rather than merely functional, was its own extended effort. And making the copy-on-write cloning for Disposable Workspaces both instant and safe to close mid-task took more iteration than I expected going in.
Accomplishments that I'm proud of
Shipping a fully native Virtualization.framework app to the Mac App Store as a solo developer. Being able to publish real, specific AI Bridge overhead numbers (+10% time-to-first-token, -4% throughput vs. running natively) instead of a vague "near-native" claim. And building the whole thing — app plus a fully localized 10-language website — without an account system, a backend server, or third-party analytics anywhere in it.
What I learned
Going from cloud architecture at a large company to building alone taught me how much of "shipping" is actually the unglamorous second half — privacy policy accuracy, structured data correctness, pricing transparency, launch-platform rules — not just the code. I also learned to distrust my own performance intuitions until I'd actually measured them; AI Bridge's real numbers weren't what I assumed going in.
What's next for Velo Workspaces
A CLI is high on the list — scripting workspace creation and teardown fits naturally into how the DevOps and QA personas already use the app, and it's the most obvious gap for anyone trying to automate around it today. I'm also planning unattended-install support: an Ubuntu/Debian autoinstaller path and Fedora kickstart, so spinning up a fresh workspace doesn't require clicking through an OS installer by hand. Windows guest support remains on the table as well, though it isn't in this release.
None of this is fixed in stone — priorities here will shift based on what actual users ask for once more people are using the app day to day.
Built With
- ai-bridge
- apple-virtualization-framework
- disposable
- disposable-linux-environment
- disposable-linux-vm
- disposable-macos-environment
- disposable-macos-vm
- local-ai
- macos
- swift
- virtualization
Log in or sign up for Devpost to join the conversation.