Wróć do projektów
WebDostępny online

Studium przypadku

Course Workshop

Dwujęzyczna aplikacja Rails do tworzenia, doskonalenia i przerabiania kursów z lokalnym asystentem AI. Trwałe rozmowy, odzyskiwanie zadań w tle i publiczne demo z dwoma kompletnymi kursami.

Biblioteka Course Workshop z ilustrowanymi kursami statystyki po polsku i angielsku, filtrami kategorii i postępem nauki

Przegląd projektu

Kategoria
Web

Technologie

  • Ruby on Rails
  • Ruby
  • PostgreSQL
  • Hotwire
  • Tailwind CSS
  • Codex
  • Docker
  • Vercel

Wewnątrz projektu

Kontekst

Course Workshop zamienia cel nauki w uporządkowany kurs, który można przejrzeć, dopracować i przerobić w jednym miejscu. Lokalna aplikacja łączy tworzenie materiałów z pomocą AI z czytnikiem obsługującym Markdown, kolorowany kod, wzory matematyczne, diagramy, obrazy i zadania. Interfejs po polsku i angielsku wspiera zarówno przygotowanie treści, jak i późniejszy powrót do nauki.

Rola

Zaprojektowałem i zbudowałem aplikację: od systemu wizualnego Czytelnia i modelu danych po interfejs Rails, integrację z Codexem, testy automatyczne i wdrożenie. Zakres obejmował bibliotekę z okładkami i kategoriami, trwały panel asystenta, śledzenie postępu oraz osobny tryb publicznego demo.

Ograniczenia

Generowanie i edycja kursu mogą trwać dłużej niż wizyta w przeglądarce. Zamknięcie karty nie może usuwać przyjętych zadań ani historii rozmowy, a przerwanych operacji o niepewnym wyniku nie należy powtarzać w ciemno. Publiczne demo miało pokazać czytnik bez udostępniania prywatnej sesji Codexa i bez możliwości generowania treści przez odwiedzających.

Podejście

Ruby on Rails i PostgreSQL przechowują kursy, lekcje, postęp oraz rozmowy. Hotwire aktualizuje interfejs bez osobnej aplikacji frontendowej, a Tailwind CSS i daisyUI zapewniają wspólne elementy UI. Solid Queue wykonuje zadania w tle z zapisanym stanem i odzyskiwaniem po przerwaniu. Lokalny Codex App Server korzysta z narzędzi MCP ograniczonych do edycji szkiców, z historią zmian i możliwością cofania. Użytkownik przegląda plan przed generowaniem lekcji i zatwierdza szkic przed publikacją.

Asystent zachowuje rozmowę podczas przechodzenia między planem a lekcjami, przyjmuje zaznaczone fragmenty i pokazuje wykonywane zmiany. Tutor opublikowanego kursu działa tylko do odczytu. Oczyszczony Markdown, Rouge, KaTeX i Mermaid odpowiadają za prezentację materiału, a Active Storage za lokalne obrazy. Rails I18n pozwala wybierać język interfejsu niezależnie od języka kursu.

Rezultat

Publiczne demo działa na Vercelu z PostgreSQL Neon i zawiera dwa czterolekcyjne kursy statystyki: po polsku i angielsku. Odwiedzający mogą przeglądać materiały i zapisywać osobny postęp w swoich przeglądarkach. Generowanie, ustawienia i czat pozostają widoczne jako wyłączone podglądy; te same ograniczenia egzekwuje serwer. Publiczne repozytorium zawiera instrukcję uruchomienia, dokumentację architektury, testy aplikacji i przeglądarki oraz CI warunkujące aktualizację produkcji.

Wnioski

Funkcja AI wymaga jasno określonej odpowiedzialności za stan, obok samego połączenia z modelem. Trwały zapis pracy, ograniczone narzędzia, etapy przeglądu i odwracalne zmiany ułatwiają zaufanie do asystenta wykonującego dłuższe zadania. Wspólne, przetestowane granice funkcji lokalnej aplikacji i publicznego demo ułatwiają też prezentację oraz utrzymanie produktu.

Dwujęzyczna aplikacja Rails do tworzenia, doskonalenia i przerabiania kursów z lokalnym asystentem AI. Trwałe rozmowy, odzyskiwanie zadań w tle i publiczne demo z dwoma kompletnymi kursami.

Zobacz wszystkie projekty