BuddyBot is an AI-powered virtual pet that evolves! Starting as an egg, BuddyBot develops its own personality, memories, and evolution path through real time interactions. I was inspired by virtual pet and browser games of the early internet! I wanted to reimagine it with modern AI by creating a pet that doesn't follow scripted interaction, but learns, remembers, and evolves based on the players choices: ex: there isn't a set amount of XP the pet gets from each action, but Gemini will choose the amount based on what the player does.
It has 5 stages, egg -> baby -> teen -> adult -> legendary!
I am proud of creating a game where each player's experience is unique. BuddyBot does not have a fixed personality or evolution path, the player and AI shapes the outcome. I also loved the idea of combining the nostalgic feeling of classic browser games with AI technology to create an interactive experience to enhance the games!
Players can:
- Feed, play, talk, and sleep
- Create memories that influence future conversations
- Watch BuddyBot evolve from an egg into a legendary pet
Unlike traditional virtual pets, BuddyBot uses Gemini to generate responses, adapt its personality, and create a different journey for every player.
BuddyBot was built as a full-stack web application.
Frontend:
- HTML, CSS, and JavaScript
Backend:
- Node.js + Express server
- Gemini API integration
AI System:
- Gemini acts as BuddyBot's personality engine
- Each interaction sends the pet's current stats, personality traits, and recent memories to Gemini
- Gemini generates responses, updates trust and XP, creates memories, and determines possible evolution changes
Pet data is stored locally so each player's BuddyBot maintains its unique journey.
-
Install dependencies:
npm install
-
Add your Gemini API key. Copy
.env.exampleto.env(already provided as.env— just edit it):GEMINI_API_KEY=your_real_key_here PORT=3000Get a free key at Google AI Studio.
-
Start the server:
npm start
-
Open your browser to:
http://localhost:3000
BuddyBot/
├── public/
│ ├── index.html
│ ├── style.css
│ ├── script.js
│ └── images/
│
├── server.js
├── package.json
├── .env
├── .gitignore
└── README.md