A smart fitness application powered by AI, offering personalized workout and diet programs through a voice-enabled assistant. Built with cutting-edge technologies like Next.js, Tailwind CSS, Vapi, Clerk, Convex, and Gemini AI.
- Next.js – Full-stack React framework
- React.js – Frontend UI components
- Tailwind CSS + Shadcn UI – Utility-first styling & elegant UI
- Vapi – Voice AI assistant integration
- Gemini AI – LLM for intelligent fitness recommendations
- Clerk – User authentication and authorization
- Convex – Real-time database and backend
- Typescript – Type-safe development
-
🎙️ AI Voice Assistant
Converse with an intelligent voice agent to discuss your fitness goals, preferences, and injuries. -
🏋️ Personalized Workout Plans
Automatically generated workouts tailored to your level and needs. -
🥗 Custom Diet Programs
Nutrition plans adapted to your dietary requirements and allergies. -
🔐 Authentication
Login via GitHub, Google, or email/password using Clerk. -
🧠 LLM-Generated Fitness Programs
Backed by Gemini AI for hyper-personalized training. -
💾 Program Management
View, manage, and activate your fitness routines with ease. -
🎬 Real-time Updates
Programs update instantly with Convex DB. -
💻 Modern UI/UX
Fully responsive layouts with client/server components.
app/– Pages and layoutscomponents/– Reusable UI elementslib/– Helper functions and API clientsconvex/– Convex DB functionshooks/– Custom React hooksmiddleware.ts– Clerk middleware.env– API keys and secrets
Create a .env.local file and add the following:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
# Clerk Redirect URLs
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
# Vapi Voice AI
NEXT_PUBLIC_VAPI_WORKFLOW_ID=
NEXT_PUBLIC_VAPI_API_KEY=
# Convex Database
CONVEX_DEPLOYMENT=
NEXT_PUBLIC_CONVEX_URL=# Clone the repository
git clone https://github.com/vikasyadavvvv/IronMentor.git
cd IronMentor
# Install dependencies
npm install
# Create a .env.local file and add the following environment variables:
# (Fill in your actual keys)
#
# NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
# CLERK_SECRET_KEY=
# NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
# NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
# NEXT_PUBLIC_VAPI_WORKFLOW_ID=
# NEXT_PUBLIC_VAPI_API_KEY=
# CONVEX_DEPLOYMENT=
# NEXT_PUBLIC_CONVEX_URL=
# Run the development server
npm run dev
# Open in your browser
# http://localhost:3000
# Build and start the production server
npm run build
npm run start
# Or deploy instantly by connecting your GitHub repository to Vercel