Gå til indhold
Alle projekter

Projekt

Kuvert

Gavekort, klippekort og billetter til danske virksomheder, solgt fra deres egen hjemmeside. Bygget og drevet sammen med Adsmark.

BunHonoReactPostgresStripe ConnectApple WalletGoogle Wallet

Hvad det er#

Kuvert lader restauranter, caféer, venues og saloner sælge digitale gavekort, stempelkort og billetter fra deres egen hjemmeside. Køber betaler med MobilePay, kort, Apple Pay eller Google Pay, og modtager får en kode og en QR med det samme, pr. mail eller som en pass i Apple Wallet eller Google Wallet. Personale indløser det ved disken med telefonen de allerede har.

Bordbooking er et tillæg: almindelig restaurantbooking, og en natklubtilstand hvor en klub sælger natten som bordpakker.

Det er bygget og drevet af MICCI, sammen med Adsmark, det Vejle marketingagentur hvis kunder det først blev bygget for. Adsmark håndterer indhold og marketing, vi håndterer produktet, koden og driften.

Hvad det løser#

En lille dansk virksomhed der ønsker at sælge gavekort online ender normalt med et af to ting: en white-label platform der ligner nogen andens shop, eller et WooCommerce plugin som ingen vedligeholder når agenturet er gået. Ingen af dem håndterer billetter til en fredagsaften, et stempelkort til ti kaffer, eller et kort der skal bruges i tre besøg.

Kuvert lægger alle dem på et sted, indlejret på virksomhedens egen site, med disken, døren og bøgerne i det samme dashboard.

Hvad jeg nægtede at kompromisse på#

Kuvert holder aldrig pengene. Betalinger køres som Stripe Connect direkte afgifter: køber betaler på virksomhedens egen Stripe konto, pengene lander i deres saldo, og Kuvert tager kun sit gebyr. Der er ingen pulje af kunders penge siddende hos os i måneder. Begrundelsen er i Hvorfor Kuvert aldrig holder pengene.

En wallet pass der fortæller sandheden. Et pass gemt på en telefon er en kopi, og intet opdaterer det på sin egen. Hvert sted i koden der flytter en saldo skubber også ændringen til Apple og Google, så kortet i en kundes lomme viser hvad der er faktisk tilbage. Se En gemt wallet pass er en kopi.

Døren er den sværeste skærm. En telefon, en hånd, i mørket, med kø. Scanneren holder løbende mellem gæster i stedet for at spørge efter et tryk efter hver billet. Se Sådan lærte vi en gavekortsplatform at sælge en klubaften.

Hvordan det er bygget#

Bun og Hono på API'en, React 19 og Vite for storefront, dashboard og marketing site, Postgres gennem Drizzle, og end-to-end typer gennem Hono RPC. Penge lagres som integer øre overalt. Mail går gennem PostStack og alt kører på HostStack.

Kvalitetsport kører godt over tre tusinde tests uden en database eller netværk, og reglerne der bestemmer penge og adgang (korttilstand, billettilstand, scanport, release-ordre) lever som rene funktioner der deles af API, storefront og dashboard, så alle tre giver det samme svar.

Andre projekter