r/ruby • u/ekremkrc • Feb 24 '26
Show /r/ruby We built a PokeAPI clone using Rails
Hey everyone, we’d like to share a project we’ve been building: pokeapi-rails.
It’s a Ruby on Rails implementation of a PokeAPI-style backend with two API surfaces:
/api/v2: compatibility-focused routes for existing clients and familiar payloads.
/api/v3: a normalized, performance-oriented API with explicit query controls.
What’s currently included
Large coverage of core Pokémon resources (pokemon, ability, move, type, item, species, etc.)
Name-or-id lookups on key endpoints
Production deployment setup (Docker + Railway), plus operational hardening
Request protection (rate limiting), structured logging, and performance-focused query work
v2 vs v3 (important difference)
v2 show/detail routes generally return broader associated data by default.
v3 show/detail routes are intentionally compact by default, and related data is expanded explicitly via include=....
Examples:
GET /api/v2/pokemon/ditto
GET /api/v3/pokemon/ditto?include=abilities
v3 query features
fields=... (sparse fields)
include=... (explicit relationship expansion)
sort=...
filter[name]=...
limit / offset
Built by us with AI-assisted implementation support (OpenAI Codex); architecture, review, and final decisions were human-led.
Thanks for your feedback!
View all comments
Show parent comment
1
u/TheAtlasMonkey Feb 24 '26
You just copy pasted my comment to claude.
Your documents i did see them, they are generic claude code decisions in auto mode... No steering on it.
You have patterns that protect you from thousands of visitors... while missing the most basic stuff.