help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • Blog
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
fitness-coach-bot
/
templates
RSK World
fitness-coach-bot
Fitness Coach Bot - Python + Flask + SQLAlchemy + Workout Plans + Exercise Guidance + Health Tracking + AI Fitness Coach
templates
  • index.html17.3 KB
analytics_dashboard.jsRELEASE_NOTES_v1.0.0.mdvoice_coach.py
static/js/analytics_dashboard.js
Raw Download
Find: Go to:
/**
 * Advanced Analytics Dashboard with Visualizations
 * Author: RSK World (https://rskworld.in)
 * Founded by: Molla Samser
 * Designer & Tester: Rima Khatun
 * Contact: help@rskworld.in, +91 93305 39277
 * Year: 2026
 */

class AnalyticsDashboard {
    constructor() {
        this.charts = {};
        this.data = {};
        this.init();
    }

    async init() {
        await this.loadChartsLibrary();
        this.loadAnalyticsData();
        this.setupEventListeners();
    }

    async loadChartsLibrary() {
        // Load Chart.js
        if (typeof Chart === 'undefined') {
            const script = document.createElement('script');
            script.src = 'https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js';
            document.head.appendChild(script);
            await new Promise(resolve => script.onload = resolve);
        }
    }

    async loadAnalyticsData() {
        try {
            const response = await fetch('/api/analytics?timeframe=30');
            const data = await response.json();
            
            if (data.success) {
                this.data = data.analytics;
                this.renderAllCharts();
            }
        } catch (error) {
            console.error('Error loading analytics:', error);
        }
    }

    renderAllCharts() {
        this.renderWorkoutFrequencyChart();
        this.renderProgressChart();
        this.renderStrengthChart();
        this.renderNutritionChart();
        this.renderRecoveryChart();
        this.renderRadarChart();
    }

    renderWorkoutFrequencyChart() {
        const ctx = document.getElementById('workoutFrequencyChart');
        if (!ctx) return;

        const categories = this.data.categories || {};
        const workout = categories.workout || {};

        this.charts.workoutFrequency = new Chart(ctx, {
            type: 'line',
            data: {
                labels: this.generateDateLabels(30),
                datasets: [{
                    label: 'Workouts per Week',
                    data: this.generateWorkoutData(),
                    borderColor: 'rgb(75, 192, 192)',
                    backgroundColor: 'rgba(75, 192, 192, 0.2)',
                    tension: 0.4,
                    fill: true
                }]
            },
            options: {
                responsive: true,
                plugins: {
                    title: {
                        display: true,
                        text: 'Workout Frequency Trend'
                    },
                    legend: {
                        display: true
                    }
                },
                scales: {
                    y: {
                        beginAtZero: true,
                        ticks: {
                            stepSize: 1
                        }
                    }
                }
            }
        });
    }

