Active build
Pokemon Go Nexus
Collection + trade app / Full-stack product platform
Manage a Pokemon Go collection, plan raid and Max Battle teams, compare PvP options, find nearby trainers, and organize trades in one connected workspace.
Frontend
- React
- TypeScript
Vite
- Expo
Vitest
Backend
- Go
- net/http
- chi
- Fiber
- Node
- Express
- MongoDB
- Kafka
- MySQL
- Postgres/PostGIS
Delivery
- Docker
- NGINX
- GitHub Actions
Product scope
The app connects variant and instance tracking with a regional Pokédex, raid counters, Max Battle planning, PvP rankings and team tools, community rankings, trainer profiles, friends, and shareable Trade Boards. Local persistence and queued sync support collection work between connections.
Workflow and surface
- Delivery surface
- React/Vite web app, Expo React Native preview, shared product logic, and services for accounts, Pokemon data, discovery, trades, and live sync.
- User/workflow fit
- Collection and trade software needs rich variant modeling, trusted account state, location-aware discovery, offline-friendly local storage, live sync, and deployment paths that can support hosted communities.
System behavior
- Product surface
- Collection tags and instance editing, a regional Pokédex, raid and Max Battle planners, PvP rankings and IV analysis, trainer search and maps, community rankings, trade preferences and activity, shareable boards, friends, and account security.
- Sync model
- Client edits update local state, persist for offline recovery, queue receiver batches, flow through authenticated Go ingestion into Kafka/MySQL, then return through SSE and missed-update readers.
- Service topology
- Auth runs on Express/MongoDB; Pokemon data uses Go net/http plus chi over SQLite; users/search/events/receiver/storage/location services use Go, MySQL, Kafka, and PostGIS behind NGINX route namespaces.
- Delivery discipline
- The repo includes Docker/compose service boundaries, GitHub Actions CI/deploy workflows, Vitest and browser-proofing paths, service tests, health/readiness probes, metrics, Trivy/SBOM checks, and deployment notes.
Where next
- Native validation
- Build the current native preview and complete physical-device route, navigation, performance, and trade workflow checks before changing the mobile release default.
- Product refinement
- Refine collection, discovery, and trade workflows using the existing raid, Max Battle, PvP, and community tools as part of the complete trainer journey.
- Evidence boundary
- The showcase runs the migration branch’s responsive web interface against live services using a real trainer account. It pairs overall rankings with the trainer’s own Pokémon; private profile and account fields are hidden. Native release checks remain separate.
- Release path
- Keep web delivery and native rollout decisions tied to their own verified builds, with updated capture coverage and deployment checks before each release.
Codebase signals
- Frontend workspace
- The frontend is a workspace with React 19, TypeScript 6, Vite 8, Expo mobile work, shared contracts, shared UI tokens, SSE context, and Playwright/Vitest coverage.
- Mobile path
- The native migration branch implements the main app routes with Expo React Native and shared product logic. Browser parity and workflow checks support the preview; physical-device, standalone-build, and iOS release checks remain open. The production mobile default remains the WebView shell.
- Backend services
- The backend combines the cached Go Pokemon API, hardened auth, user overview/public snapshots, trade/wanted search, location autocomplete/geocode/reverse lookup, receiver ingestion, storage persistence, and events streaming.















