Jak Stworzyć API w 20 Minut za Mniej niż Dolara – Przewodnik AI Codegen według Emmanuela Paraskakisa #EN105

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:

  1. GET na kolekcji
  2. POST item
  3. GET item lub GET kolekcji żeby zobaczyć że item tam jest
  4. Zmień item
  5. 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


Opublikowano

,

Komentarze

Dodaj komentarz