A comprehensive, community-driven workout skill database with an AI-powered chatbot to help beginners discover exercises, learn proper techniques, and build effective workout routines.
Inochi provides a curated database of exercises, skills, stretches, and mobility work—all maintained and expanded by the community. Users can submit edit suggestions through the app, which are reviewed and approved before being added to the global database. An AI chatbot powered by OpenAI helps answer exercise questions and provides technique explanations.
- Workout, stretch and mobility exercise database - Comprehensive database of workout skills, exercises, stretches, and mobility work
- Community driven - Submit edit suggestions through the app; approved changes are added to the global database
- AI chatbot - Get instant answers to exercise questions and detailed technique explanations
- Frontend: Next.js 16 (web), React Native Expo (mobile)
- Backend: Convex - reactive database and server functions
- Authentication: Clerk
- AI: OpenAI for chatbot functionality
- Monorepo: Turborepo with pnpm workspaces
- Node.js 22.21.0 or higher
- pnpm 10.20.0 or higher
- Install dependencies
pnpm install- Configure Convex
cd packages/backend
pnpm exec convex dev --until-successThis will log you into Convex (create a free account if needed) and set up your project. You'll need to add environment variables in the Convex dashboard:
- Configure Clerk authentication following this guide
- Add
CLERK_ISSUER_URLfrom your Clerk JWT template - Optionally add
OPENAI_API_KEYfor AI chatbot features
Make sure to enable Google and Apple as Social Connection providers for mobile login.
- Configure apps
Create .env.local files in apps/web and apps/native:
- Copy
CONVEX_URLfrompackages/backend/.env.localtoNEXT_PUBLIC_CONVEX_URL(web) orEXPO_PUBLIC_CONVEX_URL(native) - Add Clerk keys from Clerk dashboard
- Run development servers
pnpm devThis starts Convex backend, web app, and mobile app. Use ⬆ and ⬇ keys to navigate logs. To see all logs together, remove "ui": "tui" from turbo.json.
Inochi is open source and community-driven. We welcome contributions!
There are many ways to contribute:
- Database content - Submit exercise edits through the app; approved changes are added to the global database
- Code - Bug fixes, features, and improvements
- AI chatbot - Enhance responses and knowledge base
- Documentation - Improve guides and examples
Please see our Contributing Guidelines for detailed information on how to get started.
The app is configured for deployment on Vercel. The build command handles both Convex backend deployment and Next.js build:
cd ../../packages/backend && pnpm exec convex deploy --cmd 'cd ../../apps/web && pnpm turbo run build' --cmd-url-env-var-name NEXT_PUBLIC_CONVEX_URLA vercel.json file in apps/web contains this configuration.
This project is licensed under the MIT License. See the LICENSE file for details.
Important: The name "Inochi" and the domain "inochi.app" are trademarks and may not be used by third parties to identify their own applications or services. You may use, modify, and distribute this software under the MIT License, but you must not use the "Inochi" name or branding for your own projects.
Convex powers Inochi's backend with a reactive database and serverless functions. It provides:
- Reactive database - Real-time updates automatically sync to all clients
- Type-safe queries - Full TypeScript support from database to frontend
- Server functions - Query, mutation, and action functions with transactional access
- Built-in features - File storage, search, pagination, and more
Everything scales automatically and is free to start. Learn more at convex.dev.