Moja pierwsza aplikacja Laravel wystartowała u klienta! #buildinpublic

Dziś szybka notka o tym, że żyjemy we wspaniałych czasach, w których zwykły analityk (patodeveloper?) jest w stanie jednoosobowo dostarczyć klientowi aplikację w kilka miesięcy. Nie umiejąc (biegle) kodować. Nie korzystając z platform No/Low Code. „Pisząc” w znanym frameworku (full-code) i korzystając z AI, na przykład z Windsurf.

Jednocześnie nie jest to post o tym, że „stworzysz taką aplikację w weekend”. Aplikacja aplikacji (bardzo) nierówna i ta seria ma to między innymi pokazać.

Wpis publikuję w ramach serii pisanej w duchu #buildinpublic, w której ukazały się do tej pory następujące wpisy:

Kontekst

Moja przygoda z aplikacjami dla tego konkretnego klienta zaczęła się w okolicach 2023 roku. Wtedy to zacząłem szykować dla niego rozwiązanie na platformie Low-Code – Retool. Wystartowało ono w lutym 2024 i działa do dziś. Powstało tam już ponad dwa tysiące protokołów z przeglądów technicznych stacji benzynowych.

Nadal uważam, że do pewnych zastosowań Retool i generalnie Low-Code to świetny wybór – nawet przy aplikacjach, gdzie jest kilkadziesiąt tysięcy rekordów w bazie. Jako dowód – dane z realnej aplikacji po ponad roku eksploatacji.

Klient nie krył zadowolenia. Przeniósł w końcu masę niepotrzebnej pracy (przepisywanie z papierowych kartek do plików Word) do aplikacji, której inspektorzy używali od razu na tablecie, z pełnoprawną bazą danych. Szybko pojawiły się prośby o kolejne funkcje, a w szczególności nowe wzory protokołów.

Po wysłuchaniu jego wizji i strategii (wincyj funkcji! wszystkie wzory świata!) przekonałem go, że Retool jest super, ale dojdziemy w końcu do ściany. Jeśli więc to rozwiązanie ma docelowo stać się krytyczną dla jego zespołu aplikacją – wybierzmy popularny framework technologiczny i róbmy to w modelu full-code.

Jakie były moje argumenty?

  • przestaniemy bać się nagłych zmian cen Retool,
  • nie zostaniemy znienacka zaskoczeni zmianami w funkcjach – np. komponentach UI dostarczanych przez Retool (fun fact – jakieś 3 tygodnie temu nowa wersja komponentu tabeli popsuła działanie wielu aplikacji na tej platformie),
  • możemy włączyć do prac developera danej technologii – jest ich na rynku znacznie więcej niż developerów Retool,
  • w razie problemów z wydajnością mamy więcej opcji – np. refactor kodu bądź migracja na mocniejszy serwer,
  • mamy do dyspozycji masę narzędzi wchodzących w skład ekosystemu danego stosu i nie musimy się ograniczać do tego co daje Retool (chociaż daje dużo).

Finał

Jak się skończyło? Z końcem marca oddałem do użytku „produkcyjnego” nową aplikację, którą pisałem od około grudnia 2024. Działa już w 100% na stosie technologicznym Laravel 11.

Od 2 tygodni jest „zamęczana” przez użytkowników (korzystają z niej „w boju”, na prawdziwych danych, z poziomu tabletu i laptopów). Prawie codziennie aktualizowana jest o kolejne poprawki i nowe funkcje.

Żeby była jasność – ta aplikacja to nie jest to prosty landing page. To realnie działające rozwiązanie z funkcjami takimi jak:

  • dodawanie i duplikowanie protokołów, do których dodawane są adnotacje (każdy protokół to kilka tabel i kilkadziesiąt wierszy + zdjęcia + notatki + metadane),
  • upload, zmiana rozmiaru i obrót zdjęć,
  • model ról i uprawnień z prawdziwego zdarzenia (inspektorzy widzą i mogą co innego niż klienci itd – przykładowy ekran poniżej),
  • zarządzanie użytkownikami, baza klientów,
  • masa innych drobnych udogodnień.

To czego nie widać – czyli „Jak do tego doszło… wiem!”

I teraz HIT, czyli historia powstania tej aplikacji w skrócie:

  • Uczyłem się podstaw Laravel 11 w listopadzie 2024, na Udemy
  • pierwsze kroki z kodowaniem wspieranym przez AI w Windsurf robiłem równolegle,
  • aplikacja wystartowała produkcyjnie pod koniec marca 2025,
  • powstała realnie w około 150 moich „dupogodzin” (i jakieś 400 commitów do repozytorium), głównie wieczorami, po godzinach,
  • po kilku tygodniach jest już w niej ponad 220 protokołów i codziennie wpada kilkanaście kolejnych.

Przyznam, że jestem z siebie cholernie dumny :).

Oczywiście – gdyby nie to, że:

  • całe życie siedzę „w komputerach”,
  • znałem wcześniej podstawy programowania i coś tam z pomocą książek i StackOverflow budowałem,
  • zawodowo pracuję od około 2010 jako analityk i projektant podobnych aplikacji…

…pewnie w życiu bym tego nie zrobił w takim czasie.

Jednocześnie jeszcze rok temu w ogóle bym się za to nie zabierał. Pisanie pełnoprawnej, „dużej” aplikacji samodzielnie? W życiu! Dopiero narzędzia takie jak Cursor, Windsurf czy Cline zasiały w mojej głowie myśl „a może by tak spróbować”?

Jak widzisz – AI otworzyło przede mną całkiem nowe możliwości budowania rzeczy, o których kiedyś tylko mogłem pomarzyć. Kiedyś pan Bloomberg (burmistrz Nowego Jorku) postanowił nauczyć się programowania w dość zaawansowanym wieku. Nie wiem jak mu wtedy poszło, ale dziś każdy może iść w jego ślady, za ułamek ceny!

Wokół słyszę masę podobnych historii. Może podzielisz się swoją?

Napisz do mnie, skomentuj ten wpis, zapytaj o co chcesz. Jestem niezmiernie ciekawy co o tym wszystkim sądzisz!

Tak chciałbym wyglądać kodując

Nie przegap nowych wpisów

Zapisz się na powiadomienia. Otrzymasz 1 mail w miesiącu.

klikając "Zapisz mnie" potwierdzasz zapoznanie się z polityką prywatności tego bloga. Po zapisaniu się możesz zmienić obserwowane kategorie.

Nie przegap nowych wpisów

Zapisz się na powiadomienia. Otrzymasz 1 mail w miesiącu.

klikając "Zapisz mnie" potwierdzasz zapoznanie się z polityką prywatności tego bloga. Po zapisaniu się możesz zmienić obserwowane kategorie.

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *