Aplikacje 2026

BakePilot - Własny System SaaS dla Cukierni i Piekarni: od Zamówienia po KSeF

Własny produkt KamikStudio, zrodzony w cukierni PyziPyzi w Kaliszu. 175 funkcji, 147 tabel, KSeF w obu kierunkach, trzy języki, aplikacja w Google Play i 84 wydania w pół roku. Na nim sprawdzamy rozwiązania, które potem trafiają do systemów klientów.

BakePilot (produkt własny KamikStudio)
Cukiernie i piekarnie - produkcja spożywcza
Od marca 2026, rozwijany stale
Strona główna bakepilot.pl z podglądem aplikacji BakePilot

Produkt, który zaczął się w cukierni

BakePilot to system do zarządzania cukiernią i piekarnią: zamówienia, receptury z kosztem surowca, produkcja, magazyn, faktury z KSeF, HACCP, czas pracy zespołu i finanse. Działa w przeglądarce, na tablecie w pracowni i jako aplikacja na Androida. Sprzedajemy go w abonamencie pod adresem bakepilot.pl.

Nie powstał na zlecenie. Od maja 2018 roku Kamila i Patryk Kowalscy prowadzą w Kaliszu cukiernię rzemieślniczą PyziPyzi. Przez lata przetestowali zeszyty, Excela, karteczki na lodówce i trzy gotowe aplikacje. Żadna nie odpowiadała na pytania, które cukiernia zadaje sobie codziennie: ile naprawdę kosztuje ten tort, co trzeba upiec na jutro, czego zabraknie w magazynie i czy faktura doszła do urzędu.

Patryk prowadzi też KamikStudio. BakePilot jest więc projektem, w którym jesteśmy jednocześnie klientem, właścicielem produktu i wykonawcą. To daje rzadką sytuację: każdą decyzję architektoniczną weryfikujemy na własnej firmie, na prawdziwych fakturach i prawdziwych zamówieniach, zanim podobne rozwiązanie zaproponujemy komukolwiek innemu. Na własnym produkcie sprawdzamy rozwiązania, które potem trafiają do systemów naszych klientów.

175
Funkcji w katalogu, każda z planem, uprawnieniem i bramką w kodzie

229
Migracji bazy danych od marca 2026

4 000+
Testów automatycznych w ponad 500 plikach

84
Publicznych wydań w pół roku, od 2.0.0 do 3.5.0

Skala, której nie widać z zewnątrz

Z perspektywy cukiernika BakePilot to kilkanaście pozycji w menu. Pod spodem jest system, który rozmiarem i liczbą zależności nie odbiega od rozwiązań dedykowanych dla średnich firm produkcyjnych. Kilka liczb policzonych z repozytorium:

  • Trzy aplikacje Next.js w jednym repozytorium (aplikacja dla cukierni, panel administracyjny, strona z dokumentacją i blogiem), do tego powłoka mobilna i niezależny monitoring. Łącznie ponad 270 tysięcy linii TypeScriptu
  • 147 tabel w PostgreSQL oraz kilkaset polityk dostępu, funkcji i wyzwalaczy bazodanowych, wszystko zapisane w 229 migracjach
  • 75 decyzji architektonicznych spisanych jako ADR, z kontekstem, odrzuconymi wariantami i konsekwencjami
  • 23 widoki aplikacji i 175 funkcji opisanych w jednym katalogu, z którego budują się jednocześnie cennik na stronie i blokady w aplikacji
  • 6 ról pracowniczych i 131 uprawnień w modelu „moduł.akcja", z możliwością nadpisania przez właściciela cukierni
  • 3 języki interfejsu (polski, angielski, ukraiński) po 1 087 kluczy każdy i 11 walut z migawką waluty w każdym dokumencie
  • 17 zadań cyklicznych: od pobierania faktur kosztowych z KSeF i odnawiania certyfikatów po przypomnienia o odbiorze zamówień
  • 86 artykułów dokumentacji użytkownika w 23 kategoriach, ze zrzutami ekranu
