All work

Product & engineering

Stavo

A subscription web application for self-taught piano and guitar players. It includes interactive lessons, a score editor, guided playback and practice tools.

Context
Independent product
Date / status
Ongoing
Work
Product & engineering

The problem

Static lessons do not provide interactive practice. Stavo needed to combine lesson content, notation, playback and practice in one application.

Scope and architecture

My responsibilities

  • Product definition and interaction design
  • Frontend architecture and score editor
  • Go API and PostgreSQL data model
  • Billing, deployment, backups and operations

System

  • Vue.js and TypeScript web application
  • Go HTTP API with explicit validation
  • PostgreSQL with versioned score documents
  • Docker, Caddy and encrypted backups on Hetzner

Key decisions

  1. 01

    Let people try the editor before creating an account.

    Guest scores and learning progress stay in the browser. Account workspaces move through the API into PostgreSQL, so evaluation is immediate without weakening ownership rules.

  2. 02

    Use one document model across the product.

    Notation, tablature, playback, MIDI entry, practice loops and autosave all operate on the same versioned score format. That keeps the tools synchronized and makes older documents migratable.

  3. 03

    Keep production boundaries explicit.

    The frontend, API, migrations, database and optional transcription worker run as separate services with health checks, private persistence networking and recoverable backups.

What I built

I defined the product, designed the workflows and built the Vue and TypeScript frontend, Go API, PostgreSQL data layer and Docker-based production environment. The same versioned score document drives editing, playback, practice and account synchronization.

  • Vue.js
  • TypeScript
  • Go
  • PostgreSQL
  • Docker

Result

Live subscription product built and operated independently

  • Interactive lessons with guided playback
  • An in-browser score editor and focused practice tools
  • A subscription product running in production
Visit Stavo

Contact

Have a project in mind?

Tell me what you’re building, where it stands and what you need help with. LinkedIn is the best place to reach me for now.

Start a conversation