SheetShed

Musician-focused SaaS for storing and performing sheet music — PDF/image upload, in-browser viewer, auto page turn, sharing via QR, Stripe subscriptions, and admin tooling on Expo Web + Firebase.

Client
SheetShed
Role
Lead Designer & Full-Stack Developer
Timeline
Ongoing product
Year
2025
Category
SaaS Platform

Overview

SheetShed is a musician library: upload PDF/images, view fullscreen, organize, share via links/QR, Stripe plans. Expo ~50 web on Firebase `sheetshed-b9586`, live at sheetshed-b9586.web.app.

Why

Musicians juggle PDFs, camera rolls, and binders. There was no simple library with a performance viewer and a shareable setlist. SheetShed is that library: upload, organize, fullscreen view, share via link or QR, Stripe plans.

Relevant to any “files but for performance” product. A file manager is not enough. The viewer has to work on the stand.

The challenge

Musicians juggle PDFs, photos, and paper across gigs. There was no simple library with a performance viewer and a shareable setlist.

What made it hard

  • Repertoire lived in binders, camera rolls, and random PDFs.
  • Performance needed a viewer, not a file manager.
  • Sharing a setlist with a bandmate had to be a link or QR, not an email attachment.

Approach

Library grid + in-browser viewer (auto page-turn / BPM scroll documented in SHEETSHED.md), embed, plans, settings, admin. Firebase Storage for the files; Stripe for tiers.

Process

  • Library: Drag-and-drop upload and organization.
  • Performance: Viewer, embed, page-turn concepts.
  • Billing: Stripe plans and admin.

What we built

  • Sheet library: PDF/image upload with favorites and organization.
  • Performance viewer: Fullscreen in-browser viewing aimed at the stand, not the desktop folder.
  • Share + QR: Links and codes so a setlist is not a zip file.
  • Stripe plans: Subscription tiers and admin tooling.

How it was built

Expo ~50 web on Firebase `sheetshed-b9586`. Firebase Storage for files. Library grid, in-browser viewer (auto page-turn / BPM scroll documented in SHEETSHED.md), embed, plans, settings, admin.

Stripe for subscription tiers. Live at sheetshed-b9586.web.app. Sharing is a link or QR so a setlist is not a zip file.

Stack

  • Expo Web: v1.1 product
  • Firebase: Auth, Firestore, Storage
  • Stripe: Subscriptions

Outcomes

  • v1.1: Production release
  • Viewer: In-browser performance mode
  • QR: Shareable setlists
  • Live: sheetshed-b9586.web.app

Wins

  • PDF/image library with favorites and organization.
  • Fullscreen performance viewer aimed at the stand.
  • Share links and QR for setlists.
  • Stripe plans and admin, live on Firebase Hosting.

Hard parts

  • Not a Drive folder: Repertoire lived in binders and camera rolls. The product had to be a library, not another dump.
  • Performance mode: A viewer, not a file manager. Page-turn / BPM concepts exist because gigs are not desktops.
  • Share without email: Bandmates needed a link or QR, not an attachment that dies in spam.

Services

  • Expo Web + React Native
  • Firebase Auth, Firestore & Storage
  • PDF/Image Upload & In-Browser Viewer
  • Auto Page Turn & Performance Mode
  • Stripe Subscription Billing
  • Share Links, QR Codes & Admin Panel

Visit the live project

More case studies · Get a free development plan