Transform Your Learning Journey with Intelligent, Personalized Education
π Live Demo β’ π Documentation β’ π Report Bug β’ β¨ Request Feature
In today's rapidly evolving job market, personalized learning is no longer a luxuryβit's a necessity. FocusEdu harnesses the power of advanced AI to create a truly individualized education experience that adapts to your unique skills, goals, and learning style.
- π Skill Gap Identification: Struggling to identify what skills you need for your dream job?
- π― Information Overload: Overwhelmed by countless courses and learning resources?
- π Career Direction: Uncertain about the best path to advance your career?
- π Resume Optimization: Not sure if your resume matches industry standards?
FocusEdu leverages state-of-the-art LLMs and intelligent algorithms to provide:
- Real-time skill gap analysis against job market demands
- Curated learning paths from trusted platforms (YouTube, Udemy, and more)
- AI-powered resume optimization and career guidance
- GitHub profile insights to showcase your technical growth
- Industry news aggregation to keep you ahead of trends
Receive personalized learning suggestions powered by advanced AI algorithms that understand your current skill level, learning preferences, and career objectives.
Key Capabilities:
- Multi-platform content aggregation (YouTube, Udemy, Coursera)
- Skill-based filtering and prioritization
- Difficulty-level matching
- Time-to-completion estimates
- User rating integration
Upload your resume and unlock powerful insights with our AI-driven analysis engine.
What We Analyze:
- Skills extraction and categorization
- Experience level assessment
- Education background evaluation
- Job description compatibility scoring
- ATS (Applicant Tracking System) optimization
- Industry-specific keyword recommendations
Supported Formats: PDF, DOCX
Transform your GitHub activity into actionable career insights.
Analytics Include:
- Contribution pattern visualization
- Repository quality scoring
- Technology stack analysis
- Coding language proficiency assessment
- Open-source contribution tracking
- Project complexity evaluation
Navigate your career path with confidence using our comprehensive development suite.
Features:
- Internship opportunity matching
- Skill-based job recommendations
- Industry trend analysis
- Salary benchmarking insights
- Learning ROI calculator
- Professional network suggestions
Stay informed with curated, relevant news tailored to your interests and career goals.
News Sources:
- Technology innovation updates
- Industry best practices
- Career development strategies
- Emerging skill trends
- Company spotlight features
Enjoy a modern, intuitive interface designed for optimal learning engagement.
Design Highlights:
- Dark-themed, eye-friendly interface
- Fully responsive across all devices
- Interactive 3D visualizations with Three.js
- Fluid animations powered by Framer Motion
- Accessibility-first design (WCAG 2.1 compliant)
- Progressive Web App (PWA) capabilities
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 16.1 | React framework with App Router |
| React | 19.2 | UI component library |
| TypeScript | 5.0 | Type-safe development |
| Tailwind CSS | 4.1 | Utility-first styling |
| Three.js | Latest | 3D graphics rendering |
| Framer Motion | 12.0 | Animation library |
| Chart.js | Latest | Data visualization |
| Lucide React | Latest | Icon system |
| Technology | Purpose |
|---|---|
| LangChain | AI orchestration and chain management |
| Groq SDK | Lightning-fast LLM inference |
| GPT-OSS-120B | Advanced language model |
| PDF Parse | PDF document processing |
| Mammoth | DOCX document parsing |
| Vector Search | Semantic search capabilities |
| Service | Function |
|---|---|
| Firebase Auth | Secure user authentication |
| Firestore | NoSQL database |
| Firebase Storage | File storage and CDN |
| Firebase Analytics | Usage tracking and insights |
- Runtime: Bun (recommended) / Node.js 20+
- Package Manager: Bun / npm / yarn / pnpm
- Code Quality: ESLint 9, TypeScript strict mode
- Build System: Next.js with Turbopack
- Email Service: Nodemailer
Before you begin, ensure you have the following installed:
You'll also need accounts for:
git clone https://github.com/0rion-Labs/FocusEdu.git
cd FocusEduChoose your preferred package manager:
# Using Bun (fastest, recommended)
bun install
# Using npm
npm install
# Using Yarn
yarn install
# Using pnpm
pnpm installCreate a .env.local file in the root directory:
# ============================================
# Firebase Configuration
# ============================================
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# ============================================
# AI/ML Configuration
# ============================================
GROQ_API_KEY=your_groq_api_key
# ============================================
# Email Configuration (Optional)
# ============================================
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASSWORD=your_app_password
# ============================================
# Application Settings (Optional)
# ============================================
NEXT_PUBLIC_APP_URL=http://localhost:3000
NODE_ENV=developmentπ‘ Pro Tip: Never commit your
.env.localfile. It's already included in.gitignore.
- Create a new Firebase project at Firebase Console
- Enable Authentication (Email/Password, Google Sign-in)
- Create a Firestore database (start in test mode)
- Enable Firebase Storage
- Copy your configuration to
.env.local
- Sign up at Groq Cloud
- Navigate to API Keys section
- Generate a new API key
- Add it to your
.env.localfile
# Using Bun
bun dev
# Using npm
npm run dev
# Using Yarn
yarn dev
# Using pnpm
pnpm devOpen your browser and navigate to:
http://localhost:3000
# Build the application
bun run build # or npm run build
# Start production server
bun start # or npm start
# Run linting
bun run lint # or npm run lintFocusEdu/
βββ π app/ # Next.js App Router (main application)
β βββ π (auth)/ # Authentication routes (route groups)
β β βββ login/ # Login page
β β βββ register/ # Registration page
β β βββ forgot-password/ # Password recovery
β βββ π analysis/ # Analysis dashboard
β βββ π api/ # API routes (serverless functions)
β β βββ github-analysis/ # GitHub profile analysis endpoint
β β βββ jd-gap-analysis/ # Job description gap analysis
β β βββ news/ # News aggregation API
β β βββ recommendations/ # Course recommendation engine
β β βββ resume-analysis/ # Resume parsing and analysis
β βββ π components/ # Reusable UI components
β β βββ ui/ # Base UI components
β β βββ layout/ # Layout components
β β βββ features/ # Feature-specific components
β βββ π dashboard/ # User dashboard
β βββ π github-analysis/ # GitHub insights page
β βββ π home/ # Home page components
β βββ π internship/ # Internship opportunities
β βββ π news/ # News feed page
β βββ π resume-analysis/ # Resume upload and analysis
β βββ π suggestions/ # AI-powered suggestions
β βββ globals.css # Global styles and Tailwind directives
β βββ layout.tsx # Root layout component
β βββ loading.tsx # Global loading state
β βββ not-found.tsx # 404 error page
β βββ page.tsx # Landing page
βββ π lib/ # Utility libraries and configurations
β βββ π rag/ # RAG implementation utilities
β βββ firebase.ts # Firebase SDK initialization
β βββ firebaseAnalytics.ts # Analytics configuration
β βββ middleware.ts # Custom middleware functions
β βββ storage.ts # Storage utilities
β βββ types.ts # TypeScript type definitions
β βββ utils.ts # Helper functions and utilities
βββ π public/ # Static assets (images, fonts, etc.)
β βββ images/ # Image assets
β βββ icons/ # App icons
β βββ fonts/ # Custom fonts
βββ π types/ # Global TypeScript type declarations
βββ components.json # Shadcn UI configuration
βββ eslint.config.mjs # ESLint rules and settings
βββ next.config.ts # Next.js configuration
βββ package.json # Dependencies and scripts
βββ postcss.config.mjs # PostCSS plugins
βββ tailwind.config.ts # Tailwind CSS customization
βββ tsconfig.json # TypeScript compiler options
βββ .env.local # Environment variables (not in repo)
βββ .gitignore # Git ignore rules
βββ LICENSE # MIT License
βββ README.md # Project documentation
Sarah, Recent Graduate
"FocusEdu helped me identify the exact skills I needed for my dream data science role. The resume analysis showed me which keywords to add, and the course recommendations were spot-on. I landed my first job in 3 months!"
Use FocusEdu to:
- Optimize your resume for ATS systems
- Identify skill gaps for target positions
- Build a portfolio with GitHub insights
- Find relevant internships and entry-level roles
Michael, Transitioning to Tech
"As a career switcher, I was overwhelmed by learning options. FocusEdu created a clear roadmap from my finance background to software engineering, with courses that built on my existing skills."
Use FocusEdu to:
- Map transferable skills to new domains
- Discover optimized learning paths
- Track progress with GitHub analytics
- Stay updated on industry requirements
Priya, Software Engineer
"I use FocusEdu weekly to stay current with technology trends. The AI suggestions align perfectly with my career goals, and the GitHub analysis helps me showcase my open-source contributions."
Use FocusEdu to:
- Keep skills relevant and up-to-date
- Discover emerging technologies early
- Build a stronger technical profile
- Network through community features
We take your data security seriously:
- π End-to-End Encryption: All sensitive data is encrypted in transit and at rest
- π‘οΈ Firebase Authentication: Industry-standard OAuth 2.0 implementation
- π API Key Management: Secure storage using environment variables
- π Privacy First: No data sharing with third parties without consent
- β GDPR Compliant: Full data portability and deletion rights
- π Regular Audits: Continuous security monitoring and updates
We believe in the power of community! Contributions are what make open-source amazing.
- π Report Bugs: Found an issue? Let us know!
- π‘ Suggest Features: Have an idea? We'd love to hear it!
- π Improve Documentation: Help make our docs clearer
- π» Submit Code: Fix bugs or add new features
- π¨ Design Contributions: UI/UX improvements welcome
- π Translations: Help us reach more learners globally
-
Fork the Repository
Click the "Fork" button at the top right of the repository page.
-
Clone Your Fork
git clone https://github.com/YOUR_USERNAME/FocusEdu.git cd FocusEdu -
Create a Feature Branch
git checkout -b feature/amazing-feature
-
Make Your Changes
Write clean, well-documented code following our style guide.
-
Commit with Conventional Commits
git commit -m "feat: add amazing feature"Commit types:
feat,fix,docs,style,refactor,test,chore -
Push to Your Fork
git push origin feature/amazing-feature
-
Open a Pull Request
Go to the original repository and click "New Pull Request"
- β Write tests for new features
- π Update documentation as needed
- π¨ Follow existing code style (ESLint + Prettier)
- π Ensure all tests pass before submitting
- π¬ Use clear, descriptive commit messages
- π€ Discuss major changes in issues first
# Run unit tests
bun test
# Run tests with coverage
bun test:coverage
# Run e2e tests
bun test:e2e
# Run tests in watch mode
bun test:watch- β Core AI recommendation engine
- β Resume analysis and parsing
- β GitHub profile insights
- β News aggregation
- β User authentication
- π Real-time collaboration features
- π Mobile app (iOS & Android)
- π Advanced analytics dashboard
- π Skill assessment quizzes
- π Mentor matching system
- π AI-powered study scheduler
- π Virtual study groups
- π Gamification and achievements
- π Integration with LinkedIn
- π Corporate training modules
- β‘ Page Load Time: < 1.5s (Lighthouse score: 95+)
- π Time to Interactive: < 2s
- π Bundle Size: < 200KB (gzipped)
- βΏ Accessibility Score: 98/100
- π― SEO Score: 100/100
Problem: Module not found errors after installation
Solution:
# Clear cache and reinstall
rm -rf node_modules package-lock.json
bun install # or npm installProblem: Firebase authentication not working
Solution:
- Verify all Firebase env variables are set correctly
- Check Firebase console for enabled auth methods
- Ensure domain is authorized in Firebase settings
Problem: Groq API rate limiting
Solution:
- Check your API key limits in Groq dashboard
- Implement request caching (already built-in)
- Consider upgrading your Groq plan
This project is licensed under the MIT License - see the LICENSE file for details.
β
Commercial use
β
Modification
β
Distribution
β
Private use
β Liability
β Warranty
FocusEdu stands on the shoulders of giants. We're grateful to:
- Next.js Team - For the incredible React framework
- Vercel - For seamless deployment and hosting
- Firebase - For robust backend infrastructure
- Groq - For lightning-fast LLM inference
- LangChain - For AI orchestration tools
- Anthropic - For Claude AI inspiration
- Open Source Community - For countless libraries and tools
- Our Contributors - For making FocusEdu better every day
Special thanks to all our contributors who have helped shape this project.
Found a bug or have a feature request?
- π Report a Bug
- β¨ Request a Feature
- π¬ Start a Discussion
- β Star this repository to show your support
- ποΈ Watch releases for updates
- π Follow @OrionLabs on GitHub
Get Started Now β’ View Demo β’ Read the Docs
Built with β€οΈ by Orion Labs
Empowering learners, one personalized path at a time