    renderProgressChart() {
        const ctx = document.getElementById('progressChart');
        if (!ctx) return;

        const body = this.data.categories?.body || {};
        const metrics = body.body_metrics || {};

        this.charts.progress = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: ['Weight', 'Body Fat %', 'Muscle Mass'],
                datasets: [{
                    label: 'Current',
                    data: [
                        metrics.weight?.current || 0,
                        metrics.body_fat?.current || 0,
                        metrics.muscle_mass?.current || 0
                    ],
                    backgroundColor: [
                        'rgba(54, 162, 235, 0.8)',
                        'rgba(255, 99, 132, 0.8)',
                        'rgba(75, 192, 192, 0.8)'
                    ]
                }, {
                    label: 'Start',
                    data: [
                        metrics.weight?.start || 0,
                        metrics.body_fat?.start || 0,
                        metrics.muscle_mass?.start || 0
                    ],
                    backgroundColor: [
                        'rgba(54, 162, 235, 0.4)',
                        'rgba(255, 99, 132, 0.4)',
                        'rgba(75, 192, 192, 0.4)'
                    ]
                }]
            },
            options: {
                responsive: true,
                plugins: {
                    title: {
                        display: true,
                        text: 'Body Composition Progress'
                    }
                },
                scales: {
                    y: {
                        beginAtZero: true
                    }
                }
            }
        });
    }

    renderStrengthChart() {
        const ctx = document.getElementById('strengthChart');
        if (!ctx) return;

        const strength = this.data.categories?.strength || {};
        const exercises = strength.strength_exercises || {};

        const exerciseNames = Object.keys(exercises);
        const improvements = exerciseNames.map(name => exercises[name].improvement || 0);

        this.charts.strength = new Chart(ctx, {
            type: 'line',
            data: {
                labels: exerciseNames.map(name => name.replace('_', ' ').toUpperCase()),
                datasets: [{
                    label: 'Strength Improvement %',
                    data: improvements,
                    borderColor: 'rgb(255, 99, 132)',
                    backgroundColor: 'rgba(255, 99, 132, 0.2)',
                    tension: 0.4,
                    fill: true
                }]
            },
            options: {
                responsive: true,
                plugins: {
                    title: {
                        display: true,
                        text: 'Strength Progress by Exercise'
                    }
                },
                scales: {
                    y: {
                        beginAtZero: true,
                        ticks: {
                            callback: function(value) {
                                return value + '%';
                            }
                        }
                    }
                }
            }
        });
    }

    renderNutritionChart() {
        const ctx = document.getElementById('nutritionChart');
        if (!ctx) return;

        const nutrition = this.data.categories?.nutrition || {};
        const macros = nutrition.macro_distribution || {};

        this.charts.nutrition = new Chart(ctx, {
            type: 'doughnut',
            data: {
                labels: ['Protein', 'Carbs', 'Fats'],
                datasets: [{
                    data: [
                        macros.protein || 0,
                        macros.carbs || 0,
                        macros.fat || 0
                    ],
                    backgroundColor: [
                        'rgba(255, 99, 132, 0.8)',
                        'rgba(54, 162, 235, 0.8)',
                        'rgba(255, 206, 86, 0.8)'
                    ]
                }]
            },
            options: {
                responsive: true,
                plugins: {
                    title: {
                        display: true,
                        text: 'Macronutrient Distribution'
                    },
                    legend: {
                        position: 'bottom'
                    }
                }
            }
        });
    }

    renderRecoveryChart() {
        const ctx = document.getElementById('recoveryChart');
        if (!ctx) return;

        const recovery = this.data.categories?.recovery || {};
        const sleep = recovery.sleep_data || {};

        this.charts.recovery = new Chart(ctx, {
            type: 'radar',
            data: {
                labels: ['Sleep Duration', 'Sleep Quality', 'Consistency', 'Recovery Score'],
                datasets: [{
                    label: 'Recovery Metrics',
                    data: [
                        (sleep.avg_duration || 0) * 10, // Scale to 0-100
                        sleep.avg_quality || 0,
                        sleep.consistency || 0,
                        recovery.recovery_score || 0
                    ],
                    backgroundColor: 'rgba(75, 192, 192, 0.2)',
                    borderColor: 'rgb(75, 192, 192)',
                    pointBackgroundColor: 'rgb(75, 192, 192)'
                }]
            },
            options: {
                responsive: true,
                plugins: {
                    title: {
                        display: true,
                        text: 'Recovery Overview'
                    }
                },
                scales: {
                    r: {
                        beginAtZero: true,
                        max: 100
                    }
                }
            }
        });
    }

    renderRadarChart() {
        const ctx = document.getElementById('overallRadarChart');
        if (!ctx) return;

        const categories = this.data.categories || {};

        this.charts.overall = new Chart(ctx, {
            type: 'radar',
            data: {
                labels: ['Workout', 'Strength', 'Cardio', 'Nutrition', 'Recovery', 'Body'],
                datasets: [{
                    label: 'Overall Fitness Score',
                    data: [
                        categories.workout?.score || 0,
                        categories.strength?.score || 0,
                        categories.cardio?.score || 0,
                        categories.nutrition?.score || 0,
                        categories.recovery?.score || 0,
                        categories.body?.score || 0
                    ],
                    backgroundColor: 'rgba(153, 102, 255, 0.2)',
                    borderColor: 'rgb(153, 102, 255)',
                    pointBackgroundColor: 'rgb(153, 102, 255)'
                }]
            },
            options: {
                responsive: true,
                plugins: {
                    title: {
                        display: true,
                        text: 'Overall Fitness Profile'
                    }
                },
                scales: {
                    r: {
                        beginAtZero: true,
                        max: 100
                    }
                }
            }
        });
    }

    generateDateLabels(days) {
        const labels = [];
        const today = new Date();
        for (let i = days - 1; i >= 0; i--) {
            const date = new Date(today);
            date.setDate(date.getDate() - i);
            labels.push(date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' }));
        }
        return labels;
    }

    generateWorkoutData() {
        // Generate sample data - in real app, would come from backend
        const data = [];
        for (let i = 0; i < 30; i++) {
            data.push(Math.floor(Math.random() * 7) + 1);
        }
        return data;
    }

    setupEventListeners() {
        const timeframeSelect = document.getElementById('timeframeSelect');
        if (timeframeSelect) {
            timeframeSelect.addEventListener('change', (e) => {
                this.loadAnalyticsData(e.target.value);
            });
        }
    }

    exportReport() {
        // Export analytics report as PDF/image
        window.print();
    }
}

