A lightweight demonstration of BuddAI's multi-personality chat interface
A multi-personality chatbot that learns your interests, tracks your projects, and adapts to your expertise level - all while keeping your data private and costing nothing to run.
Try it now: https://jamesthegiblet.github.io/BuddAI-Lite/
Note: If you see index.html in the URL, the correct link is above. GitHub Pages serves index.html automatically.
- Fluffy Bot 🐰 - Your cuddly AI companion! Supportive, emoji-rich, enthusiastic
- Cool Boy 🤖 - Your tech-savvy AI bro! Casual, technical, practical
- Architect 🏗️ - The professional business mode! Focused on education, onboarding, and project management
- Switch between modes on-the-fly while maintaining conversation context
- Topic Bubbles - Quick-select chips to jump straight into specific domains
- Smart Routing - Keyword-based routing system to direct queries to the right knowledge base
- Context Locking - Keeps the conversation focused on the current topic or project
- Tracks your interests - Automatically learns what topics you care about
- Skill leveling - Adapts from beginner → intermediate → expert based on conversation depth
- Persistent memory - Remembers everything across sessions (localStorage)
- Conversation depth tracking - Provides more advanced responses as you demonstrate expertise
- Auto-detection - Recognizes when you mention projects in conversation
- Detail Memory - Remembers tech stacks, languages, and specific details you mention
- Contextual Follow-ups - Asks intelligent questions to learn more about your build
- Active tracking - Monitors ongoing projects with update history
- Progress monitoring - Tracks last update dates and proactively follows up on stale projects
- Completion tracking - Celebrates finished projects and suggests new ones
- Smart suggestions - Generates project ideas based on your interests
- Text-to-speech - Toggle voice output for bot responses
- Dual voices - Different voice profiles for Fluffy Bot vs Cool Boy
- Smart cleanup - Removes emojis and HTML before speaking
- 5 export formats - JSON, TXT, HTML, Markdown, Clipboard
- Complete history - Full conversation logs with timestamps
- Preference data - Export your learning profile and projects
- Privacy-first - All data stays on your device
- Responsive design - Works on desktop, tablet, and mobile
- Smooth animations - Polished transitions and interactions
- Modal interfaces - Preference dashboard and project management
- Visual indicators - Learning status, active projects, progress bars
- Architect Mode - A third personality for professional contexts
- PALS Interface - Scrollable topic bubbles for quick navigation
- Embedded Data - No external JSON file needed for basic operation (fixes CORS issues)
- Context Awareness - Improved sticky context for projects
- License UI - Demonstration of Pro/Whitelabel feature gating
- Cloud Sync - Firebase integration for cross-device synchronization
- Collaboration - Share projects with other users via ID
- Advanced Analytics - Visual dashboard for chat stats and topic heatmaps
- Rich Input - Voice input (Speech-to-Text) and Image upload support
- Smart Tools - Calendar integration and ElevenLabs custom voice support
- Dark Mode - Native dark theme support
- Any modern web browser (Chrome, Firefox, Safari, Edge)
- No installation required!
- No API keys needed!
- No backend server needed!
- Download the files:
git clone https://github.com/JamesTheGiblet/BuddAI-Lite.git
cd BuddAI-Lite- File structure:
📁 BuddAI-lite/
└── 📄 index.html- Open in browser:
- Double-click
chatbot.html - Or drag & drop into your browser
- That's it! 🎉
- Double-click
-
Check console (F12 → Console tab)
- Should see:
✅ Training data loaded successfully!
- Should see:
-
Test basic features:
- Type: "Hi" → Should greet you
- Click mode switcher → Switch between Fluffy & Cool Boy
- Type: "I'm building a robot" → Auto-detects project
-
Explore:
- 🧠 Click brain icon (top left) → View learning profile
- 🔧 Click project badge (bottom left) → Manage projects
- 🗣️ Click voice toggle → Enable text-to-speech
You: Hi!
Fluffy Bot: Hello lovely! 🌸 You're looking absolutely wonderful today!
You: Tell me about robotics
Fluffy Bot: Ooh robotics! 🤖 I love watching robots dance and help people!You: I'm building a combat robot called GilBot
Fluffy Bot: GilBot! 🤖 Your combat robot is so cool! How's the weapon system coming along? ⚔️
[Auto-detects "GilBot" project and saves it]
[7 days later...]
Fluffy Bot: How's your GilBot project going? 🎀 Any updates?[First mention of 3D printing]
Fluffy Bot: 3D printing is like modern-day magic! 🪄
[After 8+ conversations about 3D printing]
Fluffy Bot: Have you tried resin printing? The detail is insane!
Since you're so knowledgeable: In 3D printing, software: OctoPrint (Remote Management).
Isn't that fascinating? 🧠Edit training-data.json:
{
"customResponses": {
"fluffy": {
"your keyword": [
"Custom response 1! 🎀",
"Custom response 2! 💖"
]
},
"coolboy": {
"your keyword": [
"Custom response for cool mode! 🔥",
"Another cool response! 🚀"
]
}
}
}In chatbot.html, edit the personalities object (around line 1370):
const personalities = {
fluffy: {
name: "Your Custom Name",
avatar: "🎨", // Change emoji
tagline: "Your custom tagline!",
// ... more customization
}
};Edit CSS variables at the top of the <style> section:
/* Cool Boy theme */
.container {
border: 5px solid #3498db; /* Change to your color */
}
/* Fluffy mode theme */
.fluffy-mode .container {
border: 5px solid #f093fb; /* Change to your color */
}- Frontend: Pure HTML/CSS/JavaScript (no frameworks)
- Storage: localStorage (browser-based, private)
- AI: Pattern matching + custom training data (no API costs)
- Data Loading: Hybrid fetch/embedded system for seamless local execution
- Voice: Web Speech API (browser built-in)
- Vanilla JavaScript (ES6+)
- CSS3 (Grid, Flexbox, Animations)
- localStorage API
- Web Speech API
- Fetch API (for training data)
- Load time: <100ms
- Response time: <1s (simulated typing)
- Memory footprint: ~2-5MB
- Works offline: ✅ Yes (after first load)
| Browser | Version | Support |
|---|---|---|
| Chrome | 90+ | ✅ Full |
| Firefox | 88+ | ✅ Full |
| Safari | 14+ | ✅ Full |
| Edge | 90+ | ✅ Full |
chatbot.html
├── Styles (CSS)
│ ├── Base styles & reset
│ ├── Dual theme system (Fluffy/Cool Boy)
│ ├── Modal components
│ ├── Responsive breakpoints
│ └── Animations & transitions
│
├── Data (JavaScript Objects)
│ ├── personalities{} - Dual personality definitions
│ ├── technicalKnowledge{} - Domain expertise database
│ └── userPreferences{} - Learning & project state
│
├── Core Functions
│ ├── getResponse() - Main conversation logic
│ ├── trackUserInterests() - Learning system
│ ├── detectAndTrackProjects() - Project detection
│ └── getLeveledResponse() - Skill adaptation
│
├── UI Components
│ ├── Preference Modal - Learning dashboard
│ ├── Project Modal - Project management
│ ├── Status Messages - Toast notifications
│ └── Export Controls - Data export
│
└── Utilities
├── savePreferences() - localStorage persistence
├── export*() - Various export formats
└── voice/speech integration
training-data.json
└── Custom keyword-response mappings-
Robotics 🤖
- ROS, Arduino, Raspberry Pi
- Motor control, sensors
- Computer vision, SLAM
- Path planning
-
3D Printing 🖨️
- FDM, SLA, SLS
- Filaments, slicers
- Troubleshooting
- CAD design
-
Combat Robots ⚔️
- Weight classes
- Weapon systems
- Competitions
- Armor materials
-
CoD Mobile 🎮
- Game modes
- Weapons
- Ranked seasons
- Strategies
-
Coding 💻
- Languages (Python, JS, C++)
- Frameworks (React, ROS, Unity)
- Concepts (OOP, algorithms)
- DevOps
-
General Tech ⚡
- Hardware/software
- Maker movement
- Open source
- Cloud computing
- ✅ Conversation history
- ✅ Topic interests
- ✅ Project information
- ✅ Skill level
- ✅ User preferences
- localStorage - Your browser only
- Never sent to servers
- Never shared with third parties
- You own 100% of your data
Yes! Three ways:
- Click "Reset Learning Data" in preferences modal
- Click "Clear" to delete chat history
- Clear browser data (localStorage)
- ✅ No external API calls (except optional training data & analytics)
- ✅ Privacy-friendly analytics (Simple Analytics)
- ✅ No cookies
- ✅ Works completely offline
- ✅ Open source - verify the code yourself
- Hybrid AI mode (pattern + API)
- Mobile app (React Native)
- Plugin system
- Multi-language support
- Cloud sync & Collaboration
- Advanced analytics
- Custom voice cloning
- Dark mode
- Voice input & Image upload
- Calendar integration
Contributions are welcome! Here's how:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature- Commit your changes
git commit -m "Add amazing feature"- Push to the branch
git push origin feature/amazing-feature- Open a Pull Request
- Add new domain knowledge (music, art, fitness, etc.)
- Create industry-specific versions
- Improve UI/UX
- Add new export formats
- Write tests
- Improve documentation
-
Voice output may not work in all browsers
- Solution: Use Chrome/Edge for best voice support
-
localStorage has size limits (~5-10MB)
- Solution: Export & clear old conversations regularly
-
Training data must be same-origin
- Solution: Now includes embedded fallback data so it works immediately without a server!
-
Doesn't work in private/incognito mode
- Solution: Use normal browsing mode for persistence
A: Not by default. It uses pattern matching + custom training data. You can add real AI by integrating Claude/OpenAI API.
A: No! Zero API costs, zero hosting costs. Completely free.
A: Yes! MIT license. Use it however you want.
A: Edit training-data.json - no coding required!
A: Not in the free version. Premium version will include cloud sync.
A: Yes! Edit the CSS in chatbot.html.
A: Yes! After first load, works completely offline.
MIT License - see LICENSE file for details.
TL;DR: You can use this for anything - personal, commercial, whatever. Just keep the license notice.
- Built with assistance from Claude (Anthropic)
- Inspired by the maker/hacker community
- Icons: Unicode emoji (universally supported)
- Fonts: System fonts (no external dependencies)
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Twitter: @JamesTheGiblet
- Email: Gibletscreations@gmail.com
If you find this useful, please star the repo! ⭐
- Build Time: 2 hours
- Lines of Code: ~2,500
- File Size: ~150KB (uncompressed)
- Dependencies: 0
- Frameworks: 0
- API Costs: $0
# 1. Create GitHub repo
git init
git add .
git commit -m "Initial commit"
git remote add origin https://github.com/JamesTheGiblet/BuddAI-lite.git
git push -u origin main
# 2. Enable GitHub Pages
# Go to: Settings → Pages → Source: main branch
# 3. Your chatbot is now live at:
# https://JamesTheGiblet.github.io/BuddAI-lite/chatbot.html- Go to https://app.netlify.com/drop
- Drag both files into upload zone
- Get instant live URL!
npm i -g vercel
vercel- Project tracking companion
- Learning assistant
- Hobby organizer
- Study buddy
- Onboarding assistant
- Customer support (white-label)
- Training tool
- Knowledge base interface
- CS education tool
- STEM learning companion
- Coding bootcamp assistant
- Maker space guide
- Internal tools
- Client demos
- Lead magnets
- SaaS products
Unlike other chatbots:
- ✅ Remembers everything - Persistent memory across sessions
- ✅ Tracks projects - Auto-detection and management
- ✅ Learns & adapts - Skill leveling system
- ✅ Dual personality - Two distinct modes
- ✅ Privacy-first - Data never leaves your device
- ✅ Zero cost - No APIs, no subscriptions
- ✅ Fully customizable - Easy training data
- ✅ 100% client-side - No backend needed
Created by James as part of Giblets Creations
"I build what I want" - Core philosophy
If you found this helpful, please ⭐ star the repo!
Made with 💖 by makers, for makers