Przejdź do treści

Asystent AI i rezerwacje 24/7 dla klinik stomatologicznych

Recepcja AI dla stomatologii, która nie odkłada słuchawki.

Recepcja AI dla stomatologii odbiera telefon wtedy, gdy rejestratorka asystuje przy zabiegu — umawia wizytę, potwierdza termin i przekazuje resztę zespołowi.

Zobacz na żywo ↗

Zubli — na żywo, WebGL

Co robi recepcja AI, gdy rejestracja jest zajęta

Pacjent pisze do kliniki wieczorem: o cenę, wolny termin albo o to, czy ból zęba może poczekać do jutra. DentalDesk odpowiada od razu, całą dobę, wyłącznie na podstawie danych zatwierdzonych przez klinikę — cennika, godzin, zasad pilnych wizyt. Nigdy nie diagnozuje i nie udaje lekarza. Pilne przypadki oznacza od razu i proponuje najbliższy wolny termin.

Każdego ranka: gotowa karta zgłoszenia

Każda rozmowa kończy się kartą zgłoszenia z zapisem, podsumowaniem i kontaktem do pacjenta. Rano recepcja oddzwania do konkretnej osoby z konkretną sprawą, zamiast czekać, aż pacjent wróci. Jako właściciel widzisz, jak zespół pracuje ze zgłoszeniami i które z nich realnie zamieniają się w wizyty.

Zubli dostał nowe ciało

Pacjent nie pisze do systemu, pisze do kogoś. Dlatego DentalDesk ma Zubliego: maskotkę, która obniża próg pierwszej wiadomości, zwłaszcza u osób, które boją się dentysty albo wstydzą się zapytać o cenę. Postać, z którą ludzie rozmawiają o 23:00, ma jedno zadanie: sprawić, żeby rozmowa w pierwszych dwóch sekundach wydawała się bezpieczna. W tym tygodniu zbudowaliśmy ciało Zubliego od zera — nie osobowość, nie logikę rozmowy, tylko ciało. Najciekawszy nie jest efekt, lecz zakręt, który musieliśmy wziąć w połowie drogi.

Trzy wersje Zubliego obok siebie: maskotka z brył three.js, pierwsza próba nowej postaci z brył oraz nowy Zubli z renderu i shadera

Próba pierwsza: robot z brył

Pierwszy Zubli był „prawdziwym” 3D: kilkadziesiąt zaokrąglonych pudełek, kul i kapsuł, własne materiały, mały studyjny zestaw świateł. Poruszał się pięknie — głowa śledziła kursor, machał, podskakiwał, mrugał. A jednak obok grafiki koncepcyjnej wyglądał jak zabawka obok fotografii. Fakturę dzianiny, odblaski na wizjerze czy szwy bluzy model graficzny renderuje w sekundy, a ręczne modelowanie zajmuje tydzień. Sufit tej metody czuć w chwili, gdy postawisz oba obrazki obok siebie.

Po lewej prototyp zbudowany z brył, po prawej nowe ciało Zubliego z renderu

Próba druga: zostawić piksele, dodać ruch

Odwróciliśmy więc problem. Zamiast budować robota, który próbuje wyglądać jak obrazek, wzięliśmy obrazek i nauczyliśmy go się ruszać. Tę samą postać wygenerowaliśmy w sześciu pozach w identycznym kadrze i świetle. Skrypt usuwa tło, odnajduje świecące oczy, wymazuje je i wyrównuje każdą klatkę na dwóch kotwicach: punkcie między oczami i linii stóp. Po tym kroku zmiana pozy to płynne przenikanie, a nie skok. Każda klatka jest teksturą na siatce z około pięciu tysięcy wierzchołków, a shader dzieli sylwetkę na miękkie strefy: głowa obraca się wokół szyi, tułów oddycha, rękawy zginają się w barkach. To kukiełka, nie film — w spoczynku obraz jest identyczny z plikiem, piksel w piksel.

Zestaw sześciu wyrównanych klatek Zubliego w różnych pozach

Oczy rysowane na żywo

Skoro oryginalne oczy zostały wymazane, wizjer jest czystą czarną powierzchnią. Oczy rysujemy na małym płótnie i nakładamy je w shaderze wewnątrz prostokąta wizjera, więc obracają się razem z głową. Daje to mruganie, spojrzenie podążające za kursorem, uśmiech, mrugnięcie okiem, serduszka — i jeden praktyczny efekt dla kliniki: kolor oczu może przyjąć barwę jej marki, więc ta sama postać nosi inną osobowość na każdej stronie. Zubli powyżej to dokładnie ten mechanizm, uruchomiony w Twojej przeglądarce.

Cztery warianty oczu Zubliego: neutralne, wesołe, mrugnięcie i serduszka, wszystkie rysowane w czasie rzeczywistym

Bryły 3D czy animowany render?

Stary Zubli miał nieograniczony ruch i ograniczoną urodę. Nowy ma urodę renderu i ruch w dwóch skalach: duże gesty z klatek, mikroruch z matematyki. Nowa poza to jedna klatka przepuszczona przez pipeline zamiast dni modelowania; nowa postać to ten sam pipeline z inną klatką bazową. Dwa detale przesądziły o wyniku: przenikanie póz w alfie premultiplikowanej (koniec z szarymi obwódkami) i usunięcie jednego filtra CSS, po którym scena przyspieszyła z 29 do 60 klatek na sekundę na zintegrowanej karcie graficznej. To ważne, bo Zubli działa na stronach klinik, nie na stacjach graficznych.

Schemat procesu: render, wysegmentowana i wyrównana klatka z wymazanym wizjerem, animowana kukiełka

Jak to powstało

To była praca wielu agentów. Agent Claude zaprojektował pipeline, shader i runtime; agent GPT wygenerował klatki póz z jednego obrazu referencyjnego. Oba rozmawiały ze sobą przez herdr, nasz multiplekser terminali dla agentów kodujących, a przeglądarka bez interfejsu sprawdzała każdy gest zrzutami ekranu, zanim spojrzał na nie człowiek. Tak samo pracujemy nad resztą DentalDesk: szybko, z twardą weryfikacją i bez tygodni ustaleń.

Jak wygląda wdrożenie

Zaczynamy od importu cennika i informacji o klinice, które zatwierdzasz jako bazę wiedzy asystenta. Potem konfigurujemy widget na Twojej stronie i szkolimy recepcję z pracy na kartach zgłoszeń. DentalDesk działa w abonamencie miesięcznym, bez długoterminowych zobowiązań. Jeśli prowadzisz gabinet i chcesz zobaczyć, kto odpowiada Twoim pacjentom po godzinach — napisz do nas.

Porozmawiajmy o Twoim.