Tablica produkcji BakePilot z kolumnami Nowe, W realizacji, Gotowe i Wydane, z kartami zamówień i pozycjami do upieczenia
Tablica produkcji: zespół widzi, co i na kiedy ma być gotowe, bez dzwonienia do właścicielki. Dane demonstracyjne.

Od karteczki do faktury w jednym obiegu

Punkt wyjścia był bardzo konkretny. W PyziPyzi zamówienia ginęły na karteczkach, ceny tortów ustalało się na oko, a administracja zabierała kilkanaście godzin tygodniowo. Te liczby są dziś na stronie produktu jako opis przypadku naszej cukierni.

PyziPyzi przed BakePilotem

Zamówienia w zeszycie i na karteczkach, 3-5 pomyłek dziennie

Przyjęcie zamówienia trwało około 8 minut

Koszt tortu liczony na oko albo w Excelu

Ceny surowców przepisywane ręcznie z faktur hurtowni

Temperatury lodówek na papierowych drukach

8-16 godzin tygodniowo na administrację

PyziPyzi z BakePilotem

Zamówienia w systemie, tablica produkcji dla zespołu, zero pomyłek

Zamówienie z telefonu w 90 sekund

Koszt receptury z półproduktami, energią i narzutem liczony na bieżąco

Faktury kosztowe pobierane z KSeF same, ceny składników aktualizują się po zatwierdzeniu

Rejestr temperatur z normami i alarmami

Około godziny tygodniowo na administrację

Z tego doświadczenia wyrosło 18 grup funkcji w cenniku. Najważniejsze obszary:

  • Sprzedaż
    Zamówienia detaliczne i hurtowe, zamówienia stałe generowane cyklicznie, cenniki dla grup odbiorców z datą obowiązywania i promocjami, konfigurator tortów z wyceną za kilogram lub porcję, oferty i umowy na wesela i catering, dowozy z trasą w Google Maps
  • Produkcja
    Receptury wielopoziomowe z półproduktami (cykle blokowane w bazie i w aplikacji), produkcja z receptury w trybie ważenia na ekranie dotykowym, tablica produkcji, wydruki przeliczone na zaplanowaną ilość
  • Koszty i zapasy
    Baza składników z wieloma dostawcami i historią cen, skaner cen faktur, magazyn surowców, wyrobów gotowych i półproduktów, inwentura jako dokument z datą, planer zakupów liczony z zamówień
  • Dokumenty i przepisy
    Faktury sprzedażowe i korygujące wysyłane do KSeF, dokumenty WZ z fakturą zbiorczą, raporty dobowe z rozbiciem VAT, szacunek VAT i próg rentowności w module Finanse, HACCP z rejestrem temperatur i drukami GHP/GMP
  • Zespół i integracje
    Czas pracy z grafikiem, odbijaniem na wspólnym tablecie kodem PIN, urlopami i rozliczeniem godzin, kalendarz z synchronizacją iCal na iOS i Androidzie, publiczne API z dokumentacją OpenAPI dla zamówień ze strony cukierni
Karta receptury z kalkulatorem kosztów: składniki z ilością i ceną za kilogram, koszty dodatkowe, koszt całkowity, cena za kilogram i za sztukę z marżą
Kalkulator kosztów receptury: surowce, narzut kosztów stałych, energia urządzeń, cena za kilogram i za sztukę. Dane demonstracyjne.

Architektura: jedna baza, wiele firm

Pierwszą poważną decyzją był model wielodostępności. Rozważyliśmy trzy warianty: osobną bazę dla każdej cukierni, osobne schematy w jednej bazie i jedną wspólną bazę z izolacją na poziomie wierszy. Pierwszy odpadł na kosztach infrastruktury, które przy kilkuset klientach zjadłyby większość marży. Drugi na złożoności migracji, bo każda zmiana schematu musiałaby przejść przez setki kopii.

