Web + iOS · Live on the App Store

Termino

Online booking for Croatian hair, beauty and nail salons. Clients book in a couple of clicks, 24/7 — owners run the calendar, clients and waitlist from the web or the native iPhone app. Free for salons and clients.

Screenshots

Termino marketplace homepage — search salons by service and location
The marketplace — clients search salons by service and location and book without an account.
Termino salon profile with services and the three-step booking widget
A salon profile — services, staff, gallery and reviews, with the three-step booking widget alongside.
Termino native iPhone app
The native iPhone app — the same product wrapped in Capacitor, with APNs push for owners.

What it does

Small salons still take most bookings by phone — during working hours, mid-treatment, with a paper calendar. Termino gives every salon a public profile clients can book from around the clock, and the owner a dashboard that replaces the notebook.

  • Salon profile with services, staff, gallery, Instagram-style stories and Google reviews
  • Clients book 24/7 without an account — email confirmation and a reminder the day before
  • Day and week calendar, manual bookings and a client base for the owner
  • Per-service daily limits and split shifts — the schedule matches how salons actually work
  • Waitlist: when a slot frees up, the next client is notified automatically
  • Owner push notifications — Web Push in the browser, native APNs in the iOS app
  • Self-serve onboarding — a new salon is live in a few minutes
  • No third-party tracking anywhere; visits are counted first-party, without cookies

Mali saloni većinu termina i dalje primaju telefonom — usred radnog vremena, usred tretmana, s papirnatim kalendarom. Termino svakom salonu daje javni profil s kojeg klijenti rezerviraju 0-24, a vlasniku dashboard koji mijenja bilježnicu.

  • Profil salona s uslugama, djelatnicima, galerijom, storyjima i Google recenzijama
  • Klijenti rezerviraju 24/7 bez registracije — email potvrda i podsjetnik dan ranije
  • Dnevni i tjedni kalendar, ručne rezervacije i baza klijenata za vlasnika
  • Dnevni limiti po usluzi i podijeljene smjene — raspored prati kako saloni stvarno rade
  • Lista čekanja: kad se termin oslobodi, sljedeći klijent automatski dobije obavijest
  • Push obavijesti vlasniku — Web Push u pregledniku, nativni APNs u iOS aplikaciji
  • Self-serve onboarding — novi salon je online za par minuta
  • Nigdje nema praćenja trećih strana; posjeti se broje first-party, bez kolačića

Kleine Salons nehmen die meisten Termine noch immer telefonisch an — mitten in der Arbeitszeit, mitten in der Behandlung, mit Papierkalender. Termino gibt jedem Salon ein öffentliches Profil, über das Kundinnen und Kunden rund um die Uhr buchen, und den Inhabern ein Dashboard, das das Notizbuch ersetzt.

  • Salonprofil mit Leistungen, Team, Galerie, Stories im Instagram-Stil und Google-Bewertungen
  • Kunden buchen 24/7 ohne Konto — E-Mail-Bestätigung und Erinnerung am Vortag
  • Tages- und Wochenkalender, manuelle Buchungen und Kundenkartei für den Inhaber
  • Tageslimits pro Leistung und geteilte Schichten — der Plan folgt dem echten Salonalltag
  • Warteliste: Wird ein Termin frei, wird der nächste Kunde automatisch benachrichtigt
  • Push-Benachrichtigungen für Inhaber — Web Push im Browser, natives APNs in der iOS-App
  • Self-Service-Onboarding — ein neuer Salon ist in wenigen Minuten online
  • Kein Tracking durch Dritte; Besuche werden first-party gezählt, ohne Cookies

How it works

The frontend is a static bundle on Netlify — no framework, no build step. Supabase provides Postgres with row-level security, auth and edge functions: transactional email through MailerSend, Web Push over VAPID, and APNs push sent straight to Apple with an ES256 JWT signed in the function itself. Scheduled pg_cron sweeps handle the day-before reminders and review requests.