// Initialize dashboard when DOM is ready
document.addEventListener('DOMContentLoaded', () => {
    if (document.getElementById('analyticsDashboard')) {
        window.analyticsDashboard = new AnalyticsDashboard();
    }
});
363 lines•11.7 KB
javascript
RELEASE_NOTES_v1.0.0.md
Raw Download

RELEASE_NOTES_v1.0.0.md

# Release Notes - Version 1.0.0

**Release Date:** January 2026
**Repository:** https://github.com/rskworld/fitness-coach-bot
**Tag:** v1.0.0

---

## 🎉 Initial Release

This is the first official release of the Fitness Coach Bot - an AI-powered comprehensive fitness coaching chatbot application.

---

## ✨ Features

### Core Features
- **AI-Powered Chatbot**: Intelligent fitness coaching chatbot that provides personalized advice
- **Personalized Workout Generation**: AI-driven workout plans based on user profile and goals
- **Nutrition Analysis**: Food image analysis and meal planning recommendations
- **Progress Tracking**: Comprehensive workout and fitness progress tracking
- **User Profiles**: Detailed user profile management with fitness goals

### Advanced Features
- **Social Features**: Create fitness challenges, join teams, share progress, and connect with workout buddies
- **Gamification System**: Achievements, levels, badges, leaderboards, and rewards
- **Advanced Analytics**: Detailed fitness analytics with trends, predictions, and insights
- **Wearable Integration**: Support for wearable devices (Fitbit, Apple Watch, Garmin, etc.)
- **Voice Coaching**: Voice command processing and workout guidance
- **Pose Detection**: Real-time exercise form analysis and correction
- **Smart Recovery**: Recovery score calculation and activity recommendations
- **Workout Buddy Matching**: Find and connect with compatible workout partners

### Technical Features
- **RESTful API**: Comprehensive REST API with 20+ endpoints
- **Modern UI**: Responsive Bootstrap 5 interface with real-time updates
- **Database**: SQLAlchemy ORM with SQLite database
- **Real-time Chat**: Interactive chat interface with message history
- **Health Tips**: Dynamic health and fitness tips display

---

## 🛠️ Technical Stack

- **Backend**: Flask 2.3.3, Python 3.13
- **Database**: SQLAlchemy 2.0.45, SQLite
- **Frontend**: Bootstrap 5, Vanilla JavaScript, Chart.js
- **AI/ML**: NumPy, OpenAI integration ready
- **Dependencies**: See `requirements.txt`

---

## 📦 Installation

### Prerequisites
- Python 3.13 or higher
- pip package manager

### Setup Steps

1. **Clone the repository**:
```bash
git clone https://github.com/rskworld/fitness-coach-bot.git
cd fitness-coach-bot
```

2. **Install dependencies**:
```bash
pip install -r requirements.txt
```

3. **Initialize database**:
```bash
python init_db.py
```

4. **Run the application**:
```bash
python app.py
```

5. **Access the application**:
- Open your browser and navigate to: `http://localhost:5000`

---

## 📋 API Endpoints