Wybraliśmy PostgreSQL w Supabase z Row Level Security. Każdy wiersz z danymi cukierni ma identyfikator organizacji, a baza sama odmawia zwrócenia danych innej firmy, nawet gdyby w kodzie aplikacji pojawił się błąd. Uzupełnieniem są uprawnienia nadawane na poziomie kolumn, a operacje serwerowe korzystające z konta technicznego mają listy dozwolonych tabel i kolumn zamiast pełnego dostępu.

Ta sama zasada „nie ufaj jednej warstwie" wraca w obiegu zamówienia. Od wersji 3.5.0 zamówienie z pozycjami zapisuje się w jednej transakcji bazodanowej, z identyfikatorem żądania nadawanym przez formularz. Gdy w pracowni na chwilę zniknie internet, formularz ponawia zapis, a baza rozpoznaje powtórkę i nie tworzy duplikatu. Każda zmiana zamówienia trafia do historii, do której można tylko dopisywać.

Dlaczego to ważne poza cukiernią

Przerwa w połączeniu w trakcie zapisu to codzienność w hali produkcyjnej, magazynie czy u handlowca w terenie. Zapis atomowy z identyfikatorem żądania to wzorzec, który stosujemy wszędzie tam, gdzie podwójne zamówienie albo pół zapisanego dokumentu kosztuje realne pieniądze.

Plany i uprawnienia z jednego źródła

BakePilot ma trzy plany abonamentowe: Podstawowy, Profesjonalny i Mistrzowski. Do września 2026 plan działał na poziomie całego modułu, więc wszystko wewnątrz dziedziczyło jeden plan. Audyt porównujący cennik z kodem wykazał 9 rozjazdów: funkcje opisane w droższym planie dostępne w tańszym i odwrotnie.

Zamiast poprawiać dziewięć miejsc, zmieniliśmy model. Powstał katalog funkcji: jeden plik opisujący 175 funkcji na poziomie widoku i zakładki, każdą z minimalnym planem, uprawnieniem roli, adresem i informacją, co jej pilnuje w kodzie. Z tego katalogu budują się trzy rzeczy naraz: tabela cennika na stronie (76 wierszy w 18 grupach), blokady w aplikacji i podgląd w panelu administracyjnym. Przeniesienie funkcji do innego planu to jedna zmiana, która przestawia jednocześnie cennik i realny dostęp.

1

Wpis w katalogu

Nowa funkcja dostaje minimalny plan, uprawnienie roli, trasę i deklarację, czym jest pilnowana

2

Uprawnienie i etykieta

Klucz w modelu „moduł.akcja" i czytelna nazwa w matrycy uprawnień, którą widzi właściciel cukierni

3

Bramka w kodzie

Na stronie, w akcji serwerowej, w trasie API albo w interfejsie, zależnie od tego, gdzie funkcja żyje

4

Synchronizacja kopii

Skrypt rozsyła katalog do aplikacji i panelu, bo to osobne projekty wdrożeniowe. Kopii nie edytuje się ręcznie

5

Artykuł i zrzut

Funkcja bez opisu w dokumentacji użytkownika nie jest uznawana za skończoną

Pilnują tego testy-strażnicy. Pierwszy sprawdza, że kopie katalogu są identyczne ze źródłem, że każde uprawnienie ma pozycję w katalogu, każda pozycja menu ma funkcję, a liczba funkcji bez żadnej bramki wynosi zero. Drugi czyta kod źródłowy i sprawdza, czy deklaracja w katalogu nie kłamie: jeśli funkcja twierdzi, że ma własną bramkę, w kodzie musi istnieć jej wywołanie. Dziś 105 funkcji ma własną bramkę, 19 jest pilnowanych na poziomie modułu, 40 wyłącznie rolą, a 11 opisuje rzeczy spoza kodu (na przykład wsparcie priorytetowe) i każda z nich ma obowiązkową notatkę z uzasadnieniem.

