Punët
Çfarë kemi ndërtuar, dhe çfarë provon
Produkte të ndërtuara brenda studios për bizneset tona, jo punë për klientë: ende nuk kemi klientë. Hapeni cilindo prej tyre me ne në një bisedë.
Produkt i brendshëm · para lansimit · pagesa në regjim testimi
Whenbird
Një platformë rezervimesh ku bizneset publikojnë disponueshmërinë e tyre dhe klientët rezervojnë, me pagesat e rezervimeve që shkojnë te biznesi, në regjimin e testimit të Stripe derisa të hapen pagesat live.
Provë për: Ndërtim SaaS dhe platforme



- trajtues rrugësh API
- 73trajtues rrugësh API
- modele të bazës së të dhënave
- 21modele të bazës së të dhënave
- migrime të regjistruara
- 10migrime të regjistruara
- gjuhë
- 5gjuhë
Multi-tenant që nga skema: çdo biznes është një organizatë me shërbimet, burimet, stafin, rregullat e disponueshmërisë, periudhat e bllokuara dhe faqen e vet publike të rezervimit.
Klientët hyjnë me një kod katërshifror që u vjen me email, jo me fjalëkalim, dhe sesioni verifikohet sërish ndaj bazës së të dhënave në çdo renderim në server, në vend që t'i besohet një tokeni të nënshkruar.
Pagesat janë ndërtuar mbi Stripe Connect Express dhe funksionojnë në regjimin e testimit të Stripe derisa të hapen pagesat live. Çdo biznes është tregtari që i merr paratë për rezervimet e veta, dhe ne nuk jemi kurrë në rrugën e parave.
Pagesat krijohen me on_behalf_of, kështu që në pasqyrën e klientit shfaqet biznesi te i cili rezervoi. Gatishmëria e llogarisë së lidhur për të marrë para shkruhet vetëm nga webhook-u account.updated i vetë Stripe — kurrë nuk e pohon klienti.
Pesë gjuhë, me përkthime të vërteta, jo me tekste të mbushura automatikisht. E vetmja mangësi e deklaruar — njëzet e gjashtë çelësa në ekranin e përmbledhjes së panelit që shfaqeshin në anglisht — është mbyllur: një krahasim çelës për çelës me burimin anglisht tregon zero çelësa që mungojnë në secilën nga katër gjuhët e përkthyera.
Email-et ndjekin lexuesin: email-i i pronarit dërgohet në gjuhën me të cilën ka hyrë, ai i klientit në gjuhën në të cilën ka rezervuar, me data të formatuara për atë gjuhë. Aplikacioni web shërbehet në whenbird.com dhe API-ja e tij në api.whenbird.com.
Pjesa e vështirë
Makina e gjendjeve të pagesës i merr kalimet e veta me një përditësim të kushtëzuar nga gjendja prej së cilës po lëviz, kështu që webhook-u i Stripe dhe pika e statusit të vetë rezervimit mund të garojnë mes tyre — siç ndodh rregullisht — dhe email-i i konfirmimit dërgohet përsëri saktësisht një herë. Vetëm pagesa me kartë, me qëllim: SEPA dhe ACH e lëshojnë ngjarjen e përfundimit para se paratë të jenë shlyer realisht, gjë që do ta shënonte një rezervim si të paguar me fonde që mund të dështojnë ende. Ky vendim është i shkruar në kod me arsyetimin e tij, pranë thirrjeve të rimbursimit që mbajnë çelësa idempotence, që një përgjigje e humbur të mos rimbursojë dy herë.
const claimed = await prisma.booking.updateMany({
where: {
id: bookingId,
payment_status: "AWAITING_PAYMENT",
status: { not: "CANCELLED" },
},
data: {
status: "CONFIRMED",
payment_status: "PAID",
...(paymentIntentId ? { stripe_payment_intent_id: paymentIntentId } : {}),
},
});- 0_init
- 20260704120000_phase_2_event_types_and_no_overlap
- 20260704130000_add_booking_payments
- 20260704140000_harden_buffer_constraint
- 20260705090000_add_missing_fk_indexes
- 20260822000000_add_lifecycle_email_markers
- 20260831000000_service_color_default_neutral
- 20260831010000_add_stripe_webhook_ordering_guards
- 20260929120000_add_email_locale_and_onboarding_drip
- 20261002000000_reconcile_stripe_and_reminder_columns
E publikuar · throughbolt.com
Kjo faqe
Faqja që po lexoni, projekti më i ndershëm i referencës për nivelin e faqeve web, sepse çdo pohim këtu mund ta kontrolloni nga shfletuesi juaj.
Provë për: Faqe web dhe landing page
- cookie gjurmimi
- 0cookie gjurmimi
- skripte të palëve të treta
- 0skripte të palëve të treta
- raporte kontrasti të publikuara
- 9raporte kontrasti të publikuara
- objektivi WCAG 2.1
- AAobjektivi WCAG 2.1
E renderuar statikisht, me fonte të hostuara vetë dhe pa asnjë skript të palëve të treta. Nuk ka banner për cookie, sepse nuk ka asgjë për të pranuar: pa analitikë, pa piksela gjurmimi, pa video të ngulitura, dhe asnjë kërkesë gjatë ekzekutimit drejt ndonjë domeni tjetër përveç këtij.
Çdo ngjyrë teksti në paletë publikohet me raportin e kontrastit të matur ndaj të dy sipërfaqeve ku mund të shfaqet; më i ulëti është 5.59:1, kundrejt një kërkese prej 4.5:1. E vetmja ngjyrë dekorative që do të dështonte si tekst është shënuar në stylesheet si ngjyrë që nuk përdoret kurrë për tekst.
Faqet e shitjes janë markup i renderuar në server, që lexohet i plotë edhe me JavaScript të çaktivizuar; skriptet vetëm i shtojnë diçka, siç bën formulari i kërkesës në faqen kryesore. Kjo shpjegon pjesën më të madhe të mënyrës si ngarkohet.
Pjesa e vështirë
Aksesueshmëria këtu matet, nuk pohohet. Ka një kontroll automatik mbi çdo faqe publike që dështon me çdo shkelje të WCAG 2.1 AA — i ekzekutuar sipas kërkesës, jo në çdo push, sepse ende asnjë workflow nuk e përfshin — dhe komenti mbi të thotë hapur se testimi automatik kap afërsisht një të tretën e standardit dhe emërton kriteret që nuk mund t'i kontrollojë. Një mjet që raporton zero është provë; një mjet që raporton zero dhe ju tregon çfarë nuk ka parë është pohim i një lloji tjetër.
| Ngjyra e tekstit | Mbi | Kontrasti |
|---|---|---|
| foreground | ink | 16.73:1 |
| foreground | surface | 15.99:1 |
| muted | ink | 9.36:1 |
| muted | surface | 8.95:1 |
| subtle | ink | 5.84:1 |
| subtle | surface | 5.59:1 |
| copper | ink | 6.33:1 |
| copper | surface | 6.05:1 |
| onCopper | copper | 6.26:1 |
Për gjithçka
Numrat, dhe si u numëruan
- nga 2.449 teste kaluan (7 gusht 2026)
- 2,443nga 2.449 teste kaluan (7 gusht 2026)
- skedarë testesh (7 gusht 2026)
- 257skedarë testesh (7 gusht 2026)
- aplikacione Next.js
- 8aplikacione Next.js
- paketa të përbashkëta
- 19paketa të përbashkëta
Këto vijnë nga ekzekutimi i testeve më 7 gusht 2026, jo nga një distinktiv. Në atë ekzekutim një test dështoi dhe pesë u anashkaluan, prandaj shifra është shkruar kështu — një repozitor që pretendon se kalon gjithçka pa asnjë dështim është ose shumë i vogël, ose nuk po ju tregon diçka. Testet janë shtuar që atëherë; në bisedë i ekzekutojmë përpara jush dhe shihni numrat e sotëm.
Hapi tjetër
Kod që mund ta lexoni, në një bisedë
Biseda e parë është ndarje ekrani e atij projekti që i afrohet më shumë asaj që ju duhet — kodi i pagesave, skema, testet, ajo që mendoni se po e ekzagjerojmë. Çmimet janë në faqen e çmimeve, të plota, para se të pyesni.
Ju përgjigjemi brenda një dite pune.