Skip to content

Proiecte/TeamTipOut

TeamTipOut

Un calculator de bacșiș pentru echipele din restaurante. Împărțire ponderată după orele lucrate, echipe salvate și un export pe care îl vede toată tura, proiectat și construit în întregime de mine.

ROL
Design și dezvoltare
AN
2025–2026
PLATFORMĂ
iOS
STARE
Publicată în App Store
TeamTipOut — Echipa, salvată de la o tură la alta

Echipa, salvată de la o tură la alta

04 / 06

Screen 4 of 6: Echipa, salvată de la o tură la alta

Problema

Personalul din restaurante împarte bacșișul la finalul fiecărei ture, de obicei pe hârtie și de obicei greșit.

TeamTipOut calculează cât îi revine fiecărui rol de suport din orele în care s-a suprapus efectiv cu fiecare ospătar, împarte suma pe o echipă salvată și exportă rezultatul într-o formă pe care o poți pune pe masa unui manager fără discuții.

Aceasta e în întregime a mea: produs, interfață, backend, publicarea în magazin și redesignul din 2026. Rulează pe Supabase cu row-level security, RevenueCat pentru abonamente și expo-print pentru export.

Oamenii care o folosesc sunt obosiți, e miezul nopții și e gălăgie în sală. Constrângerea asta a modelat fiecare decizie: cifre mari, puține containere și contrast reglat pentru un telefon ținut la distanță de-un braț.

Rezultatul

Publicată în App Store și întreținută activ. E un singur cod care se compilează și pentru Android; build-ul acela nu a fost publicat, pentru că nu a avut nimeni nevoie de el încă. Designul și dezvoltarea sunt amândouă ale mele.

STARE
Publicată în App Store
PLATFORMĂ
iOS, dintr-un cod multiplatformă
PUBLICATĂ DIN
2025
Produsul

Trei ecrane îl duc.Un singur dispozitiv, trei stări.

TeamTipOut — state 6

STAREA 01 / 03

Echipa

O tură nu începe de la zero. Echipele se salvează, rolurile rămân, iar orele de intrare și de ieșire sunt singurul lucru pe care mai trebuie să-l introducă cineva la capătul unei nopți lungi.

TeamTipOut — state 2

STAREA 02 / 03

Împărțeala

Rolurile de suport primesc de la ospătarii cu care s-au suprapus efectiv. Fondul, ponderile și fiecare parte în parte se văd toate deodată, așa că nimeni nu trebuie să ia cifra pe încredere.

TeamTipOut — state 3

STAREA 03 / 03

Dovada

O tură se termină cu ceva ce poți trimite mai departe: un PDF sau un link care arată calculul, nu doar totalul. Certurile pe bacșiș sunt de obicei certuri pe o aritmetică pe care n-o vede nimeni.

Pe dedesubt

Două decizii care merită explicate.Părțile care au durat cel mai mult.

D—01

De ce o împărțire egală e nedreaptă

Într-o tură cu intrări decalate, o împărțire egală mută bani pe tăcute. Un ajutor care a lucrat ultimele două ore ia cât unul care a stat toată noaptea, iar cel care a muncit mai mult îl subvenționează pe cel care a muncit mai puțin.

Așa că unitatea de calcul e suprapunerea, nu numărul de oameni. Fiecare om de suport acumulează pondere față de fiecare ospătar pentru minutele în care au fost amândoi în sală, iar fondul se împarte pe matricea aceea.

splitTipout.tsTS
// weight is minutes on the floor togetherconst weight = overlapMinutes(support, server) // each server funds only their own overlapconst share =  server.pool * (weight / totalWeight(server)) return servers.reduce(sum, 0)

D—02

Redesignul din 2026, pe șleau

Prima versiune era o interfață închisă la culoare, generică, felul în care arată din oficiu o aplicație făcută repede. Funcționa, era ușor de uitat și făcea un instrument folosit într-o sală gălăgioasă la miezul nopții mai greu de citit decât trebuia.

Refacerea a mutat-o pe un sistem cald, editorial: crem, verde-pădure și un accent mentă, Fraunces pentru cifre și Plus Jakarta Sans pentru interfață. Cifre mai mari, mai puține containere, linii în loc de carduri.

theme.tsTS
// before: system defaults, everything a cardbg: '#16181C'  surface: '#22262C'font: system   accent: '#4F8CFF' // after: warm, editorial, figures firstbg: '#F3F0E7'  ink: '#163A2B'accent: '#7BE6A3'display: 'Fraunces'  ui: 'Plus Jakarta Sans'

PE CE E CONSTRUIT

CLIENT
React Native · Expo SDK 54 · expo-router · TypeScript strict
BACKEND
Supabase: Postgres, row-level security, Edge Functions
COMERȚ
RevenueCat: abonamente, pregătite pentru ambele magazine
IEȘIRE
expo-print · Sentry · EAS Build · App Store Connect

CREDITE

Design și dezvoltare în întregime ale mele: produs, interfață, backend, publicarea în magazin și redesignul din 2026.


STARE

Publicată în App Store și întreținută activ. Build-ul de Android vine din același cod și nu a fost publicat.

PROIECTUL URMĂTOR

Termkont

Vânzare de containere maritime pentru o firmă din Sankt Petersburg. Un catalog, un flux de cereri și un panou de administrare în spate.

Preiau proiecte noi

Spune-mi ce construiești.Un plan scris și un preț fix înainte să se miște vreun ban.

Răspund la tot într-o zi lucrătoare. Dacă nu sunt omul potrivit pentru proiect, ți-o spun din start, nu după trei săptămâni.