Matryca uprawnień w ustawieniach: lista modułów i akcji z polami wyboru dla ról administrator, sprzedawca, cukiernik, magazynier, zaopatrzeniowiec i księgowa
Matryca uprawnień: właściciel cukierni sam decyduje, co może każda z pięciu ról pracowniczych. Administrator ma zawsze pełny dostęp.

Na tym samym fundamencie stoją uprawnienia ról nadpisywane per organizacja. Sześć ról (administrator, sprzedawca, cukiernik, magazynier, zaopatrzeniowiec, księgowa) ma rozsądne ustawienia domyślne, a właściciel może je zmienić w matrycy. Osiem uprawnień bazowych jest zablokowanych do edycji, a moduły wrażliwe, takie jak Finanse i Czas pracy, można dodatkowo zamknąć drugim hasłem administratora. To ważne w małych firmach, w których kilka osób pracuje na jednym tablecie.

KSeF bez tokenów i bez urzędu

Krajowy System e-Faktur był od początku jedną z głównych przyczyn, dla których cukiernie szukały nowego oprogramowania. Integracja w BakePilocie obejmuje oba kierunki: wysyłkę faktur sprzedażowych i korygujących w formacie FA(3) oraz automatyczne pobieranie faktur kosztowych.

Najtrudniejsze okazało się uwierzytelnienie. Przekierowanie do logowania przez login.gov.pl nie jest dostępne dla aplikacji komercyjnych, a tokeny KSeF przestają działać 1 stycznia 2027 roku. Zbudowaliśmy więc kreator „na klik": cukiernik pobiera plik autoryzacyjny, podpisuje go Profilem Zaufanym na gov.pl albo podpisem kwalifikowanym, a system sam generuje klucz, wysyła wniosek i rejestruje wewnętrzny certyfikat KSeF. Certyfikat jest bezpłatny, ważny do dwóch lat i odnawia go zadanie cykliczne, bez udziału użytkownika. Przechowywane certyfikaty są szyfrowane, a podpis żądań idzie w standardzie XAdES.

Lista faktur sprzedażowych z numerami, datami, kontrahentami, kwotami netto i brutto oraz statusem wysyłki do KSeF i płatności
Faktury z KSeF: status wysyłki i płatności przy każdym dokumencie, osobna zakładka faktur zakupowych. Dane demonstracyjne.

Faktury kosztowe pobiera zadanie cykliczne, które zapamiętuje, dokąd doszło, i nadrabia historię. API Ministerstwa Finansów ma twarde limity: 8 zapytań na sekundę, 16 na minutę i 20 na godzinę przy wyszukiwaniu, a przy pobieraniu treści faktur 64 na godzinę. Kod je respektuje: między pobraniami czeka 3,9 sekundy, a po odpowiedzi o przekroczeniu limitu kończy pracę łagodnie i wraca w następnym cyklu.

API, które milczy zamiast zgłosić błąd

Na produkcji okazało się, że parametry stronicowania wysłane w treści żądania są przez KSeF po cichu ignorowane, a API zwraca domyślne dziesięć pozycji. Działają wyłącznie w adresie zapytania. Takich pułapek nie ma w dokumentacji, a w systemie klienta oznaczałyby niekompletną księgowość bez żadnego komunikatu o błędzie. Wszystkie potwierdzone przypadki mamy spisane razem z poprawnym sposobem wywołania.

Pobrana faktura nie kończy się na archiwum. Parser czyta strukturę FA(3) i przekazuje pozycje do skanera cen, który dopasowuje je do składników i pokazuje, co podrożało oraz które receptury trzeba przeliczyć. Przy tej okazji wyszła specyfika branży: największa hurtownia spożywcza nie przekazuje do KSeF liczby sztuk w kartonie, więc ta sama jednostka raz oznacza kostkę masła, a raz karton ośmiu kostek. Rozwiązaniem jest katalog opakowań hurtowni, z 205 produktami na start, który dzieli cenę kartonu przez liczbę sztuk po kodzie EAN. Zasada nadrzędna: pozycji, której nie da się przeliczyć pewnie, system nie zgaduje, tylko pomija i opisuje powód.

