Mark Storchovyi · Full-stack developer · Wrocław · Zdalnie

Tworzę produkty webowe, z których ludzie naprawdę korzystają.

Full-stack developer, pracuję w React i TypeScript. Prowadzę funkcje od pustego pliku do produkcji: typowany frontend, przemyślany model danych, testy i wdrożenia, które nie psują tego, co już działa.

Strona iBraid Studio i proces rezerwacji na laptopie i telefonie
Ostatnia realizacja, działaibraid-studio.com: strona, rezerwacje i panel studia, zbudowane przeze mnie od zera

Wybrana realizacjaGru 2025 – Wrz 2026

iBraid Studio

Jak zamieniłem cennik studia warkoczy i zeszyt z wizytami w jeden system, który obsługuje rezerwacje, zaliczki i przypomnienia.

Odwiedź ibraid-studio.com

Zadanie

Dwie stylistki, 53 fryzury, wizyty w salonie i u klientek w domu w Toronto i Mississaudze. Klientki miały widzieć realną cenę i realny czas i rezerwować w minutę. Studio potrzebowało jednego miejsca do prowadzenia dnia.

Moja rola: projekt produktu, frontend, backend, płatności i wdrożenie. Samodzielnie.

Co zbudowałem

  • StronaKażda fryzura z realną ceną i czasem na fotelu. Najpierw pod telefon, w dwóch motywach, z portfolio wideo.
  • Rezerwacja onlineSiedem krótkich kroków. Zaliczka 30 $ przez Stripe trafia prosto do stylistki, która wykona usługę.
  • Panel studiaZgłoszenia, tydzień jako kalendarz, płatności, analityka i ceny, które studio edytuje samo.
  • WiadomościStudio odpowiada na zgłoszenie z karty w Telegramie jednym dotknięciem. Klientki dostają przypomnienia e-mailem i SMS-em.

Decyzje frontendowe

  • Siedem kroków, jedno pytanie na każdymUsługa, styl, miejsce, stylistka, termin, dane kontaktowe, podsumowanie: każdy ekran pyta o jedną rzecz, a krok wyboru stylistki pojawia się tylko wtedy, gdy naprawdę jest wybór. Krok zapisany jest w adresie URL, więc rezerwacja przetrwa odświeżenie, można ją udostępnić i działa z przyciskiem wstecz.
  • Błędy wtedy, gdy pomagająPole jest sprawdzane po jego opuszczeniu, a nie w trakcie pisania, a przycisk Dalej pozostaje nieaktywny, dopóki krok nie jest poprawny. Niedokończona rezerwacja jest zachowywana na czas sesji, więc odświeżenie strony ani zerwane połączenie jej nie usuwają.
  • Najpierw telefon, klawiatura teżProjektowane najpierw na ekran telefonu. Przejście do kolejnego kroku przenosi fokus na jego nagłówek i ogłasza go czytnikom ekranu, więc cały proces działa też z klawiatury.
  • Dwa motywy, bez mignięciaNajpierw ciemny, wzięty z bursztynowo-czarnej identyfikacji studia, oraz jasny, czyli ta sama marka na ciepłym papierze. Motyw podąża za ustawieniem systemu, dopóki odwiedzający sam nie wybierze, i jest stosowany przed pierwszym wyrenderowaniem.

Pod maską

50
mniej więcej tyle klientek miesięcznie przechodzi przez system
702
testy automatyczne
26
tabel w bazie, 42 migracje
3
kanały wiadomości: Telegram, e-mail, SMS

Projekty

Inne projekty

Cały kod na GitHubie

Stack

Z czym pracuję

Narzędzia, na których powstały projekty z tej strony. Do nowego zadania dobieram to, co do niego pasuje, i uczę się tego, czego wymaga.

Frontend

  • React
  • TypeScript
  • JavaScript
  • Next.js
  • Vite
  • HTML/CSS
  • Tailwind CSS

Backend i dane

  • Node.js
  • PostgreSQL
  • Supabase
  • SQLite/IndexedDB

Desktop, płatności i narzędzia

  • Electron
  • Stripe
  • Vitest
  • Git
  • Vercel

Doświadczenie

Doświadczenie

Full Stack Engineer

iBraid Studio

Grudzień 2025 — Wrzesień 2026Toronto, Kanada · Zdalnie

Samodzielnie zaprojektowałem i zbudowałem cały system studia: publiczną stronę, rezerwację online z zaliczką przez Stripe, panel studia oraz powiadomienia przez Telegram, e-mail i SMS. Obsługuje około 50 klientek miesięcznie.

Kluczowe obowiązki
  • Zbudowałem stronę i siedmiokrokowy proces rezerwacji w Next.js i TypeScript, z regułami cen i rezerwacji w osobnej, w pełni przetestowanej warstwie domenowej.
  • Zaprojektowałem schemat PostgreSQL w Supabase: 26 tabel, 42 migracje, row level security i ograniczenie w bazie chroniące przed podwójną rezerwacją.
  • Zintegrowałem Stripe Connect, tak aby każda zaliczka trafiała prosto na konto stylistki wykonującej usługę.
  • Zbudowałem panel studia: skrzynkę zgłoszeń, kalendarz tygodnia, historię, płatności, analitykę i edycję katalogu.
  • Zbudowałem bota Telegram do obsługi zgłoszeń oraz wysyłkę e-maili i SMS przez kolejkę z ponawianiem.
  • Pokryłem system 702 testami automatycznymi i wdrożyłem go na Vercel ze ścisłą polityką Content Security Policy.
Technologie

Next.js · TypeScript · React · PostgreSQL · Supabase · Stripe · Telegram Bot API · Tailwind CSS

Portret Marka Storchovyiego

O mnie

Cześć, jestem Mark.

Jestem full-stack web developerem z Wrocławia. Lubię całą pracę: rozmowę z ludźmi, którzy będą z czegoś korzystać, decyzję, co to ma robić, i porządne zbudowanie tego, od bazy danych po ostatni przycisk.

Do tej pory był to system rezerwacji, który codziennie prowadzi prawdziwe studio w Toronto, funkcje WordPressa dla startupu technologicznego we Włoszech i aplikacja do nauki języków w przeglądarce i na desktopie. Różne problemy, to samo podejście: najpierw zrozumieć, potem zbudować tak, żeby działało latami. Po godzinach zgłębiam Linuksa, serwery i sieci.

Kontakt

Szukasz frontend lub full-stack developera?

Chcę dołączyć do zespołu, w którym będę odpowiadać za funkcje od początku do końca, od interfejsu po bazę danych, i dalej uczyć się od ludzi wokół. Napisz, o jaką rolę chodzi, i dodaj kilka słów o zespole.

Otwarty na oferty pracy na pełen etat. Biorę też projekty freelance.

© 2026 Zbudował Mark StorchovyiWrocław