Fundamenty Conversation Mode, asynchroniczne joby nagrań i utwardzenie stagingu
- Fundamenty Conversation Mode: Dodano pierwszy bezpieczny produkcyjnie szkielet do odbierania rozmów na żywo z nagraniem dwukanałowym, osobnym webhookiem zakończenia połączenia, podsumowaniem rozmowy i fallbackiem do sekretarki, gdy nikt nie odbierze.
- Asynchroniczne przetwarzanie nagrań: Webhooki Twilio od nagrań odpowiadają teraz szybko, a ciężka transkrypcja i analiza AI są wykonywane przez kolejkę jobów z trwałą deduplikacją delivery.
- Fundamenty shared demo routingu: Resolver demo potrafi już zapisać wybrany locale i regułę routingu na poziomie połączenia, co przygotowuje system pod współdzielone numery bez ponownego zgadywania języka po zakończeniu calla.
- Bezpieczniejszy staging rehearsal: Dodano dedykowany workflow testowy dla Twilio i Supabase oraz ręczny przycisk "Process queued jobs" dla środowisk nieprodukcyjnych, gdzie Vercel Cron nie uruchamia jobów automatycznie.
- Porządki UX i stabilności: Krótszy timeout conversation poza produkcją, opcjonalny komunikat o nagrywaniu poza production, cleanup strony changelog, aktualizacje locale metadata oraz kilka poprawek dashboardu i admina po dzisiejszym wdrożeniu.
Monitor zdrowia systemu, auto-generowanie audio potwierdzenia i poprawki głosu
- Panel System Health: Nowy panel admina monitorujący wszystkie kluczowe zewnętrzne usługi — kredyty ElevenLabs, saldo Twilio (US1 i IE1), Stripe, baza Supabase, Gemini AI i Resend. Sprawdzenia uruchamiają się automatycznie co godzinę przez Vercel cron ze wskaźnikiem zielona/czerwona kropka w pasku bocznym admina.
- Auto-generowanie audio potwierdzenia: Wiadomości potwierdzające nagranie są teraz automatycznie generowane przez ElevenLabs TTS, dopasowując język rozmówcy i wybrany głos.
- Poprawki stabilności głosu: Naprawiono błąd przekazywania ID głosów ElevenLabs do Amazon Polly, dodano prosody wrapper SSML dla naturalnego brzmienia potwierdzeń oraz zapewniono natychmiastowy zwrot TwiML po nagraniu.
- Baza wiedzy: Heilo vs Fonio.ai: Nowy artykuł porównawczy w językach EN, PL, DE i ES opisujący kluczowe różnice między platformami Heilo.io i Fonio.ai.
- Poprawki błędów: Naprawiono przycisk personifikacji admina (tokenHash), zaktualizowano dane faktyczne fonio.ai w artykułach bazy wiedzy.
Harmonogram powitań, locale US i redesign przekierowań
- Harmonogram powitań: Konfiguracja różnych wiadomości powitalnych dla poszczególnych slotów czasowych w ciągu dnia. Nazwij każdy slot i przypisz unikalny głos ElevenLabs.
- Nagrywanie w formacie WAV: Nagrania są teraz konwertowane do formatu WAV dla wyższej jakości. Nowy odtwarzacz audio pozwala odsłuchać powitanie przed zapisem.
- Locale US (en-US): Pełne wsparcie amerykańskiego angielskiego z instrukcjami przekierowania połączeń dla operatorów AT&T, T-Mobile i Verizon.
- Redesign instrukcji przekierowania: Kody QR inline dla kodów USSD, logo H na kodach QR, *004* jako główna opcja przekierowania oraz zwijane indywidualne kody przekierowań.
- Rozbudowa bazy wiedzy: 29 nowych artykułów i 59 istniejących rozszerzonych do standardu Google Helpful Content we wszystkich 4 językach. Klikalny spis treści, linki wewnętrzne między artykułami i klaster artykułów o poczcie głosowej.
- Opinie klientów: Nowa sekcja social proof na stronie głównej z prawdziwymi opiniami klientów w zoptymalizowanej kolejności perswazyjnej.
- Natywna terminologia: Zastąpiono techniczne terminy AI/KI/IA natywnym brandingiem smart/Heilo we wszystkich 4 językach na stronie głównej.
- Optymalizacja SEO: Targetowanie słów kluczowych w sekcji hero, poprawione metadane, nawigacja breadcrumbs oraz konfiguracja robots/noindex dla niepublicznych stron.
- Demo per locale: Zarządzanie połączeniami demo per locale z dedykowanym wyborem głosu ElevenLabs dla każdego wariantu językowego.
- Bezpieczeństwo i poprawki: Zapobieżenie enumeracji adresów email przy rejestracji, naprawiono nadpisywanie locale demo przy testowaniu własnego powitania oraz poprawiono logowanie błędów w panelu admina.
4 języki, tłumaczenie transkryptów i optymalizacja SMS
- Niemiecki i hiszpański: Pełne wsparcie de-DE i es-ES w całej aplikacji, wiadomościach SMS, przetwarzaniu AI i artykułach bazy wiedzy.
- Tłumaczenie transkryptów: Automatyczne tłumaczenie transkryptów rozmów na język użytkownika przez Gemini AI — zawsze czytasz transkrypty w swoim języku.
- Rozbudowa bazy wiedzy: 6 nowych artykułów zoptymalizowanych pod GEO, opublikowanych w 4 językach z metadanymi autora i datami publikacji.
- Demo audio: Interaktywny odtwarzacz demo na stronie głównej — posłuchaj jak działa Heilo przed rejestracją.
- Krótsze linki SMS: Nowe przekierowania /c/ i /d/ skracają SMS-y o ~45 znaków, zmniejszając koszty segmentów Twilio.
- NIP przy płatności: Zbieranie numeru identyfikacji podatkowej podczas checkout w Stripe dla faktur firmowych.
- Ochrona przed halucynacjami AI: Walidacja rozmiaru bufora i wykrywanie krótkich nagrań zapobiegają generowaniu fałszywych danych przez Gemini na pustym lub uszkodzonym audio.
- Poprawka SMS: Naprawiono błąd, przez który SMS powiadomienia do właściciela wyświetlał kod locale zamiast fragmentu transkryptu.
Upgrade ElevenLabs v3 i audio dla potwierdzenia nagrania
- ElevenLabs v3: Migracja do modelu eleven_v3 z 1,806+ tagami audio (
[professional],[warmly],[pause:X]) dla naturalnej ekspresji emocjonalnej i 68% mniej błędów przy liczbach i symbolach. - Komponent AudioTagPicker: Nowy interfejs z 40+ przyjaznymi przyciskami tagów audio do łatwego wstawiania w wiadomości powitalne.
- Zwiększenie limitu znaków: Limit wiadomości powitalnej rozszerzony z 1,000 do 5,000 znaków dla dłuższych, bardziej szczegółowych przywitań.
- Upload audio dla potwierdzenia: Dodano pełną obsługę wgrywania własnych plików audio dla wiadomości potwierdzenia nagrania (wcześniej tylko tekst w trybie audio upload).
- Stabilność głosu: Zwiększono domyślną stabilność ElevenLabs z 0.8 do 1.0 dla bardziej spójnej jakości głosu w wygenerowanych przywitaniach.
- Jakość kodu: Naprawiono ostrzeżenie ESLint (setState w useEffect) w komponencie MessageEditor dla czystszego, bardziej utrzymywalnego kodu.
Redesign strony głównej, zarządzanie telefonami i baza wiedzy
- Usprawnienia strony głównej: Dodano śledzenie UTM, sekcję social proof, wizualne karty funkcji z mockupami SMS, sekcję "Dla kogo jest Heilo?", oraz poprawiono SEO z danymi strukturalnymi.
- Baza wiedzy: Opublikowano 10 artykułów BOFU po polsku i angielsku o poczcie głosowej, asystentach AI i zarządzaniu rozmowami — rebrand z "AI" na "Heilo" w całej aplikacji.
- Zarządzanie telefonami: Dodano usuwanie numerów, transfer między kontami przy ponownej weryfikacji, przeprojektowano interfejs przekierowań z persistencją w bazie, oraz selektor kierunkowego z walidacją.
- Powiadomienia dla admina: Zaimplementowano powiadomienia email przez Resend dla nowych rejestracji, weryfikacji telefonów i płatności.
- Naprawa przechwytywania połączeń: Tworzenie rekordów połączeń na starcie rozmowy (nie tylko po nagraniu), aby przechwycić wszystkie przychodzące połączenia.
- Lokalizacja AI: Wymuszono wyjście AI zgodne z językiem użytkownika dla podsumowań i tematów rozmów — AI respektuje preferencje językowe (polski vs angielski).
- Optymalizacja mobile: Zoptymalizowano widok konfiguracji telefonu dla urządzeń mobilnych.
- Naprawa statusu telefonu: Rozwiązano niespójność statusu telefonu i obsługę znacznika verified_at.
- Migracja Supabase: Migracja z przestarzałego API cookies (
.get()/.set()) do.getAll()/.setAll()dla obsługi cookies w SSR. - Schematy Twilio: Migracja z przestarzałego
.passthrough()doz.looseObject()dla walidacji webhooków.
Jeden plan cenowy, potwierdzenie e-mail i bezpieczeństwo
- Jeden plan cenowy: Uproszczono cennik do jednego planu 49 zł/mies. na potrzeby walidacji rynku — jaśniejsza propozycja wartości, szybszy onboarding.
- Potwierdzenie e-mail: Rejestracja wymaga teraz weryfikacji adresu e-mail przed przyznaniem dostępu, co zapobiega tworzeniu fałszywych kont.
- Wzmocnienie bezpieczeństwa: Naprawiono krytyczne luki (open redirect, obejście webhooków), włączono RLS na wszystkich tabelach bazy danych i przeprowadzono pełny audyt kodu (a11y, architektura, UX).
- Google Ads: Dodano śledzenie konwersji, tagi remarketingowe i baner zgody na ciasteczka do pomiaru kampanii marketingowych.
- Strona główna: Przeprojektowano sekcję hero i karty problemów na mobile, dodano nawigację sekcji z linkami kotwicowymi.
- Baza wiedzy i18n: Przetłumaczono wszystkie artykuły bazy wiedzy na angielski, dodano linkowanie wewnętrzne między artykułami i naprawiono indeksowanie stron w Google.
- Stripe Live Mode: Przygotowano integrację Stripe do płatności produkcyjnych z kluczami API live.
- Panel admina: Dodano kolumnę "Ostatnie logowanie" w tabeli użytkowników dla lepszego śledzenia aktywności.
Redesign ustawień, dopracowanie rozmów i treści
- Redesign ustawień: Przeprojektowano strony SMS, Firma i Powitanie z nowoczesnym układem wielu kart dla lepszej organizacji i czytelności.
- Tabela rozmów: Uproszczono akcje tabeli i ulepszono układ kolumn dla czystszego zarządzania połączeniami.
- Obrazy OG artykułów: Dodano dynamiczne obrazy Open Graph dla wszystkich artykułów bazy wiedzy, poprawiając podgląd linków w mediach społecznościowych.
- Strona główna: Zastąpiono ogólną sekcję hero zrzutami interfejsu Heilo.io pokazującymi rzeczywisty produkt.
- Polska terminologia: Zastąpiono żargon marketingowy ('leady') naturalnymi polskimi terminami w całej aplikacji.
Baza wiedzy, SEO i animacje strony głównej
- Baza wiedzy: Nowa sekcja z artykułami zoptymalizowanymi pod SEO na temat VoIP, wirtualnej centrali i odzyskiwania nieodebranych połączeń — ze streszczeniami TL;DR, sekcjami FAQ i danymi strukturalnymi JSON-LD.
- Optymalizacja SEO: Dodano dane strukturalne JSON-LD, dynamiczną mapę witryny, robots.txt z regułami dla botów AI oraz optymalizację metadanych na wszystkich stronach.
- Animacje strony głównej: Animacje wejścia i ujawniania przy przewijaniu Motion.dev na stronie głównej dla bardziej angażującego pierwszego wrażenia.
- Aktualizacja cennika: Zaktualizowano plany subskrypcji do poziomów 50/100/200 zł ze zmienionymi zestawami funkcji.
- Czat Crisp: Połączono tekst czatu na stronie kontaktu bezpośrednio z osadzeniem Crisp dla natychmiastowej obsługi klienta.
- Narzędzia deweloperskie: Dodano Husky + lint-staged do automatycznej kontroli jakości kodu przed commit i push.
Przełącznik języka, jakość i stabilność UI
- Redesign przełącznika języka: Nowoczesny dropdown z flagami i poprawnym pozycjonowaniem w panelu.
- Zapisz jako kontakt: Dodano przycisk 'Zapisz jako kontakt' bezpośrednio w widoku podzielonym dla szybszego zarządzania kontaktami.
- Przycisk ładowania: Nowy komponent LoadingButton z formatowaniem walut i telefonów uwzględniającym lokalizację.
- Stabilność produkcyjna: Poprawa jakości kodu, bezpieczeństwa typów i naprawa błędów budowania w całej platformie.
- Kanban i wykresy: Refaktoryzacja funkcji narzędziowych, zmiana nazw wykresów dla przejrzystości i poprawki interakcji kart Kanban.
Konfigurowalne wiadomości, analityka i narzędzia admina
- Potwierdzenie nagrania: Konfigurowalna wiadomość potwierdzająca odtwarzana dzwoniącemu po zostawieniu wiadomości, z obsługą podglądu audio.
- Dashboard analityczny: Dodano wykres "Wszystkie połączenia na dzień", poprawiono wizualizację danych historycznych (brak luk w datach) i dodano opisy osi.
- Ulepszenia Admina: Dodano możliwość usuwania użytkowników bezpośrednio z listy w panelu administratora.
- Poprawki stabilności: Przywrócono brakujące funkcje lokalizacji (formatowanie walut/telefonów) i naprawiono błędy budowania spowodowane aktualizacjami zależności.
Redesign ustawień, podgląd SMS i poprawki z audytu
- Redesign ustawień: Wydzielono SMS na osobną stronę ustawień, przeniesiono konto i subskrypcję do popovera profilu, zastąpiono branding AI marką Heilo.
- Podgląd SMS jako telefon: Przeprojektowano podgląd SMS jako realistyczną makietę telefonu i usunięto upsell dedykowanego numeru.
- Szablony powitań: Dodano możliwość zapisywania i przechowywania szablonów wiadomości powitalnych w bazie danych.
- Poprawki Kanban i hydratacji: Naprawiono niedopasowania hydratacji w hooku localStorage, ulepszono cele kliknięcia kart Kanban wzorcem stretched-link.
- Audyt kodu: Dodano limit 5MB na upload audio, zastąpiono typy
anywłaściwymi interfejsami, dodano walidację data URL i poprawiono obsługę błędów w akcjach serwerowych. - Wyszukiwanie kontaktów: Ulepszono wyszukiwanie rozmów o dopasowanie nazw kontaktów.
Bezpieczeństwo, typy i dopracowanie designu
- Ochrona CSRF: Dodano ochronę CSRF (double-submit cookie) do wszystkich endpointów mutacji API z automatyczną obsługą tokenów po stronie frontendu.
- Bezpieczeństwo typów: Wyeliminowano ~25 typów
anyw kodzie, zastępując je właściwymi interfejsami i obsługą błędów zunknown. - Centralizacja lokali: Ujednolicono konfigurację lokali w jednym źródle prawdy, usuwając powtórzone wartości z 5 plików.
- Formatowanie lokalne: Dodano
formatCurrencyi ulepszono formatowanie dat/telefonów z uwzględnieniem ustawień lokalizacji użytkownika. - Refaktoryzacja WelcomeMessage: Wydzielono logikę formularza do dedykowanego hooka
useWelcomeMessageForm, redukując komponent z 608 do 209 linii. - Redesign kart KPI: Zaktualizowano karty KPI na dashboardzie do spójnego, minimalistycznego designu — delikatne cienie i zaokrąglone rogi zamiast ciężkich kolorowych obramowań.
Refaktoryzacja Frontend & Wydajność
Główne ulepszenia 'pod maską' w zakresie komponentów UI i zarządzania stanem.
Logowanie Google, Magic Link i poprawki błędów
- Logowanie Google: Dodano przyciski 'Kontynuuj z Google' na stronach logowania i rejestracji.
- Magic Link: Dodano logowanie bez hasła — podaj email i otrzymaj link do logowania.
- Naprawa błędu: Naprawiono błędy 'No intl context found' na wszystkich stronach Ustawień (56+ wystąpień w Sentry).
- Analityka: Zintegrowano Vercel Analytics do śledzenia ruchu i użycia.
- Dostarczalność emaili: Skonfigurowano Resend SMTP dla niezawodnych emaili transakcyjnych (potwierdzenia rejestracji, magic linki).
Poprawki Audytu Mobilnego
- Użyteczność Mobilna: Naprawiono pływający widżet onboardingu, który zasłaniał treść na telefonach. Jest teraz domyślnie zwinięty.
- Tłumaczenia: Przetłumaczono hasło 'Always listening' na 'Zawsze słuchamy' w kokpicie i na stronie głównej.
- Poprawki Układu: Ulepszono odstępy i układ stron Rejestracji, Logowania i Ustawień na urządzeniach mobilnych.
Strona główna i poprawki onboardingu
- Sekcja powitań i głosów: Nowa sekcja na stronie głównej prezentująca opcje powitań — napisz własne, nagraj się sam lub użyj profesjonalnych głosów.
- SMS z systemu: Strona główna prezentuje teraz możliwość wysyłania SMS bezpośrednio z Heilo.
- Poprawka onboardingu: Widget pokazuje teraz realny postęp na podstawie stanu konta zamiast zakodowanych wartości.
- Poprawka modala powitalnego: Naprawiono przycisk 'Let's Go', który nie zamykał modala. Zmieniono nazwę na 'Smart Receptionist'.
- Przycisk Ulepsz: Wyświetla komunikat błędu gdy płatność się nie powiedzie zamiast nic nie robić.
- Tagline marki: Dodano 'Always listening' obok logo na stronie głównej.
Kontakty i redesign szczegółów połączenia
- System kontaktów: Pełny moduł kontaktów — automatyczne uzupełnianie z historii połączeń, strona szczegółów kontaktu z historią połączeń i SMS, klikalne wiersze tabeli.
- Zapisz jako kontakt: Przycisk do zapisania dzwoniącego jako kontakt, dostępny na stronach szczegółów kontaktu i połączenia.
- 1 numer = 1 nazwa: Tabela kontaktów jest jedynym źródłem prawdy dla nazw dzwoniących — edycja kontaktu aktualizuje nazwę we wszystkich widokach.
- Temat jako tytuł strony: Szczegóły połączenia pokazują teraz rozpoznany temat rozmowy jako nagłówek zamiast nazwy dzwoniącego.
- Poprawka sidebara mobilnego: Naprawiono literówkę CSS (
transtone→translate) w 7 plikach, która blokowała animację wysuwania sidebara. - Numer telefonu w SMS: Powiadomienia SMS zawierają teraz zawsze numer telefonu dzwoniącego jako osobną linię, nawet gdy nazwa jest rozpoznana.
- Nazwa kontaktu w SMS: Powiadomienia SMS używają teraz zapisanej nazwy kontaktu zamiast 'nieznany dzwoniący' dla znanych kontaktów.
- Poprawka historii SMS: Strona szczegółów połączenia pokazuje teraz wszystkie SMS-y dla numeru telefonu dzwoniącego, nie tylko dla pojedynczego połączenia.
- Zakładki kontaktu: Strona szczegółów kontaktu pokazuje teraz połączenia i historię SMS w zakładkach obok siebie.
Redesign kalkulatora oszczędności
- Nowy wygląd kalkulatora: Jasny, nowoczesny design zamiast ciemnego panelu — karty z zaokrągleniami, gradient w tytule, lżejsze slidery.
- Czytelna narracja dla biznesu: Panel wynikowy: strata → koszt rozwiązania → zysk netto miesięcznie.
- Koszt rozwiązania: Nowa sekcja porównująca stratę miesięczną z kosztem pakietu Starter (50 zł/mies.).
- Czystszy kod: Usunięto kartę ROI, uproszczono strukturę komponentu i tłumaczenia.
Poprawki produkcyjne i aktualizacja kalkulatora
- Krytyczna poprawka produkcyjna: Rozwiązano błąd "Server Components render" poprzez wycofanie zmian w konfiguracji Webpack
next-intli migracji klienta Sentry. - Stabilność Sentry: Przywrócono stabilną konfigurację Sentry, aby zapewnić niezawodne śledzenie błędów.
- Aktualizacja kalkulatora oszczędności: Zwiększono zakresy suwaków do 500 000 PLN i 300 nieodebranych połączeń tygodniowo na podstawie opinii użytkowników.
- Poprawka systemu budowania: Rozwiązano niezgodność typów
NextRequestw handlerze nagrań. - Audyt architektury: Zweryfikowano stabilność architektury API v1 i jakość kodu.
Rebranding wizualny i naprawa middleware
- Nowy system kolorów — paleta heilo-blue + coral, migracja gray→slate w całej aplikacji
- Gradientowy kolor tekstu logo Heilo.io na wszystkich stronach
- Usunięcie ikony H oraz podpisu Business AI z logo
- Naprawa middleware Next.js — przywrócenie routingu locale i autoryzacji
Poprawki mobilne, tłumaczenie logowania i reset hasła
- Wycentrowany przełącznik widoku: Przełącznik tabela/board jest teraz prawidłowo wycentrowany na ekranach mobilnych.
- Usunięty scroll poziomy: Naprawiono niechciany scroll poziomy na liście rozmów w widoku mobilnym.
- Submenu ustawień na mobile: Menu nawigacji ustawień jest teraz w pełni widoczne po otwarciu paska bocznego na urządzeniach mobilnych.
- Strona kontaktu: Dodano nową stronę kontaktu — koniec z błędem 404 przy klikaniu Kontakt w stopce.
- Tłumaczenie strony logowania: Strona logowania jest teraz w pełni przetłumaczona na język polski.
- Strona resetowania hasła: Dodano stronę resetowania hasła z integracją Supabase — koniec z błędem 404 na 'Nie pamiętasz hasła?'.
- Porządki w kodzie: Usunięto 24 nieużywane pliki migracji SQL, 12 zdeprecjonowanych proxy API, legacy endpoint reprocess, stronę przekierowania dashboard i artefakty buildowe. Zaktualizowano wszystkie odniesienia /dashboard na /calls.
Link demo, dopracowanie UI i internacjonalizacja changelogu
- Publiczny link demo: Dodano publiczny link do połączenia demo, aby potencjalni klienci mogli wypróbować platformę bez rejestracji.
- Ujednolicone style formularzy: Ujednolicono style pól formularzy w ustawieniach firmy dla spójnego wyglądu wszystkich pól wejściowych.
- Poprawka tunelu Sentry: Naprawiono tunel Sentry zwracający błędy 405.
- Aktualizacja URL: Zaktualizowano zakodowany na sztywno URL z vercel.app na www.heilo.io w całej platformie.
- Uproszczenie timera zapytań: Uproszczono komponent timera zapytań dla lepszej przejrzystości i usunięto branding AI ze stron publicznych.
- Poprawka widgetu onboardingu: Naprawiono widoczność widgetu onboardingu na stronach publicznych.
- Odstępy mobilne UI: Dopracowano odstępy i rozmiary czcionek w widokach mobilnych rozmów dla bardziej kompaktowego układu.
- Internacjonalizacja changelogu: Pełna internacjonalizacja strony changelogu — teraz dostępna zarówno po polsku jak i po angielsku.
Poprawka regionu Twilio IE1 i konfiguracja testów
- Wsparcie regionu IE1: Naprawiono walidację webhook signature dla numeru Twilio w regionie IE1 — system teraz próbuje zarówno główny auth token jak i IE1 auth token.
- Konfigurowalny Test Override: Przeniesiono logikę testowego przekierowania numerów do zmiennych środowiskowych (
ENABLE_TEST_OVERRIDE,TEST_OVERRIDE_INCOMING_NUMBER,TEST_OVERRIDE_TARGET_USER_PHONE). - Demo User Fallback: Dodano konfigurowalny
DEMO_USER_IDjako fallback dla nierozpoznanych połączeń bezpośrednich. - Poprawka Middleware: Naprawiono kolejność wykonywania middleware API —
withAuthuruchamia się teraz poprawnie przedwithAdmin. - Model Gemini: Zmiana z wycofanego
gemini-2.0-flash-expna stabilnygemini-2.0-flash.
Refaktoryzacja API i ujednolicona obsługa błędów
- Wersjonowanie API: Nowa struktura endpointów
/api/v1/z pełną kompatybilnością wsteczną. - Result Type Pattern: Wprowadzenie ujednoliconej obsługi błędów inspirowanej Rust — typ
Result<T>dla jawnego zarządzania błędami. - Standardowe odpowiedzi API: Wszystkie endpointy zwracają spójny format
{success, data/error, meta}. - System Middleware: Kompozycyjne middleware dla auth, walidacji, rate-limiting i obsługi błędów.
- Walidacja Zod: Rozbudowane schematy walidacji dla wszystkich endpointów.
- Warstwa Repository: Nowe repozytoria dla phones i subscriptions z ujednoliconym dostępem do danych.
- Warstwa Serwisów: Refaktoryzacja billing-service i phone-verification-service.
- Klasa AppError: Strukturyzowane błędy z kodami, statusami HTTP i szczegółami.
System Paywall i optymalizacje wydajności
- Paywall dla Trial: Użytkownicy na darmowym planie mogą przeglądać szczegóły do 10 rozmów. Po przekroczeniu limitu wyświetlany jest paywall z przyciskiem upgrade.
- Banner użycia: Nowy banner na liście rozmów pokazujący wykorzystanie limitu (np. "14 / 10 rozmów") z paskiem postępu.
- Split View Paywall: Blokada szczegółów również w widoku podzielonym (pionowym/poziomym).
- TanStack Query: Wdrożenie cachowania po stronie klienta — szybsze przejścia między stronami bez ponownego ładowania danych.
- Pasek postępu: Elegancki pasek postępu (styl YouTube/GitHub) podczas nawigacji zamiast skeleton loading.
- Paginacja: Lista rozmów wyświetla 20 elementów na stronę z pełną nawigacją (pierwsza, poprzednia, następna, ostatnia). Numer strony zapisywany w URL (
?page=2). - Polskie tłumaczenia: Pełna lokalizacja komponentów paywall i usage banner.
UI zoptymalizowany dla użytkowników biznesowych
Kompleksowe odświeżenie UI skierowane do profesjonalistów 35+: większe czcionki, większe obszary dotykowe (44-48px), lepszy kontrast kolorów i bardziej przestronne układy we wszystkich komponentach, w tym kartach Kanban, tabelach rozmów, paskach filtrów i widokach mobilnych.
Polska lokalizacja i poprawki stabilności
- Polska lokalizacja: Kompletne tłumaczenie Ustawień, Szczegółów rozmów i instrukcji technicznych.
- Refaktoryzacja nawigacji: Przeniesienie Archiwum i Kosza do dedykowanych tras (
/calls/archive) z poprawką podświetlania paska bocznego. - UI ustawień telefonu: Przeprojektowany układ na skupione sekcje (Podłączone telefony, Numer firmowy, Konfiguracja SMS).
- Tabela rozmów: Zoptymalizowane szerokości kolumn Status i Akcje, aby zapobiec ściskaniu.
- Poprawki błędów: Rozwiązano problem z widocznością formularza "Dodaj telefon" i błędy budowania.
Funkcja kosza i poprawki UX
- Kosz i miękkie usuwanie: Dodano pełne wsparcie "Kosza" (miękkie usuwanie) z funkcją przywracania. Usunięte elementy są bezpieczne przez 30 dni.
- Grupy nawigacji: Rozmowy teraz zorganizowane w zakładki "Przychodzące", "Archiwum" i "Kosz" z aktualizowanymi licznikami.
- Lepsze układy: Przyciski akcji w "Szczegółach rozmowy" uporządkowane w czysty układ siatki.
- Akcje Kanban: Dodano szybki przycisk "Kosz" bezpośrednio na kartach Kanban.
- Porządki statusów: Całkowite usunięcie statusu "Odrzucony" — istniejące odrzucone rozmowy przeniesione do Kosza.
Dopracowanie UI i modernizacja architektury
- Refaktoryzacja Split View: Przeniesiono przełącznik układu do dedykowanego menu "Widok" na pasku filtrów dla lepszej dostępności.
- Zapamiętywanie układu: Przełączniki Tablica/Lista i Split View są teraz zapisywane i przywracane automatycznie.
- Spójność UI: Ujednolicono wysokość i styl wszystkich kontrolek filtrów (Status, Jakość, Data) dla dopracowanego wyglądu.
- Ulepszenie stopki: Przeniesiono linki stopki na lewą stronę, aby zapobiec nakładaniu się z widgetami onboardingu.
- Gotowość na Next.js 16: Migracja middleware do
proxy.tszgodnie z nadchodzącymi konwencjami Next.js. - Poprawka widoku tablicy: Rozwiązano problem, w którym dashboard KPI był ukryty w trybie Kanban przy aktywnym Split View.
Analityka i efektywność pracy
- Przeprojektowana analityka: Zastąpiono karty siatki dużymi, pionowymi wykresami rocznymi dla MRR, ARR, Churn i LTV.
- Szybka nawigacja: Dodano przyciski Następny/Poprzedni w szczegółach rozmowy ze skrótami klawiaturowymi w stylu Gmail (J/K).
- Śledzenie historii: Analityka umożliwia teraz pełną 365-dniową analizę trendów dla wszystkich kluczowych metryk.
- Podpowiedzi pomocy: Dodano odniesienie do skrótów klawiaturowych bezpośrednio na pasku nawigacji.
- Poprawki stabilności: Rozwiązano problemy z kontekstem i18n dla solidnej obsługi błędów na wszystkich stronach.
Kompleksowy panel analityczny
- Zaawansowane metryki: Nowy kompleksowy dashboard śledzący Pozyskiwanie, Aktywację, Przychody, Retencję i Zaangażowanie.
- Inteligencja przychodów: Śledzenie MRR, ARR, ARPU i konwersji Trial-to-Paid w czasie rzeczywistym.
- Aktywacja użytkowników: Monitorowanie wskaźników ukończenia onboardingu i czasu do pierwszego połączenia w celu optymalizacji ścieżki użytkownika.
- Analiza retencji: Śledzenie wskaźnika churn i szacowanie Wartości Życiowej Klienta (LTV).
- Trendy zaangażowania: Dzienni/Tygodniowi/Miesięczni aktywni użytkownicy (DAU/WAU/MAU) i trendy liczby połączeń.
- Kompatybilność z React 19: Zaktualizowano przepływy uwierzytelniania do nowego hooka
useActionState, rozwiązując ostrzeżenia konsolidacji.
Globalny zasięg i wzmocnienie bezpieczeństwa
- Pełna internacjonalizacja (i18n): Kompletne wsparcie dla języka polskiego i angielskiego na całej platformie.
- Przełącznik języka: Nowy natychmiastowy przełącznik języka na pasku bocznym z zapamiętywaniem preferencji użytkownika.
- Wzmocnienie bezpieczeństwa: Audyt polityk RLS w celu zapobiegania nieautoryzowanemu dostępowi do danych (ścisłe polityki Insert/Update).
- Bezpieczne nagłówki: Wdrożono nagłówki bezpieczeństwa HTTP klasy motoryzacyjnej (HSTS, X-Frame-Options) w celu ochrony przed XSS i Clickjacking.
- Weryfikacja Rate Limiting: Potwierdzono solidną ochronę przed atakami brute-force poprzez Twilio Verify i limity Supabase Auth.
Refaktoryzacja architektury i jakość kodu
- Scentralizowana konfiguracja: Wszystkie zmienne środowiskowe teraz dostępne przez
getConfig()zamiast rozproszonych wywołańprocess.env— łatwiejsze utrzymanie i testowanie. - Warstwa serwisów: Wyekstrahowano logikę głosową i transkrypcji do dedykowanych serwisów (
lib/services/) dla lepszej separacji odpowiedzialności (Voice, Twilio Audio, Gemini Processing). - Zunifikowany pipeline audio: Scentralizowano logikę pobierania audio i analizy AI, eliminując duplikację w 3 różnych endpointach.
- Architektura frontendu: Refaktoryzacja
CallsViewiKanbanBoardna modularne komponenty z custom hookami (useCallsFilters,useKanbanDnD) dla lepszej utrzymywalności. - Warstwa Repository: Pełna integracja
CallRepositoryw endpointach admina i webhookach Twilio, scentralizowana logika dostępu do danych. - Bezpieczeństwo typów: Rozszerzone definicje
ProcessedTranscripti schematy Zod dla ściślejszej walidacji w całym stosie. - Wzorzec Repository: Wprowadzono
lib/repositories/zCallRepositoryiProfileRepositorydla spójnego dostępu do bazy danych. - Middleware Twilio: Nowy wrapper
withTwilioWebhookeliminuje powtarzalny kod walidacji webhooków w handlerach tras. - Refaktoryzacja webhooków: Kompletne przepisanie webhooka
recording-completez użyciem nowego wzorca Service/Repository, znacząco poprawiając niezawodność i testowalność. - Moduł stałych: Wyekstrahowano magiczne liczby i ciągi znaków do
lib/constants/dla spójnej konfiguracji. - Skeleton Loading: Dodano stany ładowania z komponentami skeleton dla stron
/callsi/calls/[id]. - Architektura UI: Dekompozycja
CallRowna skupione komponenty (CallRowNotes,CallRowStatus) i przeniesienie logiki do wielokrotnego użytku w hookuuseCallActions. - Konfiguracja: Scentralizowano ustawienia modeli AI w
lib/config.ts, usuwając zakodowane na sztywno wartości z serwisów. - Dokumentacja architektury: Kompleksowy
architecture.mddokumentujący strukturę systemu, przepływ danych i wzorce integracji.
Optymalizacja mobilna i rekomendacje AI
- Ustawienia mobilne: Wszystkie strony ustawień zoptymalizowane na mobile — formularze, przyciski i układy teraz poprawnie układają się na małych ekranach.
- Czytelne rekomendacje AI: Nowe binarne rekomendacje z emoji: ✅ Twój temat, 🔥 Duży temat, ❌ Nie Twój temat, ⚠️ Sprawdź sam.
- Rozpoznany temat: Przeniesiono sekcję tematu nad nagranie dla lepszej widoczności, zmieniono nazwy kolumn dla przejrzystości.
- Pełny widok transkrypcji: Usunięto obcinanie tekstu z listy rozmów — widać pełną treść tematu i transkrypcji.
- Twilio SID: Pełny identyfikator rozmowy teraz widoczny w Szczegółach rozmowy dla komunikacji z obsługą klienta.
- Zmienione nazwy sekcji: "Informacje o kliencie" → "Dobre pytania do zadania podczas rozmowy".
Dopracowanie UI i optymalizacje desktopowe
- Układ tabeli na desktopie: Zoptymalizowana tabela rozmów z kompaktowymi formatami dat, inteligentniejszymi szerokościami kolumn i zwiększoną czytelnością treści.
- Ultra-kompaktowe karty KPI: Zmniejszono rozmiar kart metryk na desktopie, aby zmaksymalizować przestrzeń ekranu dla listy rozmów.
- Ulepszenia transkrypcji mobilnej: Zwiększona widoczność transkrypcji na kartach mobilnych (do 6 linii) dla lepszego kontekstu na pierwszy rzut oka.
- Układ widgetów: Zamieniono widgety Onboardingu i Crisp — Czat teraz unosi się nad listą kontrolną Onboardingu po prawej stronie.
- Akcja oddzwaniania: Zmieniono nazwę "Zadzwoń" na "Oddzwoń" na mobile dla przejrzystości.
SMS do dzwoniących i ulepszenia onboardingu
- SMS potwierdzający dla dzwoniącego: Naprawiono wysyłanie SMS do dzwoniących — wiadomości są teraz prawidłowo wysyłane po transkrypcji wiadomości głosowej.
- Konfigurowalny szablon SMS: Nowa strona ustawień do personalizacji wiadomości potwierdzającej z podglądem na żywo.
- Przyjazne numery referencyjne: SMS pokazuje teraz łatwe do odczytu numery referencyjne (RRRRMMDD-XXXX) zamiast UUID.
- Rozszerzone logowanie: Dodano logi diagnostyczne dla funkcji SMS do śledzenia statusu dostarczenia w logach Vercel.
- Widget onboardingu: Ulepszony widget z linkami nawigacyjnymi, ukryty na stronach publicznych (logowanie, rejestracja).
- Zmiana kolejności onboardingu: "Skonfiguruj przekierowanie połączeń" pojawia się teraz przed "Dodaj informacje o firmie" dla lepszego przepływu.
Bezpieczeństwo infrastruktury i stabilność
- Strukturyzowane logowanie: Wdrożono scentralizowany system logowania z integracją Sentry dla lepszego śledzenia błędów.
- Wzmocnienie infrastruktury: Skonsolidowano logikę webhooków i poprawiono obsługę błędów dla integracji Twilio (w tym wsparcie regionu IE1).
- Stabilność auth: Naprawiono pętle "Invalid Refresh Token" przez automatyczne czyszczenie przestarzałych sesji w middleware.
- Refaktoryzacja komponentów: Zoptymalizowano strony Ustawień, dzieląc duże formularze na skupione, łatwe w utrzymaniu mikro-komponenty.
- Poprawki środowiskowe: Rozwiązano rozbieżności URL localhost vs produkcja dla powiadomień SMS.
Gotowość do uruchomienia i obserwowalność
- Integracja Sentry: Śledzenie błędów, monitorowanie wydajności i replay sesji dla lepszego debugowania.
- Widget Crisp Chat: Czat na żywo z automatyczną identyfikacją użytkownika — widzimy Twój email i firmę, gdy piszesz.
- Analityka PostHog: Analityka produktowa, nagrywanie sesji i śledzenie zachowań użytkowników.
- Strony prawne: Dodano Regulamin i Politykę Prywatności ze zgodnością z GDPR/RODO.
- Lejek sukcesu: Dashboard KPI z liczbą rozmów, zakwalifikowanymi leadami i potencjalną wartością.
- Integracja Stripe: Kompletny system subskrypcji z Checkout, Portalem Klienta i Webhookami dla automatycznych aktualizacji statusu.
- Powiadomienia SMS: Otrzymuj natychmiastowe alerty SMS o nowych leadach biznesowych, w tym podsumowanie AI i ocenę leada.
- Tour onboardingowy: Lista kontrolna Szybki Start dla nowych użytkowników — podłącz numer, przetestuj połączenia i włącz powiadomienia.
- Zapamiętywanie filtrów: Filtry zapisywane w URL — przejdź do szczegółów rozmowy i wróć bez utraty widoku.
- Zunifikowane filtry: Wyszukiwanie, Status, Jakość — filtry działają w widoku Listy i Kanban.
- Wsparcie Ctrl+Click: Otwórz szczegóły rozmowy w nowej karcie przeglądarki.
Dopracowanie wizualne i poprawki UX
- Miernik czasu odpowiedzi: Przeprojektowany "Czas odpowiedzi" na kompaktowy, jednorzędowy miernik z czytelnymi etapami nastroju (od Doskonały do Krytyczny).
- Wizualizacja Drag & Drop: Przeciąganie Kanban w stylu Trello z pełnymi obrazami duchów kart i placeholderami.
- Przekierowanie admina: Administratorzy są teraz automatycznie kierowani do Panelu Admina po zalogowaniu.
- Optymalizacja nagłówka: Kompaktowy nagłówek "Rozmowy" w celu zaoszczędzenia pionowej przestrzeni ekranu.
- Podgląd wiadomości: Szybki podgląd powitania po kliknięciu za pomocą nowego popovera.
Obsługa połączeń bezpośrednich i narzędzia admina
- Ulepszona identyfikacja połączeń bezpośrednich: System rozpoznaje teraz właścicieli dzwoniących ze zweryfikowanych numerów.
- Dodano impersonację admina: Super administratorzy mogą teraz logować się jako użytkownicy w celu rozwiązywania problemów.
- Naprawiono problemy z numerem przekierowania: Zaktualizowano domyślną logikę numeru przekierowania dla wszystkich nowych kont.
- Zaktualizowano kody USSD: Teraz z podwójną gwiazdką (np. **61*) dla lepszej kompatybilności.
Gemini 3.0 i dopracowanie promptów
- Aktualizacja silnika AI do Gemini 3.0 Flash (Preview) dla szybszej i dokładniejszej analizy.
- Dopracowane prompty "Co robić dalej" dla porad w naturalnym języku (np. "Oddzwonić i umówić się na spotkanie").
Śledzenie zapytań i czas odpowiedzi
- Pilność zapytania: Animowany pasek postępu pokazujący pilność zapytania z efektem migotania dla nowych zapytań.
- Czas odpowiedzi: Śledzi jak szybko odpowiadasz na nowe zapytania z wizualnym wskaźnikiem.
- Zmiana kolejności kart: Przeciągaj karty pionowo w kolumnach Kanban, aby priorytetyzować zapytania.
- Szybka zmiana statusu: Przycisk jednego kliknięcia do przesunięcia zapytań do następnego etapu.
- Ochrona Brute-Force: Rate limiting dla prób logowania w celu zapobiegania atakom.
- Telefon jako główny: Numer telefonu dzwoniącego wyświetlany prominentnie, nazwa jako drugorzędny identyfikator.
Wiadomości powitalne i inteligencja adresowa
- Podgląd głosu: Przetestuj swoje powitanie przed zapisaniem z podglądem audio.
- Ekstrakcja adresów AI: Automatyczne wyodrębnianie adresu klienta, miasta i kraju z transkrypcji.
- Obliczanie odległości: Pokazuje przybliżoną odległość między Twoim biurem a lokalizacją klienta.
- Filtrowanie po dacie: Filtruj rozmowy wg Dzisiaj, Tydzień, Miesiąc, Kwartał lub Rok.
- Kolumna żądanej usługi: Nowa kolumna w widoku tabeli pokazująca, jakiej usługi potrzebuje każdy dzwoniący.
- Edycja inline: Automatyczne zapisywanie per pole w ustawieniach Konta i Szczegółach rozmowy.
- Dropdown szablonów: Szybkie szablony wiadomości dla szybszych odpowiedzi.
🚀 Uruchomienie Heilo.io
- Platforma bazowa: Heilo.io z integracją Twilio do nagrywania i przekierowywania połączeń.
- Analiza połączeń AI: Zasilana przez Gemini 1.5 Flash do automatycznej transkrypcji i oceny zapytań.
- Dashboard Kanban: Pełnowymiarowa tablica z kolumnami Nowe, Negocjacje, Przygotowanie oferty i Zakończone.
- Własne powitania: Spersonalizowane wiadomości poczty głosowej per firma.
- System designu 2026: Nowoczesne UI z glassmorphizmem, gradientami i płynnymi animacjami.
- Audyt bezpieczeństwa: Walidacja webhooków i wzmocnienie uwierzytelniania.
- Zakładki ustawień: Zorganizowane w sekcje Konto, Firma, Przekierowanie i Subskrypcja.
- Szczegóły rozmowy: Edytor notatek, zarządzanie zadaniami i podsumowania napędzane AI.