AI-Powered Skill Development Platform built on Internet Computer Protocol (ICP)
SkillForge is a revolutionary AI-powered learning platform built on the Internet Computer Protocol (ICP). This platform enables users to create personalized learning paths with the help of artificial intelligence, complete with interactive skill cards, learning quests, and comprehensive progress tracking systems.
- Personalized skill cards: Input your career goals and AI will create skill cards tailored to your objectives and background
- Smart Prioritization: AI analyzes industry trends to prioritize the most important skills
- Dynamic Adaptation: Skill cards evolve along with your learning progress
- Visual skill cards: Attractive visual representation of learning paths with connections between skills
- Interactive Quests: Each skill comes with interactive learning quests and quizzes
- Progress Tracking: XP system, levels, and achievements to motivate learning
- Real-time Updates: Progress and skill status update in real-time
- Glassmorphism Design: Modern interface with glass effects and backdrop blur
- Responsive Interface: Optimized for desktop and mobile
- Smooth Animations: Framer Motion animations for fluid experience
- Dark Theme: Professional dark theme with eye-catching accent colors
- ICP Integration: Built on Internet Computer Protocol for full decentralization
- Identity Management: Secure authentication using Internet Identity
- Data Ownership: Users have full control over their learning data
- React 18 - Modern React with hooks and concurrent features
- TypeScript - Type safety and better developer experience
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Smooth animations and transitions
- Lucide React - Beautiful, customizable icons
- React Router - Client-side routing
- Vite - Fast build tool and development server
- Motoko - Native ICP programming language
- Internet Computer Protocol (ICP) - Decentralized cloud platform
- Internet Identity - Secure, anonymous authentication
- DFX - DFINITY command-line execution environment
- ESLint - Code linting and formatting
- TypeScript ESLint - TypeScript-specific linting rules
- Node.js >= 16.0.0
- npm >= 7.0.0
- DFX (DFINITY SDK)
- Clone the repository
git clone <repository-url>
cd skill-forge
- Install dependencies
npm install
- Start local Internet Computer replica
dfx start --background
- Deploy canisters
dfx deploy
- Start the development server
npm run dev
The application will be available at http://localhost:3000
npm run setup
- Visit the homepage and click "Get Started"
- Authenticate using Internet Identity
- Set up your profile with name and profile picture
- Navigate to the "Skills" page
- Input your career goal (e.g., "Frontend Developer", "Data Scientist")
- AI will generate a comprehensive skill card with prerequisites and learning path
- Review and accept the generated skill card
- Access skill cards through the dashboard
- Click on available skills to start quests
- Complete quizzes and interactive challenges
- Earn XP and unlock new skills
- Monitor progress through the dashboard
- View learning statistics and achievements
- Access profile for detailed progress overview
skill-forge/
βββ src/
β βββ skill-forge-backend/ # Motoko backend canister
β β βββ main.mo # Main backend logic and API endpoints
β β βββ core/ # Core data structures and utilities
β β β βββ Types.mo # Type definitions
β β β βββ Level.mo # Level and XP system
β β βββ auth/ # Authentication module
β β β βββ Auth.mo # User authentication logic
β β βββ services/ # Service modules
β β β βββ user/ # User management
β β β β βββ UserService.mo # User operations
β β β βββ skillcard/ # Skill card system
β β β β βββ SkillCard.mo # AI skill card generation
β β β β βββ SkillCardService.mo # Skill card operations
β β β βββ storage/ # Data storage
β β β βββ Storage.mo # Storage utilities
β β βββ ARCHITECTURE.md # Backend architecture documentation
β βββ skill-forge-frontend/ # React frontend application
β βββ src/
β β βββ components/ # React components
β β β βββ ai/ # AI-related components
β β β βββ dashboard/ # Dashboard and skill cards
β β β βββ profile/ # User profile management
β β β βββ skills/ # Skills and learning paths
β β β βββ account/ # Account setup
β β β βββ common/ # Common components
β β β βββ ui/ # Reusable UI components
β β βββ contexts/ # React contexts
β β βββ hooks/ # Custom React hooks
β β βββ services/ # API services
β β βββ types/ # TypeScript type definitions
β β βββ utils/ # Utility functions
β β βββ constants/ # Application constants
β βββ public/ # Static assets
βββ dfx.json # DFX configuration
βββ mops.toml # Motoko package manager
βββ package.json # Root package configuration
The backend follows a clean, modular architecture with clear separation of concerns:
- Types.mo: Central type definitions for all data structures
- Level.mo: Experience points and leveling system logic
- Auth.mo: User authentication, profile management, and Internet Identity integration
- UserService.mo: User operations and profile management
- SkillCard.mo: AI-powered skill card generation using LLM
- SkillCardService.mo: Skill card operations and quest management
- Storage.mo: Data persistence and storage utilities
- main.mo: API endpoints and business logic orchestration
Main component that allows users to:
- Input career goals and background
- Generate personalized skill cards using AI
- Preview and customize skill cards before acceptance
- View detailed skill information and prerequisites
Central hub that displays:
- User profile and learning statistics
- Interactive skill card canvas with zoom and drag functionality
- Progress tracking and XP system
- Quick access to available skills and quests
Detailed view for each learning path:
- Full-screen interactive skill card
- Skills sidebar with detailed information
- Quest modal with interactive quizzes
- Progress tracking and completion management
Comprehensive profile management:
- Personal information editing
- Learning statistics overview
- Skill card progress tracking
- Achievement system
- Primary: Deep Navy (
#0B1426
) and Dark Blue (#1E293B
) - Accent: Gold (
#F59E0B
) for highlights and CTAs - Success: Green (
#10B981
) for completed items - Warning: Orange (
#F97316
) for in-progress items - Info: Blue (
#3B82F6
) for available items
- Headings: Bold, high contrast
- Body: Clean, readable typography
- Code: Monospace for technical content
- Smooth Transitions: Framer Motion for seamless interactions
- Loading States: Skeleton loading and progress indicators
- Hover Effects: Subtle scale and color transitions
- Progress Animations: Animated progress bars and XP counters
# Development
npm run dev # Start development server
npm run setup # Complete setup (install + deploy + start)
# Building
npm run build # Build for production
npm run prebuild # Pre-build tasks
# Deployment
npm run deploy # Deploy to local network
npm run deploy:local # Deploy to local network (explicit)
npm run deploy:ic # Deploy to IC mainnet
# Maintenance
npm run clean # Clean build artifacts and stop dfx
npm run generate # Generate canister declarations
npm test # Run tests
- Career Changers: Professionals looking to transition to the tech industry
- Students: Students seeking structured learning paths
- Self-Learners: Individuals who prefer personalized learning approaches
- Professionals: Working professionals looking to upskill
- System Rank: Introduce a global ranking system where users can compare their progress and achievements with others on the platform.
- Daily Quest: Add daily learning challenges and quests to encourage consistent engagement and reward users with XP or badges.
- Guild: Enable users to form or join guilds (learning groups) for collaborative quests, group discussions, and peer support.
- AI Mentor: Integrate an AI-powered mentor that provides personalized feedback, study tips, and adaptive learning recommendations.
- World Challenge: Launch periodic platform-wide challenges where users collaborate or compete to solve real-world problems and unlock exclusive rewards.
This project is licensed under the MIT License.
Contributions are welcome! Please read our contributing guidelines and submit pull requests for improvements.
For support and questions, please open an issue on GitHub or contact our team.
Built with β€οΈ on Internet Computer Protocol