Your AI Career Coach for Professional Success
Advance your career with personalized guidance, interview preparation, and AI-powered tools for job success. RideAlong is a modern web application that combines AI-driven automation with human-centric design to help users grow professionally through smart resume building, cover letter generation, and interview preparation.
- Overview
- Purpose
- Features
- Tech Stack
- App Directory Structure
- Inngest Integration
- Setup
- Environment Variables
- Database (Prisma)
- Authentication (Clerk)
- AI Integration (Gemini)
- Deployment
- Contributing
- License
RideAlong is a Next.js 15+ App Router project designed for building career-oriented AI tools. It leverages server actions, background tasks, and intelligent automation to streamline the process of career growth, job applications, and interview readiness.
The primary goal of RideAlong is to serve as an AI Career Coach — providing users with a platform that helps them:
- Build professional resumes effortlessly
- Generate AI-powered cover letters tailored to specific roles
- Prepare for interviews with mock quizzes and real-time analytics
- Get actionable career guidance based on data and AI insights
- 🔐 Secure authentication using Clerk
- 🧠 Smart cover letter generator powered by Gemini AI
- 📄 Interactive resume builder with dynamic templates
- 🎯 Mock interview quizzes with performance tracking
- 📊 Dashboard for insights and analytics
- 🪄 Background workflows with Inngest for automation
- 🧩 Modular UI design using Shadcn UI and Tailwind CSS
- Frontend Framework: Next.js (App Router, React 19)
- Authentication: Clerk (
@clerk/nextjs) - Database: Prisma ORM + PostgreSQL
- Styling: Tailwind CSS + Shadcn Components
- AI Engine: Google Generative AI (Gemini)
- Background Jobs: Inngest
- Charts & Visuals: Recharts
- Form Management: React Hook Form + Zod
The app/ directory follows the Next.js App Router structure with both client and server components:
app/
├── layout.js # Root layout
├── not-found.jsx # 404 fallback
├── page.jsx # Landing page
│
├── (auth)/ # Authentication routes
│ ├── layout.js
│ ├── sign-in/[[...sign-in]]/page.jsx
│ └── sign-up/[[...sign-up]]/page.jsx
│
├── (main)/ # Protected main routes
│ ├── layout.js
│ ├── ai-cover-letter/ # AI cover letter generation
│ │ ├── page.jsx
│ │ ├── new/page.jsx
│ │ ├── [id]/page.jsx
│ │ └── _components/
│ │ ├── cover-letter-generator.jsx
│ │ ├── cover-letter-list.jsx
│ │ └── cover-letter-preview.jsx
│ │
│ ├── dashboard/ # User dashboard
│ │ ├── layout.js
│ │ ├── page.jsx
│ │ └── _components/dashboard-view.jsx
│ │
│ ├── interview/ # Interview preparation module
│ │ ├── layout.js
│ │ ├── page.jsx
│ │ ├── mock/page.jsx
│ │ └── _components/
│ │ ├── performance-chart.jsx
│ │ ├── quiz.jsx
│ │ ├── quiz-list.jsx
│ │ ├── quiz-result.jsx
│ │ └── stats-cards.jsx
│ │
│ ├── onboarding/
│ │ ├── page.jsx
│ │ └── _components/onboarding-form.jsx
│ │
│ └── resume/ # Resume builder module
│ ├── layout.js
│ ├── page.jsx
│ └── _components/
│ ├── entry-form.jsx
│ └── resume-builder.jsx
│
├── api/inngest/route.js # Inngest background job endpoint
├── lib/helper.js # Utility functions
└── lib/schema.js # Form validation schemas
RideAlong leverages Inngest for background processing and automation. Example use cases:
- Handling AI task workflows
- Processing resume generation requests asynchronously
- Sending notifications or scheduled tasks (e.g., interview reminders)
The integration entry point is:
app/api/inngest/route.js
To run locally:
npx inngest devThen connect the endpoint /api/inngest to your Inngest dashboard.
git clone <repo-url>
cd ridealong
npm install
npm run devNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
CLERK_SECRET_KEY
NEXT_PUBLIC_CLERK_SIGN_IN_URL
NEXT_PUBLIC_CLERK_SIGN_UP_URL
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL
DATABASE_URL
GEMINI_API_KEY
npx prisma generate
npx prisma migrate dev --name initClerk handles authentication via prebuilt components for sign-in, sign-up, and session management.
Gemini AI powers features like smart cover letter generation, resume optimization, and interview coaching.