Ondřej Kutil
CV

Projects / EffortMaxx

EffortMaxx

Multisport training log for tracking gym, climbing, running, volleyball, recovery sessions, and sport-specific notes in one place.

FastAPISupabasePythonAI Agents
live demo ↗

Overview

Most sport-tracking apps are built around one main activity — running, cycling, lifting, or a fixed training template. That breaks down when a training week mixes gym sessions, climbing, runs, volleyball, cold plunges, and saunas, each with notes that don't belong in the same generic form.

EffortMaxx is a personal multisport logging system built for that messier reality — one place where different session types carry different fields and context:

  • A climbing session shouldn't ask for the same data as a run.
  • A sauna or cold plunge shouldn't be treated like a workout with distance and pace.

That makes it a configurable logging product rather than a fitness-tracker clone.

The product itself uses no AI for analytics or recommendations — the AI part is the development process: I directed the build through Codex and Claude Code, shaping requirements, reviewing outputs, and testing flows while the agents wrote the application code.

Technical Approach

EffortMaxx uses a frontend deployed on Vercel, a FastAPI backend deployed on Render, and Supabase for the database and authentication layer.

LayerTechnology
Frontend hostingVercel
BackendPython, FastAPI
Backend hostingRender
DatabaseSupabase PostgreSQL
AuthSupabase Auth
Development workflowCodex, Claude Code

FastAPI provides the API surface for session creation, retrieval, and activity-specific logic. Supabase keeps the system practical for a solo project: authentication, hosted PostgreSQL, and managed infrastructure without needing to build a custom auth service. Vercel handles the frontend deployment separately from the backend service.

AI-Coded Development

This project was intentionally built with AI coding tools as the main implementation layer. Codex and Claude Code wrote the application code across backend structure, UI iteration, debugging, and deployment; the engineering work on my side was deciding what the app should do, giving the agents precise context, reviewing generated code, connecting the pieces, and testing real flows.

The main lesson: agents work best as implementation partners, not magic autocomplete. Output quality tracked directly with the context I gave them — a clear product goal, concrete constraints, existing code structure, and small steps. And because the whole app was AI-coded, the review loop mattered more, not less: I stayed responsible for architecture, product behavior, testing, and deployment decisions.

Current Status

The app is deployed and available at:

The GitHub repository is private for now.