TL;DR
- OpenAPI jako fundament – najpopularniejszy format opisu API (z JSON Schema), używany w całym cyklu życia API
- Replit Agent za 25-50 centów – generuje działający serwer API z pliku OpenAPI w kilka minut, preferuje Python i Flask
- Kluczowe zasady oszczędności – unikaj baz danych, logowania i Swagger UI na początku, by zmieścić się w darmowych limitach
- Gateway w 5 minut – Zuplo pozwala szybko zabezpieczyć API, dodać monitoring i analytics
- AI jest non-deterministyczne – narzędzia halucynują i mają problemy, ale self-korygują się przez curl testing
- Agent vs Assistant – po scaffolding używaj Assistant (5¢/zmiana) zamiast Agent (25¢/checkpoint)
- Lenny’s Newsletter hack – subskrybenci dostają rok darmowego Replit, Cursor, Windsurf i innych premium tools
Product managerzy często stają przed dylematem opisanym przez Emmanuela Paraskakisa w jego webinarii. Paraskakis, który pracuje nad API jako product manager od ponad 15 lat i stworzył różne programy API dla firm, pokazuje jak samodzielnie stworzyć działający prototyp API w ciągu 20 minut.
OpenAPI jako Fundament Procesu
Paraskakis podkreśla, że OpenAPI wyewoluowało ze specyfikacji Swagger i jest obecnie najszerzej używanym formatem opisu API. Według badania SmartBear, OpenAPI z JSON Schema to zdecydowanie najpopularniejsze formaty opisu API. Obecna wersja to 3.1.1, choć w demo używa się 3.1.0 ze względu na kompatybilność z narzędziami.
OpenAPI to plik tekstowy w formacie YAML lub JSON zawierający:
- Sekcję metadanych na górze
- Sekcję sервisu – gdzie API mieszka
- Sekcję security – jak API jest chronione
- Paths – endpointy do wywołania i metody
- Components i schemas – struktury request, response i innych parametrów
Według Paraskakisa, OpenAPI może być używane w każdym punkcie lifecycle’u API – do ideacji, designu, prototypowania, jako wskazówki dla development czy testowania, konfiguracji deployment’ów w API management, dokumentacji i analytics.
Scenariusz z Webinaru – Gdy Engineering Team Jest Zajęty
W scenariuszu przedstawionym przez Paraskakisa, jesteś product managerem lub innym individual contributorem (developer, technical writer, architect, product marketer) i chcesz wypuścić API. Masz już zwalidowany plik OpenAPI – co oznacza, że poszedłeś do klientów i potencjalnych użytkowników, pokazałeś im API z mockami, pokazałeś mock dokumentację i zapytałeś czy to jest dla nich użyteczne. Dostałeś feedback, zmodyfikowałeś, i teraz jesteś w stanie gdzie wiesz czego chce rynek.
Problem w tym, że engineering team jest właśnie zajęty, a ty chcesz zbudować trochę pierwszej wersji API – nie będzie to finałowy kod produkcyjny, ale chcesz przenieść prototyp znacznie dalej niż dałby ci mock.
Generowanie API z Replit Agent
Paraskakis ostrzega na początku, że wszystkie AI tools są non-deterministyczne i czasami mają problemy, więc demo może nie działać idealnie dla każdego.
Proces w Replit:
Replit preferuje, chyba że powiesz inaczej, używanie Python i Flask. W demo Paraskakis używa prostego prompta: „Implement the API server described in the attached OpenAPI file. Follow the OpenAPI file closely. Make sure you use the authentication specified in the OpenAPI file. I don’t need any persistence, I don’t need a database, I don’t need logging, I don’t need analytics or caching. Just keep everything simple.”
Jak działa Replit Agent:
- Analizuje co chcesz zrobić i patrzy na plik
- Tworzy plan i pyta o dodatkowe rzeczy: database, rate limiting, logging, monitoring, caching, Swagger UI
- Zaczyna budować i po prawej stronie daje preview
- Na lewej stronie mówi co robi podczas kodowania
- Robi screenshots siebie i koryguje się co do kierunku
- Wykonuje curl statements żeby testować swoją pracę
- Patrzy na błędy i self-corrects
- W końcu dochodzi do steady state
Kluczowe zasady od Paraskakisa: •
- Nie dodawaj bells and whistles – gdy Agent pyta o database, rate limiting, logging, monitoring, caching – nie zgadzaj się
- Nie deploy Swagger UI – „ask me how I know” – Agent się myli i nie potrafi sobie z tym poradzić
- Podawaj feedback – AI halucynuje, może stworzyć kompletnie inną authentication, więc trzeba mu pokazywać błędy
- Koszty: Agent używa checkpoints po 25 centów każdy, Assistant to 5 centów za każdą zmianę
Testowanie Wygenerowanego API
Paraskakis używa HTTP jako klienta API do testowania. W demo pokazuje Dad Jokes API (które powstało z sugestii uczestnika Tima z poprzedniego webinaru w tej serii).
Struktura Dad Jokes API:
- GET /jokes – pobierz żarty
- POST /jokes – stwórz nowy żart
- GET /jokes/{id} – pobierz konkretny żart
- PUT /jokes/{id} – zmodyfikuj żart
- DELETE /jokes/{id} – usuń żart
- Zabezpieczone przez API key security
Proces testowania:
- API używa X-API-Key header z kluczem „test_api_key”
- Base URL samo w sobie nie działa – trzeba użyć /jokes endpoint
- Green link z Replit to temporary deployment
Sekwencja testów pokazana przez Paraskakisa:
- GET na kolekcji
- POST item
- GET item lub GET kolekcji żeby zobaczyć że item tam jest
- Zmień item
- Usuń item
W demo Paraskakis wykonuje DELETE na jednym z żartów, a następnie GET pokazuje że już nie istnieje.
Umieszczenie API za Gateway (Zuplo)
Paraskakis wyjaśnia koncepcję API gateway jako czegoś co stawiasz między serwisem a „big bad Internet” żeby go chronić i jednocześnie mierzyć co wchodzi i wychodzi. Jedna strona gateway słucha na service URL (które już przetestowaliśmy), druga strona to public URL który gateway będzie eksponować.
Proces w Zuplo:
- Stwórz nowy projekt (domyślnie pusty)
- Przejdź do routes.oas.json – można tu załadować OpenAPI file
- Import tego samego OpenAPI file używanego w Replit
- Skonfiguruj forward URL na green link z Replit
- Gateway automatycznie konfiguruje routing
Po konfiguracji gateway zapewnia:
- Logi requestów
- Analytics o tym jakie requesty przychodzą
- Możliwość obserwowania trafficu i błędów
Praktyczne Wskazówki dla Product Managerów
Odpowiedź Paraskakisa na pytanie o najważniejsze tech skills dla PM:
- Stań się trochę bardziej techniczny – bądź w stanie robić rzeczy jak pokazane w demo vs. „patrzę na kod i się stresuję”
- Naucz się trochę kodowania – nie żeby robić production code, ale żeby rozumieć co się dzieje
- Zapoznaj się z AI tools – używaj ich hands-on w codziennej pracy
- Przykład: Weź ten OpenAPI file, wklej do Claude i poproś żeby wygenerował scaffold wszystkich user stories potrzebnych do implementacji
- Lenny’s Newsletter – subskrybenci dostają dostęp do Cursor, Bolt, Windsurf, Replit za darmo z subskrypcją
- Kursy: Emmanuel prowadzi „API Product Mastery for Experienced PMs”, Colin Matthews ma kurs o „AI and prototyping” na Maven
- OpenAPI learning: Darmowy 90-minutowy kurs na oficjalnej stronie OpenAPI
- Zaangażuj się w bardziej techniczne rzeczy w swojej firmie
Realistic Data Generation
Odpowiedź Paraskakisa na pytanie Davida o połączenie z bazą danych i realistic data:
- Database: Replit będzie proponować stworzenie bazy lub można połączyć z własną
- Problem z OpenAPI examples: Masz tylko kilka przykładów, nie będzie bardzo realistic jak z mock APIs
- Rozwiązanie: Użyj LLM do generowania dynamic test data
- Dla Dad Jokes API: „generate me 30 dad jokes”
- Daj schema z OpenAPI modelowi i powiedz: „generate me 50/1000 examples of realistic data using this schema”
- Stwórz skrypt i POST dane przez API lub wklej bezpośrednio do bazy
Ograniczenia i Rzeczywistość AI Tools
Paraskakis szczerze mówi o ograniczeniach:
- Kod nie jest production worthy – dla side projectu może być ok do startu, ale traktuj jako prototyp
- AI halucynuje – w poprzedniej iteracji dało mu kompletnie inną authentication niż było w specyfikacji
- Non-deterministic – czasami ma problemy, czasami wchodzi w „rabbit holes”
- Rozwiązanie: Dawaj feedback – copy errors, paste błędy, będzie się poprawiać
Co można dodać później przez Replit: •
- Persistence w formie database
- Logging, caching
- Deploy API publicznie do permanent URL
- Rate limiting (prawdziwy, nie tylko headers)
Alternative tools:
- Testing: Postman collections + Newman CLI, Bruno, Curl
- Code generation: Cursor, Windsurf
- Contract testing: Tools z openapi.tools, Pact, Schemathesis
- Gateway policies: Zuplo pozwala dodawać inbound/outbound policies, set request headers, caching
- GitHub sync: Zapisuj konfigurację gateway w GitHub
Paraskakis podkreśla też że Replit support jest awesome – szybko pomagają gdy są problemy.
Ekonomika i Koszty
Konkretne liczby od Paraskakisa: •
- Replit Agent: 25 centów za checkpoint – do initial scaffolding
- Replit Assistant: 5 centów za zmianę – bardziej ekonomiczne do modyfikacji
- Całość: prawdopodobnie kosztowała go 25-50 centów
- Czas: Zrobili to w około 20 minut
- Free plans: Wystarczą jeśli robisz proste OpenAPI file i prosty serwer
- Lenny’s community: Daje rok free dla Replit dla każdego kto kupuje paid subscription
Individual contributor może stworzyć coś co faktycznie działa, ma analytics i można monitorować – w 20 minut za prawie free.
Kontekst Serii Webinarów
Paraskakis prowadzi serię darmowych lekcji:
- Następny: „AI agents consuming your API”
- MCP service generation – jeśli słyszałeś o tym
- API Product Mastery for Experienced PMs – 6 live lessons, start 5 czerwca
Dad Jokes API użyte w demo pochodziło z poprzedniej lekcji w tej serii o prototypowaniu API z AI.
Checklista: Proces z Webinaru (20 minut)
Przygotowanie
□ Załóż konto Replit (free plan)
□ Załóż konto Zuplo (free plan)
□ Przygotuj plik OpenAPI (JSON/YAML) □ Sprawdź plik w edytorze pod kątem błędów □ Zachowaj małe API (żeby zmieścić się w free credits)
Replit Agent (10+ minut)
□ Załącz OpenAPI file □ Użyj prompta: „Implement the API server described in the attached OpenAPI file”
□ Dodaj: „Follow the OpenAPI file closely”
□ Dodaj: „Make sure you use the authentication specified”
□ Dodaj: „I don’t need persistence, database, logging, analytics or caching”
□ ODRZUĆ propozycje database, Swagger UI, rate limiting, logging, monitoring
□ Zatwierdź plan Agent
□ Poczekaj aż skończy (steady state)
□ Zapisz green link (temporary URL)
Testowanie (3 minut)
□ Otwórz HTTP client
□ Użyj green link + proper endpoint (np. /jokes)
□ Dodaj X-API-Key header z test key (np. „test_api_key”)
□ Wykonaj sekwencję: GET kolekcji → POST item → GET item → DELETE item → GET ponownie
Zuplo Gateway (5 minut)
□ Stwórz nowy projekt w Zuplo
□ Idź do routes.oas.json
□ Zaimportuj ten sam OpenAPI file
□ W forward URL wklej green link z Replit
□ Zapisz konfigurację
□ Poczekaj na deployment
□ Przetestuj przez gateway URL
□ Sprawdź logi i analytics
Weryfikacja
□ API odpowiada przez gateway
□ Authentication działa
□ Logi pokazują requests
□ Analytics zbierają dane
□ Całość kosztowała <$1
Q&A z Webinaru
David: „What’s the best approach to connect this prototype to a database and add realistic data scenarios?”
Emmanuel:
- Database: Replit oferuje stworzenie bazy lub połączenie z własną
- Realistic data problem: OpenAPI examples to tylko kilka przykładów – nie są realistic
- LLM solution: „generate me 30 dad jokes” lub daj schema i poproś o 50-1000 realistic examples
- Automation: Skrypt który POST-uje przez API lub paste bezpośrednio do bazy
Pytanie o tech skills dla PM:
- Get technical – nie freakuj się na widok kodu
- Learn basic coding – dla zrozumienia, nie production code
- Use AI tools daily – do user stories, requirements
- Get hands-on z różnymi tools
- Take courses, free lessons
- Get involved w technical projects w firmie
Ten wpis jest częścią mojej kolekcji notatek z ciekawych podcastów, webinarów i innych treści, które uważam za wartościowe i do których sam chcę wracać. Jeśli chcesz sprawdzić oryginalne źródło, znajdziesz je tutaj: https://maven.com/p/867a8a/develop-deploy-and-secure-your-api-with-ai-codegen
Dodaj komentarz
Musisz się zalogować, aby móc dodać komentarz.