The iPhone app is the same codebase wrapped in Capacitor — a curated allowlist build ships only the public pages, the App Store binary carries no donation links or consent banners, and a native subclass pins the scroll view so the UI feels native, not embedded. Getting through App Review took four rounds; every rejection made the product cleaner.

Frontend je statički paket na Netlifyju — bez frameworka, bez build stepa. Supabase daje Postgres s row-level securityjem, auth i edge funkcije: transakcijski mailovi kroz MailerSend, Web Push preko VAPID-a, a APNs push ide ravno na Apple s ES256 JWT-om potpisanim u samoj funkciji. Zakazani pg_cron sweepovi šalju podsjetnike dan ranije i zamolbe za recenziju.

iPhone aplikacija je isti kod zapakiran u Capacitor — kurirani allowlist build nosi samo javne stranice, binarka za App Store nema donacijskih linkova ni consent bannera, a nativni subclass fiksira scroll view da sučelje djeluje nativno, ne ugrađeno. Prolazak App Reviewa trajao je četiri runde; svako odbijanje je proizvod učinilo čišćim.

Das Frontend ist ein statisches Bundle auf Netlify — ohne Framework, ohne Build-Schritt. Supabase liefert Postgres mit Row-Level Security, Auth und Edge Functions: Transaktions-E-Mails über MailerSend, Web Push über VAPID, und der APNs-Push geht mit einem in der Function selbst signierten ES256-JWT direkt an Apple. Geplante pg_cron-Sweeps verschicken die Erinnerungen am Vortag und die Bewertungsanfragen.

Die iPhone-App ist derselbe Code, verpackt in Capacitor — ein kuratierter Allowlist-Build enthält nur die öffentlichen Seiten, die App-Store-Binary trägt weder Spendenlinks noch Consent-Banner, und eine native Subklasse fixiert die Scroll-View, damit sich die Oberfläche nativ anfühlt statt eingebettet. Der Weg durch das App Review dauerte vier Runden; jede Ablehnung hat das Produkt sauberer gemacht.

Build story

Termino started as a redesign exercise of a local booking product and grew into the full thing: a real marketplace with a live database, email pipeline, push notifications and an iOS app — all on free-tier infrastructure. Apple rejected it four times (a donation button, an iPad layout bug, copy that implied a paid tier, a cookie banner read as a tracking prompt) before approving it in July 2026. Within a month the first salon owner found it organically and signed up on their own. This end-to-end product work — design, backend, App Store — is what I do for founders at Codigit.

Termino je krenuo kao vježba redizajna lokalnog booking proizvoda i narastao u pravu stvar: marketplace sa živom bazom, email pipelineom, push obavijestima i iOS aplikacijom — sve na besplatnoj infrastrukturi. Apple ga je četiri puta odbio (gumb za donacije, iPad layout bug, copy koji je sugerirao plaćeni paket, cookie banner protumačen kao praćenje) prije odobrenja u srpnju 2026. Unutar mjesec dana prvi se vlasnik salona sam pronašao i registrirao. Ovakav end-to-end proizvodni rad — dizajn, backend, App Store — radim za founderse kroz Codigit.

Termino begann als Redesign-Übung eines lokalen Buchungsprodukts und wuchs zur echten Sache: ein Marktplatz mit Live-Datenbank, E-Mail-Pipeline, Push-Benachrichtigungen und iOS-App — alles auf kostenloser Infrastruktur. Apple lehnte die App viermal ab (ein Spenden-Button, ein iPad-Layout-Fehler, Texte, die einen Bezahltarif andeuteten, ein Cookie-Banner, das als Tracking gelesen wurde), bevor sie im Juli 2026 freigegeben wurde. Innerhalb eines Monats fand der erste Saloninhaber die Plattform organisch und registrierte sich selbst. Diese End-to-End-Produktarbeit — Design, Backend, App Store — mache ich für Gründer bei Codigit.

Found this useful? Share it.

← Back to all apps