Podgląd importu faktury kosztowej pobranej z KSeF: pozycje z kodem EAN, przeliczenie ceny kartonu na sztukę, pozycja niezmapowana i lista receptur do przeliczenia
Faktura kosztowa pobrana z KSeF: cena kartonu przeliczona na sztukę i lista receptur, których koszt zmieni się po zatwierdzeniu. Dane demonstracyjne.

Od 1 kwietnia 2026 roku KSeF obejmuje wszystkich, także korekty. BakePilot wystawia faktury korygujące w osobnej serii, z rozpoznaniem właściwego okresu VAT, i odbiera korekty od dostawców bez nadpisywania cen składników, bo cicho zła cena jest groźniejsza niż brak aktualizacji. Obsługuje też trzeci podmiot na fakturze, czyli sytuację, w której ciasta odbiera przedszkole, a płaci gmina.

Własny billing zamiast pośrednika

Abonamenty BakePilota rozliczamy przez Stripe, a faktury VAT wystawia automatycznie Fakturownia i przekazuje je do KSeF. Przejście na ten model z zewnętrznej platformy sprzedażowej zajęło kilka dni, ale reguły, które w nim obowiązują, są efektem dłuższej pracy:

  • Organizacja, której dotyczy płatność, pochodzi wyłącznie z sesji zalogowanego administratora, nigdy z adresu e-mail czy NIP-u wpisanego w formularzu
  • Stan subskrypcji zawsze odczytujemy z API, a nie z treści zdarzenia, bo kolejność dostarczania zdarzeń nie jest gwarantowana
  • Kwoty mają jedno źródło w groszach, z którego budują się katalog cen w Stripe, faktury i kody rabatowe
  • Błąd wystawienia faktury nigdy nie cofa opłaconego planu: faktura czeka w kolejce, którą co 15 minut obsługuje zadanie cykliczne
  • Osobne zadanie codziennie porównuje stan kont z płatnościami, więc opłacone konto nie wygaśnie przez pominięte zdarzenie

Cztery osie: język, format, waluta, kraj

Od wersji 3.2.0 interfejs działa po polsku, angielsku i ukraińsku. W polskich cukierniach i piekarniach pracuje wiele osób z Ukrainy, a ekrany pracownicze (produkcja, tryb ważenia, czas pracy, HACCP, tablica produkcji, magazyn) muszą być dla nich zrozumiałe.

Kluczowa decyzja dotyczyła tego, czego nie wolno wyprowadzać jednego z drugiego. Język interfejsu należy do użytkownika. Format liczb, dat i język dokumentów należy do organizacji. Waluta jest ustawieniem firmy, ale zapisuje się w każdym dokumencie osobno. Kraj decyduje o VAT i KSeF. Piekarz z Ukrainy pracujący w Kaliszu ma interfejs po ukraińsku, ale faktura dla klienta wychodzi po polsku, w złotych i trafia do KSeF. Powiadomienie, które jego aplikacja wysyła do właścicielki, przychodzi w języku właścicielki, nie nadawcy.

Waluta zapisana w dokumencie, nie odczytywana z ustawień

BakePilot obsługuje 11 walut i niemieckie stawki VAT dla cukierni rozliczających się w euro. Każde zamówienie, faktura, oferta, umowa i raport dobowy przechowuje własną migawkę waluty. Zmiana ustawień organizacji nigdy nie zmienia wstecz starych dokumentów. Ta zasada wynikła z błędu: w pewnym momencie historyczne faktury w złotych mogły wyświetlić się jako euro po zmianie waluty firmy. Poprawka objęła około 30 plików i rozdzieliła dwie ścieżki: tworzenie nowych dokumentów i wyświetlanie istniejących.

