Skip to content

GigLoop v0.1.0

Latest

Choose a tag to compare

@thstanton thstanton released this 05 Jul 23:13
74470ef

GigLoop v0.1.0 — first production release

GigLoop is a CRM for working musicians — manage enquiries through to paid, confirmed gigs: contacts, bookings, contracts, invoices, repertoire, and a client-facing portal, designed mobile-first.

This is the initial production release. What's included:

Bookings & workflow

  • Booking lifecycle — enquiry → provisional → confirmed → ready → complete, with a unified booking builder and itinerary (sets, key moments, on-the-day logistics).
  • Goal-based checklist — each booking is driven by goals broken into steps, with per-goal preconditions, auto-completing rules, and "Mark as paid" shortcuts on the deposit/balance steps.
  • Smart reminders — per-concern "remind me about" with configurable lead times.
  • Series — recurring / residency bookings grouped together, with series-level invoicing.

Money

  • Invoices — draft → issued → sent → paid lifecycle, deposit + balance handling, automatic invoice numbering, and server-generated PDFs streamed to the client.
  • Contracts — draft, send, and client counter-signing through the portal, with generated PDFs.

Repertoire & music

  • Repertoire library and package templates for common event shapes.
  • Music request forms (draft / published) that clients complete via the portal.

Communications

  • Templates authored in a rich-text editor (Tiptap), rendered with variable substitution at send time.
  • Email delivery (Resend), plus a weekly digest.

Client portal

  • Token-based client portal (/booking/:token) — no client sign-in required: view booking details, sign the contract, complete the music form, and download documents, all gated by per-document visibility rules.

Discoverability & UX

  • In-context hints, concept cards, and a tips widget to orient new users.
  • Mobile-first throughout (built for 375px up, bottom-tab navigation).

Security & platform

  • Private document access (ADR-0059) — contracts and invoices are served from a private bucket via short-lived, access-checked links, not public URLs. Musician branding assets (logos/photos) remain public by design.
  • Multi-tenant — every request is scoped to the authenticated user (Clerk); no cross-tenant reads.
  • Release pipeline — a preprod smoke-test environment, tag-triggered production releases with a pre-release database snapshot for rollback, and migration rehearsal for schema changes. Production database in London (eu-west-2).

Operator notes (not user-facing)

  • Before relying on document downloads in prod, confirm the prod R2 token is scoped to the gigloop-documents bucket (a scope gap 404s downloads while everything else looks fine).
  • Run docs/smoke-test-checklist.md on preprod before cutting each release tag.