RawCode Studio Logo
← Wróć do listy artykułów pl

Rozwój w moim stylu

Czyli minimalistyczne narzędzie do śledzenia rozwoju.

Publikacja: 2025-11-29 Szacowany czas czytania: 10 min

W dzisiejszym artykule przedstawiam swoje autorskie podejście do śledzenia rozwoju. Jest nią minimalistyczna funkcjonalność, którą dodałem do swojej prywatnej strony. Można w niej tworzyć dziedziny, w których chcemy śledzić aktywności (zbierane doświadczenie). Aplikacja jest stworzona w formacie Progressive Web App, dzięki czemu można z niej wygodnie korzystać na komórce.

Skąd w ogóle pomysł?

Zgodnie z moimi wynikami Galupa mam talent Learner, upraszczając — lubię się uczyć i sprawia mi to przyjemność (o ile nie jestem do tego zmuszony i realnie mnie to interesuje).

Brakowało mi jednak systemu, który:

- byłby zarówno motywacją do systematycznej nauki,

- nakierowałby mnie na pilnowanie tematów, które chce rozwijać,

- pozwalałby mi to śledzić.

Warto zaznaczyć, że w jest już wiele takich aplikacji, które w mniejszym lub większym stopniu spełniają te oczekiwania. Jeżeli więc odczuwacie podobną potrzebę nie musicie jak ja robić swojej aplikacji, ale po prostu skorzystajcie z już dostępnych. Ogólnie polecam https://loophabits.org/, przez długi czas spełniała wszystkie moje potrzeby.

No ale wracając, mam ambitny pomysł stworzenia wysoce spersonalizowanego portalu do samorozwoju (stąd nazwa DevMe). Co więcej, brakowało mi wygodnego sposobu eksportu i prezentacji danych na desktopie. Nie zostało mi nic innego (oprócz sprawdzenia pewnie z 2-3 apek i skorzystaniu z nich po prostu) jak zrobienie swojej własnej wersji!

Proces kodowania

Jak przystało na czasy vibe coding wsparłem się moim ostatnio ulubionym zestawem Visual Studio Code + RooCode + Z.AI.

Aktualizacja readme.md + budowa kontekstu.

Jako że główny projekt, czyli DevMe (prywatna platforma do wspierania rozwoju) był od dłuższego czasu przeze mnie nieaktualizowany i brakowało w nim poprawnego pliku README, zacząłem od lakonicznego promptu do zbudowania kontekstu i aktualizacji pliku README

Przeanalizuj projekt i zaktualizuj plik readme.me

Przygotowanie planu

Następnie przełączyłem się na tryb Architect i rozpocząłem projektowanie planu wdrożenia nowej funkcjonalności

Chciałbym dodać nowa funkcjonalność dla zalogowanych użytkowników.

Funkcjonalność polegałaby na możliwości liczenia doświadczenia w wybranych czynnościach.

Użytkownik musi mieć możliwość dodawania, edytowania i opcje soft delete dla wybranych dziedzin, które chciałby śledzić. Np.

- programowanie,

- zdrowie,

- język angielski.

Zakładam, że w tym celu trzeba by stworzyć tabele z dziedzinami. Każda dziedzina miałaby relacje do swojego autora.

Użytkownicy powinni widzieć tylko i wyłącznie swoje dziedziny.

Po dodaniu już dziedzin, użytkownik powinien mieć dostęp do listy tych dziedzin w formie przycisków. Każde przyciśnięcie przycisku, dodawałoby nowy wpis do tabeli, powiązany do odpowiedniego rekordu z dziedzin dodanych przez użytkownika.

Na razie interesuje mnie taka minimalistyczna funkcjonalność. Docelowo będę chciał wdrożyć jeszcze opcje wykresów i podsumowań dla częstotliwości i ilości, ale to nie jest zadanie na teraz, choć możesz to uwzględnić podczas planowania, tak by w przyszłości wdrożenie tych funkcjonalności było wygodne.

Jeżeli masz dodatkowe pytania lub wątpliwości, to zadaj je przed przygotowaniem planu wdrożenia.

Po takim prompcie dostałem kilka dodatkowych pytań np. o to co chce przechowywać w jakim modelu.


Finalnie dostałem od architekta rozbudowany plan wdrożenia:

Wdrożenie planu

Wystarczyło przełączyć się na tryb Code i wtyczka zaczęła wdrażać zmiany.

Tutaj polecam skorzystać z mojego artykułu Ai w pracy programisty, by nie wpaść w niektóre problemy jak np. ślepą akceptację zmian.

Proces chwilę trwał, agent rozpoczął pracę od utworzenia migracji, następnie modeli, widoków, fabryk testowych danych, napisania i przeprowadzenia testów po aktualizację pliku README.

Cały proces był przeze mnie nadzorowany, aby upewnić się, że nie popełnia jakichś głupot.

W planie zabrakło seedera, więc poza powyższym planem dodałem prompta o dodaniu seedera. Niestety prompt był zbyt lakoniczny i musiałem wdrożyć jeszcze kilka poprawek by generował dla każdego użytkownika kilka domen do rozwoju.

Problemy z importami i templatkami VUE

Napotkałem dodatkowe problemy z brakującymi importami axios w niektórych templatkach (od razu widoczne w sekcji PROBLEMS w VS Code), które ręcznie poprawiłem.

Innym problemem były braki definicji typów zmiennej używanej w stronach. Tutaj skorzystałem z opcji automatycznego rozwiązania problemu przez RooCode:

Progressive Web App

Jednym z moich założeń początkowych było, że takie śledzenie musi być łatwo dostępne - czyli daje możliwość szybkiego klikania w telefonie.

Po szybkiej analizie doszedłem do wniosku, że najlepiej i najszybciej zrealizuje ten cel poprzez skorzystanie z mechanizmu Progressive Web App. W skrócie korzystam z wbudowanych w przeglądarki Android’owe mechanizmów, które pozwalają przekształcić stronę w aplikacje.

Dzięki temu wystarczyło zadbać o wersje Mobile Friendly i temat apki mobilnej został załatwiony.

Wynik końcowy

Jak z tego korzystać?

Przyjąłem sobie pewne założenia, aby wyciągnąć maksimum z tak prostego podejścia:

Co za tym idzie, jak wykonam jakąś czynność, na której śledzeniu mi zależy odblokowuje komórkę, otwieram apkę (o ile już nie jest otwarta) i po prostu klikam na dziedzinę, by podnieść w niej doświadczenie.

Podsumowanie

Planuje zaktualizować ten post jeszcze po jakimś czasie korzystania z tego rozwiązania, więc możliwe, że finalne podsumowanie się zmieni.

Całość od pomysłu do wdrożenia zajęła mi 2-3 godziny. Nie jest to może super czas jak na prostą funkcjonalność z tak dużymi ograniczeniami, ale ponownie turbo tani setup pozwolił mi poprawić odrobinę jakość swojego życia i praktycznie bez większego wysiłku czy nakładu czasowego stworzyłem użyteczne narzędzie.

Na chwilę obecną uważam, że jest to idealne rozwiązanie na moje potrzeby i nie mogę się doczekać aż zacznę z niego korzystać na co dzień i już mam w głowie pomysły jak je rozbudować!