Tłumaczeń pilnują testy: ten sam klucz musi istnieć w każdym języku, inaczej kompilacja się nie powiedzie. Liczba mnoga w polskim i ukraińskim ma komplet form, a na środowisku testowym działa pseudojęzyk, który wydłuża teksty, żeby sprawdzić układ ekranów pod niemiecki i węgierski, dłuższe średnio o około 40 procent.

Bezpieczeństwo i zgodność

BakePilot przechowuje dane, za które cukiernia odpowiada przed klientami, Sanepidem i urzędem skarbowym: zamówienia z danymi osobowymi, faktury, certyfikaty KSeF, rejestry HACCP i ewidencję czasu pracy. Dlatego bezpieczeństwo jest zapisane w kodzie i w dokumentach, nie tylko w deklaracjach.

  • Izolacja danych w bazie
    Row Level Security na tabelach z danymi firm, polityki dostępu rozróżniające uprawnienia ról (płace, faktury, Finanse, KSeF) i uprawnienia na poziomie kolumn
  • Pomoc techniczna tylko za zgodą
    Podgląd konta klienta przez wsparcie jest możliwy wyłącznie po zgodzie wyrażonej w zgłoszeniu, wygasa po 24 godzinach i zostaje w dzienniku audytowym
  • Dane osobowe poza logami
    Adresy e-mail, NIP-y i numery telefonów są maskowane, zanim zdarzenie trafi do systemu monitorowania błędów. Limity zapytań na trasach wyszukiwania i weryfikacji firm
  • System zarządzania bezpieczeństwem
    Audyt bazy, aplikacji i infrastruktury z października 2026 oraz dokumentacja w układzie ISO/IEC 27001:2022: polityka bezpieczeństwa, rejestr ryzyk, deklaracja stosowania 93 zabezpieczeń, plan ciągłości działania i procedura incydentów
  • RODO i akt o usługach cyfrowych
    Zgoda na pliki cookies w trybie Consent Mode v2, wykaz podprocesorów w dokumentach prawnych, procedura DSA i publiczny formularz zgłaszania nielegalnych treści
  • HACCP gotowy na kontrolę
    Rejestr temperatur urządzeń z zakresem normy i alarmami, druki kontrolne GHP/GMP, szablony z historią zmian, w której każda edycja wymaga podania powodu

Ceny surowców i kosztów to też obszar zgodności, tylko finansowej. Moduł Finanse liczy szacunek VAT i próg rentowności, a jego wynik porównaliśmy z podliczeniem biura rachunkowego na danych naszej cukierni, zanim udostępniliśmy go klientom. Silniki obliczeń to czyste funkcje z testami, a reguła jest prosta: gdy wyniku nie da się policzyć uczciwie, system zwraca brak wyniku, a nie zero. Zero bywa prawdą, brak danych nie.

Proces: jak wydajemy 84 wersje w pół roku

Tempo rozwoju BakePilota jest wysokie, a mimo to aplikacja obsługuje działające firmy. Pozwala na to rozdzielenie środowisk i powtarzalny proces wydania.

1

Plan i decyzja

Większa zmiana zaczyna się od planu wdrożenia, a decyzja z konsekwencjami dla architektury trafia do rejestru ADR

2

Środowisko testowe

Gałąź robocza wdraża się automatycznie na osobną instancję z osobną bazą danych, zamkniętą hasłem i wyłączoną z indeksowania

3

Testy i przegląd

Testy jednostkowe i strażnicy architektury, przegląd kodu i bezpieczeństwa przed scaleniem z gałęzią produkcyjną

4

Migracje idempotentne

Zmiany bazy pisane tak, by bezpiecznie dało się je uruchomić ponownie, wdrażane najpierw na bazie testowej

5

Wydanie z opisem

Numer wersji w trzech aplikacjach, publiczny dziennik zmian pisany językiem cukiernika i wewnętrzny dziennik techniczny

6

Dokumentacja i zrzuty

Artykuł w centrum pomocy aktualizowany razem z kodem, ze zrzutami z konta demonstracyjnego

Dokumentacja użytkownika ma własną regułę, spisaną po audycie: artykuł opisuje wyłącznie funkcje istniejące w kodzie, a nazwy przycisków są cytowane z komponentów interfejsu. Pierwsza wersja centrum pomocy opisywała również plany, co generowało pytania klientów o przyciski, których nie było. Od tamtej pory nowa funkcja oznacza kod, artykuł i zrzut, a zapowiedzi trafiają wyłącznie do sekcji „Co planujemy?" na stronie.

Ta sama dyscyplina dotyczy błędów. Gdy jeden z nich ujawni klasę problemu, a nie pojedynczy przypadek, dostaje strażnika. Przykład: dodanie drugiego klucza obcego między dwiema powiązanymi tabelami zepsuło zapytania, które wcześniej łączyły je jednoznacznie. Po naprawie powstał test, który przegląda wszystkie takie zapytania w kodzie i nie przepuści zmiany schematu, która by je unieważniła.

Monitoring niezależny od dostawców

Aplikacja działa na Vercelu i Supabase. Błędy aplikacji zbiera Sentry, ale zewnętrzny strażnik nie może działać na tej samej infrastrukturze, której pilnuje. Dlatego uruchomiliśmy go na własnym serwerze KamikStudio:

  • Co minutę sprawdza stan aplikacji i usługi uwierzytelniania
  • Co 5 minut loguje się kontem testowym i otwiera pulpit, jak prawdziwy użytkownik. Porażką jest przekierowanie na logowanie, kod błędu albo ładowanie dłuższe niż 4 sekundy
  • Incydent otwierają dwie porażki z rzędu, a zamykają dwa sukcesy, żeby pojedyncze zakłócenie nie budziło nikogo w nocy
  • Seria błędów infrastruktury przychodzi jako jeden alert i podsumowanie, nie jako dziesiątki wiadomości
  • Publiczna strona statusu pokazuje historię dostępności z 90 dni

Do tego publiczne demo z przykładową cukiernią: 30 produktów, 200 zamówień, 50 klientów, 40 faktur i 80 raportów dobowych. Dane wracają do stanu wyjściowego codziennie o 3:00, więc każdy odwiedzający widzi kompletny system bez zakładania konta.

Tryb ważenia produkcji z receptury: wielkość produkcji 100 sztuk, pasek postępu, lista składników z naważkami i przyciskami potwierdzenia
Produkcja z receptury w trybie ważenia: duże pola pod ekran dotykowy w pracowni, naważki przeliczone na wielkość produkcji, cofnięcie pojedynczej pozycji. Dane demonstracyjne.

Aplikacja mobilna

BakePilot projektujemy najpierw na telefon, od szerokości 375 pikseli. Zamówienie przyjmuje się jednym kciukiem między wyrabianiem ciasta a obsługą klienta, w około 30 sekund.

Aplikację mobilną zbudowaliśmy w Capacitorze: natywna powłoka na Androida i iOS ładuje tę samą aplikację, która działa w przeglądarce. Każde wydanie webowe trafia do telefonów od razu, bez czekania na recenzję w sklepie, a funkcje natywne są dokładane na wierzchu. Są to powiadomienia push o nowym zamówieniu, alarmie HACCP i przypomnieniu o odbiorze oraz drukowanie przez natywną wtyczkę. Nawigacja wewnątrz aplikacji jest ograniczona do domen BakePilota, a płatność otwiera się w systemowej przeglądarce.

Wersja na Androida jest dostępna w Google Play od czerwca 2026 roku. Aplikacja na iPhone'a jest w przygotowaniu, a do tego czasu pełny BakePilot działa na iPhonie w przeglądarce, bez instalowania.

Pulpit BakePilot na telefonie: zamówienia na dziś, do odbioru, w produkcji, przychód dnia, wykres przychodu z 7 dni i niskie stany magazynowe
Pulpit na telefonie: dzień cukierni na jednym ekranie, z dolnym menu i szybkim dodawaniem zamówienia. Dane demonstracyjne.