### Chat & Core
- `POST /api/chat` - Chat with fitness coach
- `GET /api/workout-plans` - Get workout plans
- `GET /api/exercises` - Get exercises
- `POST /api/progress` - Save workout progress
- `GET /api/health-tips` - Get health tips
- `GET/POST /api/user/profile` - User profile management

### Advanced Features
- `POST /api/ai-workout` - Generate AI workout
- `POST /api/nutrition-analyze` - Analyze nutrition
- `POST /api/social-challenge` - Create challenge
- `GET /api/analytics` - Get analytics
- `GET /api/gamification/profile` - Gamification stats
- `POST /api/wearable/connect` - Connect wearable
- `POST /api/wearable/sync/<device_id>` - Sync wearable
- `POST /api/voice/command` - Process voice command
- `POST /api/voice/workout-guidance` - Get workout guidance
- `GET/POST /api/buddy/profile` - Workout buddy profile
- `GET /api/buddy/find-matches` - Find workout buddies
- `POST /api/buddy/request` - Send buddy request
- `POST /api/recovery/calculate` - Calculate recovery
- `GET /api/recovery/activities` - Get recovery activities
- `POST /api/pose-workout` - Save pose workout data

---

## 🐛 Bug Fixes & Improvements

### Fixed Issues
- ✅ Fixed SQLAlchemy compatibility issue with Python 3.13
- ✅ Updated all dependencies to compatible versions
- ✅ Fixed datetime timezone issues in models
- ✅ Verified all imports and syntax
- ✅ Added proper `.gitignore` file
- ✅ Created comprehensive documentation

### Improvements
- ✅ Optimized database models
- ✅ Enhanced error handling
- ✅ Improved code organization
- ✅ Added comprehensive docstrings
- ✅ Created release notes and documentation

---

## 📁 Project Structure

```
fitness-coach-bot/
├── app.py # Main Flask application
├── config.py # Configuration settings
├── init_db.py # Database initialization
├── demo_data.py # Demo data generator
├── requirements.txt # Python dependencies
├── models/ # Database models
│ ├── __init__.py
│ └── fitness_models.py
├── utils/ # Utility modules
│ ├── __init__.py
│ ├── fitness_coach.py
│ ├── ai_workout_generator.py
│ ├── nutrition_ai.py
│ ├── social_features.py
│ ├── analytics_engine.py
│ ├── gamification_system.py
│ ├── wearable_integration.py
│ ├── voice_coach.py
│ ├── workout_buddy_matcher.py
│ └── smart_recovery.py
├── templates/ # HTML templates
│ └── index.html
├── static/ # Static files
│ ├── css/
│ │ ├── style.css
│ │ └── advanced-features.css
│ └── js/
│ ├── app.js
│ ├── voice_recognition.js
│ ├── pose_detection.js
│ └── analytics_dashboard.js
├── README.md # Main documentation
├── ADVANCED_FEATURES.md # Advanced features documentation
└── LICENSE # License file
```

---

## 👥 Credits

**Author:** RSK World
**Website:** https://rskworld.in
**Founder:** Molla Samser
**Designer & Tester:** Rima Khatun
**Contact:** help@rskworld.in, +91 93305 39277
**Year:** 2026

---

## 📄 License

This project is part of RSK World's free programming resources. Content used for educational purposes only.

---

## 🔗 Links

- **Repository:** https://github.com/rskworld/fitness-coach-bot
- **Website:** https://rskworld.in
- **Issues:** https://github.com/rskworld/fitness-coach-bot/issues

---

## 🚀 Next Steps

- Set up environment variables for production
- Configure database for production use
- Add OpenAI API key for enhanced AI features
- Deploy to production server
- Set up CI/CD pipeline

---

## 📝 Changelog

### v1.0.0 (2026-01-10)
- Initial release
- Complete fitness coaching application
- All core and advanced features implemented
- Python 3.13 compatibility verified
- All dependencies updated and tested

---

**Thank you for using Fitness Coach Bot!** 💪
utils/voice_coach.py
Raw Download
Find: Go to:
"""
Voice Interaction System for Fitness Coach Bot
Author: RSK World (https://rskworld.in)
Founded by: Molla Samser
Designer & Tester: Rima Khatun
Contact: help@rskworld.in, +91 93305 39277
Year: 2026
"""

