← All projects

Wave Forge

Audio conversion as four small services talking over a queue.

EventPersonal project
My rolePersonal project
Wave Forge site preview
4

services in Go, Node.js and Python, coordinated over RabbitMQ

  • Images on Docker Hub
  • Written for Kubernetes
  • Go, Node.js and Python
The problem

AI training data needs audio in consistent formats and sample rates, and converting it is slow work that shouldn't block an upload.

What I did

I built all four services and their Docker images, wrote the Kubernetes manifests, and ran the gateway on Koyeb with the other services on AWS EC2.

GoNode.jsPythonRabbitMQDockerKubernetes
How it works
  1. Gateway

    Validates the request and the user's token, then hands the job off.

  2. Auth

    Handles sign-in with Clerk and tracks each user's files.

  3. Converter

    Picks jobs off RabbitMQ and converts format and sample rate.

  4. Notification

    Emails the user through Mailgun when the file is ready.