Co z BakePilota trafia do systemów klientów

Firma, która zamawia system dedykowany, zwykle nie widzi, jak software house pracuje na co dzień. BakePilot jest naszą odpowiedzią na to pytanie: działającym produktem, w którym każdy wzorzec przeszedł próbę prawdziwych danych, prawdziwych urzędów i prawdziwych użytkowników. Wzorce, które przenosimy do projektów dla klientów:

  • Wielodostępność z izolacją w bazie
    Dla grup kapitałowych, sieci oddziałów i portali B2B, w których kilka firm pracuje na jednym systemie
  • Katalog funkcji i uprawnień z testami-strażnikami
    Jedno źródło prawdy o tym, kto co widzi i co jest w której licencji, bez rozjazdu między ofertą a kodem
  • KSeF w obu kierunkach
    Certyfikat zamiast tokenów, faktury kosztowe z respektowaniem limitów API, korekty i trzeci podmiot, sprawdzone na produkcji
  • Zapis odporny na przerwy w połączeniu
    Transakcja i identyfikator żądania tam, gdzie duplikat albo pół dokumentu to strata
  • Wielojęzyczność i waluty jako niezależne osie
    Dla firm z zespołem wielojęzycznym i sprzedażą zagraniczną
  • Dokumentacja i decyzje, które przetrwają zmianę zespołu
    ADR-y, plany wdrożeń, dziennik zmian i dokumentacja użytkownika weryfikowana kodem
Moduł Czas pracy: tygodniowy grafik zmian pracowników z godzinami od poniedziałku do niedzieli i przyciskiem kopiowania na następny tydzień
Czas pracy: grafik zmian, obecność, urlopy i rozliczenie godzin w jednym module. Dane demonstracyjne.

Technologie

Next.js 16 (App Router)
React 19
TypeScript
Supabase
PostgreSQL 17
Row Level Security
Tailwind CSS 4
shadcn/ui
Zod
next-intl
Vitest
Vercel
Capacitor (Android, iOS)
Firebase Cloud Messaging
KSeF API 2.0, FA(3), XAdES
Stripe
Fakturownia API
Resend
Sentry
Biała lista VAT (weryfikacja NIP)
OpenRouteService
Google Maps
iCal
OpenAPI
GTM z Consent Mode v2
Meta Conversions API
Docker

Rezultaty

Produkt działający na rynku
Abonament w trzech planach, 20 dni testu bez karty, publiczne demo i aplikacja w Google Play

Skala systemu dedykowanego
147 tabel, 175 funkcji, 6 ról i 131 uprawnień w jednej, spójnie pilnowanej strukturze

KSeF sprawdzony na produkcji
Certyfikat na klik, faktury sprzedażowe i korygujące, automatyczne faktury kosztowe w limitach API

Tempo bez utraty kontroli
84 wydania w pół roku, ponad 4 000 testów, osobne środowisko i baza testowa

Wiedza zapisana, nie w głowie
75 decyzji architektonicznych, plany wdrożeń i 86 artykułów dokumentacji użytkownika

Realna zmiana w cukierni
W PyziPyzi zamówienie w 90 sekund zamiast 8 minut i około godziny administracji tygodniowo zamiast kilkunastu

Dlaczego o tym piszemy

BakePilot nie jest projektem na zlecenie, ale najlepiej pokazuje, jak pracujemy przy systemach dedykowanych: od problemu w realnej firmie, przez decyzje zapisane z uzasadnieniem, po wydania, monitoring i dokumentację. Jeśli Twoja firma potrzebuje systemu do zamówień, produkcji, magazynu albo integracji z KSeF, te rozwiązania są już sprawdzone. Nie zaczynamy od zera, tylko od tego, co działa na produkcji.

Realizacja: KamikStudio • 2026

Masz podobny projekt?

Opowiedz nam o swoich potrzebach. Przygotujemy wycenę i harmonogram realizacji.