Siirry sisältöön

Tapaustutkimus

Coyotes and Candles: Kaksimiehisen yrityksen monipuolisen luovan alustan rakentaminen

Rooli: Itsenäinen full-stack-kehittäjä ja perustajajäsenKesto: kesäkuu 2026 (noin 8 päivää aktiivista kehitystyötä)Tila: Avoinna ja ottaa vastaan varauksia
Next.js 16SupabasePostgreSQLStripePayPalAgoraUpCloud + pm2

Ongelma

Vaimoni Alli ja minä pyöritämme Coyotes and Candles -yritystä, joka on kahden hengen yritys, joka tarjoaa tarot-ennustuksia, D&D-kertaluontoisia pelisessioita, yksityisiä ryhmäkampanjoita sekä verkkoyhteisön. Ennen tämän järjestelmän rakentamista jokainen liiketoiminnan osa oli hoidettu eri työkalulla:

  • -Calendly aikataulujen sovittamiseen (ei maksua, ei videoyhteyttä, ei jatkotoimia)
  • -Zoom-videopalvelu (ulkoiset linkit, ei sisäänrakennettua kontekstia)
  • -Patreon ja Ko-fi tilauksia varten (hajanaiset kohderyhmät)
  • -Discord yhteisöä varten (erillään kaikesta muusta)

Asiakkaiden piti vaihdella viiden eri työkalun välillä varatakseen ajan, liittyäkseen videopuheluun ja löytääkseen yhteisön. Tarvitsimme yhden alustan, joka hoitaisi kaiken ajanvarauksesta istunnon jälkeiseen seurantaan.

Mitä rakennettiin

Yksi integroitu alusta, jossa on kuusi erillistä varausprosessia, kaksi maksupalveluntarjoajaa, upotettu reaaliaikainen videotoiminto, kattava virtuaalinen pöytäkattaus, yhteisöjärjestelmä ja hallintapaneeli – korvaa kaikki viisi työkalua.

Varaukset ja maksut

  • ·6 varausprosessia: tarot-ennustukset, kertaluonteiset palvelut, yksityisryhmät, kampanjat, joissa laskutus tapahtuu jälkikäteen, lahjakortit, tilaukset
  • ·Stripe kertamaksuja ja toistuvia tilauksia varten
  • ·PayPal-tilausrajapinta (API) ja kattava webhookien elinkaaren hallinta
  • ·Yli 20 valmiita sähköpostimallia: vahvistukset, muistutukset, virheilmoitukset ja palautukset
  • ·Reaaliaikainen saatavuuskalenteri, jossa otetaan huomioon aikavyöhykkeet
  • ·Automaattinen hyvitys, jos peruutetaan vähintään 48 tuntia ennen istuntoa
  • ·Aikataulun muuttaminen itsepalveluna ja kampanjapaikkojen varaus maksua lykkäämällä
  • ·Lahjakortit ja tarjouskoodit

Istunnon toteutus (VTT)

  • ·Agora-sovellukseen integroidut live-videohuoneet – lataamista ei tarvita
  • ·Täysin virtuaalinen pelipöytä: pelinappulat, sodan sumu, vapaakäsin piirtäminen, noppapeli
  • ·D&D 5e -hahmolomakkeet, joissa on täysi integrointi SRD-kokoelmaan
  • ·Shadowrun 4e -hahmolomakkeet, joissa on Chummer XML -tuonti
  • ·GM:n hallinnoima musiikki YouTuben kautta
  • ·CoyoteCloud: reaaliaikainen DiceCloud-tiedonsiirto ja kaksisuuntainen synkronointi, jolloin DiceCloudissa tehdyt hahmomuutokset näkyvät VTT:ssä välittömästi

Yhteisö

  • ·Discord-tyylinen kanavajärjestelmä, kampanjakohtaiset kanavat
  • ·Suorat viestit, reaktiot, kirjoitusilmaisimet
  • ·Verkkopush-ilmoitukset
  • ·Moderointityökalut ja tarkastuslokit
  • ·Valinnainen Discord-webhookin peilaus

Hallintapaneeli

  • ·Varaukset ja kampanjoiden hallinta
  • ·Pelaajien hallinta mukautettujen hinnoittelun ja läsnäolon seurannan avulla
  • ·Istunnon muistiinpanot ja yhteenvedot
  • ·Liikevaihdon analytiikka ja tuloslaskelma
  • ·Google Search Console -integraatio
  • ·Virheiden seuranta ja päällekkäisyyksien poisto

Kuvakaappaukset

Tarot readings booking page
Live VTT session - tokens on a real map
Shadowrun 4e character sheet in VTT
Community channels
Admin dashboard
Analytics - traffic, revenue, top pages

Tekninen arkkitehtuuri

FrontendNext.js 16 (App Router), TypeScript, Tailwind CSS
BackendSupabase (PostgreSQL, Auth, Realtime) with Row Level Security
DeploymentUpCloud VPS via pm2 + Caddy reverse proxy
PaymentsStripe (one-time + recurring), PayPal Subscriptions API
VideoAgora SDK - embedded rooms, no downloads
SecurityNonce-pohjainen CSP, atomiset tietokantatoiminnot, ajallisesti turvalliset vertailut
ComplianceGDPR-yhteensopiva, suomalainen arvonlisävero (25,5 %), JSON-LD-rakenteiset tiedot, suomalainen yksityisyrittäjä (Y-tunnus: 3572436-7)

Linkit