import json
import re
from typing import Dict, List, Optional
from datetime import datetime

class VoiceCoach:
    """Advanced voice interaction system for hands-free workout coaching"""
    
    def __init__(self):
        self.commands = self._load_voice_commands()
        self.workout_state = {
            'current_exercise': None,
            'current_set': 0,
            'rep_count': 0,
            'rest_timer': 0,
            'workout_active': False
        }
        self.voice_enabled = False
        
    def _load_voice_commands(self) -> Dict:
        """Load voice command patterns"""
        return {
            'start_workout': [
                r'start.*workout',
                r'begin.*workout',
                r'let.*start',
                r'ready.*go'
            ],
            'next_exercise': [
                r'next.*exercise',
                r'move.*next',
                r'finished.*this',
                r'next.*one'
            ],
            'pause_workout': [
                r'pause.*workout',
                r'stop.*moment',
                r'take.*break',
                r'hold.*on'
            ],
            'resume_workout': [
                r'resume.*workout',
                r'continue',
                r'keep.*going',
                r'start.*again'
            ],
            'rest_timer': [
                r'start.*rest',
                r'rest.*timer',
                r'take.*rest'
            ],
            'rep_count': [
                r'(\d+).*reps?',
                r'did.*(\d+)',
                r'completed.*(\d+)'
            ],
            'form_check': [
                r'check.*form',
                r'how.*looking',
                r'am.*doing'
            ],
            'motivation': [
                r'need.*motivation',
                r'give.*encourage',
                r'cheer.*me',
                r'pump.*up'
            ],
            'finish_workout': [
                r'finish.*workout',
                r'done.*working',
                r'end.*workout',
                r'complete.*workout'
            ]
        }
    
    def process_voice_command(self, transcript: str) -> Dict:
        """Process voice command and return response"""
        transcript_lower = transcript.lower()
        
        # Check for matches
        for command_type, patterns in self.commands.items():
            for pattern in patterns:
                match = re.search(pattern, transcript_lower)
                if match:
                    return self._execute_command(command_type, match, transcript)
        
        # Default response
        return {
            'success': False,
            'response': "I didn't catch that. Could you repeat?",
            'audio_url': None
        }
    
    def _execute_command(self, command_type: str, match: re.Match, transcript: str) -> Dict:
        """Execute voice command"""
        
        if command_type == 'start_workout':
            return self._start_workout()
        elif command_type == 'next_exercise':
            return self._next_exercise()
        elif command_type == 'pause_workout':
            return self._pause_workout()
        elif command_type == 'resume_workout':
            return self._resume_workout()
        elif command_type == 'rest_timer':
            return self._start_rest_timer()
        elif command_type == 'rep_count':
            reps = int(match.group(1)) if match.groups() else 0
            return self._record_reps(reps)
        elif command_type == 'form_check':
            return self._form_check()
        elif command_type == 'motivation':
            return self._motivate()
        elif command_type == 'finish_workout':
            return self._finish_workout()
        
        return {'success': False, 'response': "Command not recognized"}
    
    def _start_workout(self) -> Dict:
        """Start workout voice response"""
        self.workout_state['workout_active'] = True
        responses = [
            "Alright! Let's get started. I'm right here with you. Take a deep breath and let's begin!",
            "Awesome! Time to crush this workout. I'll guide you through every step. Let's go!",
            "Perfect! Let's make this session count. Remember, form over speed. Ready? Let's do this!"
        ]
        return {
            'success': True,
            'response': responses[0],
            'action': 'start_workout',
            'workout_state': self.workout_state
        }
    
    def _next_exercise(self) -> Dict:
        """Move to next exercise"""
        if not self.workout_state['workout_active']:
            return {'success': False, 'response': "No workout active. Say 'start workout' to begin."}
        
        self.workout_state['current_set'] += 1
        responses = [
            f"Great job! Moving to set {self.workout_state['current_set']}. Take a deep breath and let's continue!",
            "Excellent work! Ready for the next one? Let's keep that energy up!",
            "You're doing amazing! Let's move to the next exercise. Stay strong!"
        ]
        return {
            'success': True,
            'response': responses[0],
            'action': 'next_exercise',
            'workout_state': self.workout_state
        }
    
    def _pause_workout(self) -> Dict:
        """Pause workout"""
        self.workout_state['workout_active'] = False
        return {
            'success': True,
            'response': "Workout paused. Take your time. Say 'resume workout' when you're ready to continue.",
            'action': 'pause_workout',
            'workout_state': self.workout_state
        }
    
    def _resume_workout(self) -> Dict:
        """Resume workout"""
        self.workout_state['workout_active'] = True
        return {
            'success': True,
            'response': "Welcome back! Let's pick up where we left off. Ready?",
            'action': 'resume_workout',
            'workout_state': self.workout_state
        }
    
    def _start_rest_timer(self) -> Dict:
        """Start rest timer"""
        return {
            'success': True,
            'response': "Starting 60-second rest timer. Take deep breaths and hydrate. I'll let you know when time's up.",
            'action': 'start_rest_timer',
            'duration': 60
        }
    
    def _record_reps(self, reps: int) -> Dict:
        """Record completed reps"""
        self.workout_state['rep_count'] += reps
        responses = [
            f"Excellent! {reps} reps recorded. Great work!",
            f"Nice! I've logged {reps} reps. Keep pushing!",
            f"Awesome! {reps} reps done. You're on fire!"
        ]
        return {
            'success': True,
            'response': responses[0],
            'action': 'record_reps',
            'reps': reps,
            'total_reps': self.workout_state['rep_count']
        }
    
    def _form_check(self) -> Dict:
        """Provide form feedback"""
        feedback = [
            "Your form looks good! Keep that core tight and maintain control.",
            "Looking strong! Remember to breathe - exhale on exertion, inhale on release.",
            "Great job! Try to slow down a bit and focus on the full range of motion."
        ]
        return {
            'success': True,
            'response': feedback[0],
            'action': 'form_check'
        }
    
    def _motivate(self) -> Dict:
        """Provide motivation"""
        motivational_quotes = [
            "You're stronger than you think! Every rep is progress. Keep going!",
            "Remember why you started! You've got this. Push through!",
            "Your body can do it. It's your mind you need to convince. Let's do this!",
            "No pain, no gain! You're crushing it! Don't stop now!",
            "Every workout makes you stronger. You're becoming unstoppable!"
        ]
        import random
        return {
            'success': True,
            'response': random.choice(motivational_quotes),
            'action': 'motivate'
        }
    
    def _finish_workout(self) -> Dict:
        """Finish workout"""
        self.workout_state['workout_active'] = False
        total_reps = self.workout_state['rep_count']
        
        return {
            'success': True,
            'response': f"Workout complete! Amazing job! You completed {total_reps} total reps. Remember to stretch and hydrate!",
            'action': 'finish_workout',
            'summary': {
                'total_reps': total_reps,
                'total_sets': self.workout_state['current_set'],
                'completed_at': datetime.now().isoformat()
            }
        }
    
    def generate_workout_guidance(self, exercise_name: str, set_number: int) -> Dict:
        """Generate voice guidance for specific exercise"""
        guidance = {
            'squats': f"Alright, set {set_number} of squats. Stand tall, feet shoulder-width apart. Lower down slowly, keep your chest up. Ready? Let's do 12 reps. Go!",
            'pushups': f"Time for set {set_number} of push-ups. Get into plank position, core tight. Lower with control, push back up strong. Let's go for 10 reps!",
            'plank': f"Set {set_number} plank time. Hold that position, straight line from head to heels. Breathe steady. Let's hold for 45 seconds. Starting now!",
            'lunges': f"Set {set_number} lunges coming up. Step forward, lower down, both knees at 90 degrees. Push back to start. 10 reps per leg. Let's do this!"
        }
        
        return {
            'success': True,
            'response': guidance.get(exercise_name.lower(), f"Ready for set {set_number} of {exercise_name}. Let's go!"),
            'exercise': exercise_name,
            'set': set_number
        }
266 lines•10 KB
python
🚀 Support RSK World

Subscribe to our YouTube channel for latest tutorials & updates!



Click subscribe & support our work ❤️

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer