Skip to main content
Every integration in OneRep is strictly opt-in. Features stay quiet without their variables — a fresh install with no extras configured is a fully usable fitness app. When you are ready to add a capability, set the relevant variables on your Convex backend from the repository root:
None of these variables are ever exposed to the client bundle. They live server-side in your Convex deployment.
The AI Coach handles text, image, and voice input; generates personalized briefings and recipes; makes reversible changes to workouts and nutrition; and drives the photo food-logging flow that detects food in an image and matches detections to database records before logging anything.Without an API key, the Coach is absent from the UI. Users can also supply their own OpenRouter key in Settings, which bypasses the deployment’s key entirely — they pay for their own inference and are not subject to any cap.Variables to set:
Exporting OPENROUTER_API_KEY in your shell before running ./install.sh is the easiest path — the installer reads it and sets the backend variable for you.
Food search and barcode scanning are powered by the self-hosted datasource container that the installer brings up. The two variables that connect Convex to the datasource are set automatically by the installer — you do not need to configure these manually.Which catalogs respond to searches and barcode lookups depends entirely on what you have imported. See the Food Database guide to load USDA, Open Food Facts, and the wger exercise catalog.
By default, accounts work with no mail provider configured: email/password sign-up succeeds without sending a verification email and without requiring one. Enabling email adds delivery for verification messages and password resets. Without it, users who forget their password have no recovery path.Variables to set:
A mail-less install is fully functional — it is simply one where nobody can reset a forgotten password. Enable email before users rely on the install for anything important.
Adds a Sign in with Google button to the sign-in and sign-up screens. The button only renders once both variables are set.Variables to set:
When creating the OAuth client in Google Cloud Console, add the following as an authorised redirect URI — replacing the origin with your actual site origin:
For a production install this will be your CONVEX_SITE_ORIGIN plus /api/auth/callback/google.
Adds a single-sign-on button for any OIDC provider that supports standard discovery — Authentik, Keycloak, Pocket ID, and others all work.Variables to set:
Register the following redirect URI with your OIDC provider — your site origin plus /api/auth/oauth2/callback/oidc:
The installer asks about telemetry once during setup. Choosing no means no analytics script is included in the built app — there is nothing to block or opt out of. Choosing yes (the default) enables Umami-based analytics.You can point analytics at your own self-hosted Umami instance rather than the project’s by setting the Umami pair after installation.Variables to set:
Analytics are opt-in and off by default in the production app too. Users can verify their install’s analytics status on the Settings page.