I made an AI chatbot that talks about me. This page is about how I made CindyBot. If you want to talk to CindyBot, check it out here!
The Idea
I've had so many experiences that it's hard to fit everyone into a one-page resume. So, I decided to make a chatbot so hiring teams can find out more about my experience before they want to reach out for a longer chat.
You can use CindyBot to:
I am also using this chatbot as an excuse to show off my AI skills.
Development
CindyBot was made via vibecoding through Google Gemini! I first told Gemini that I wanted to make a chatbot that talk about me, and Gemini was able to walk me through the requirements and steps.
First, I needed to make a markdown (.md) file that an AI would be able to read for context about me. Gemini was able to tell me what directory on my website I needed to put that document in, as well as provided an example template that would be optimized for an AI model. I then filled out the file with my details about my work experience, education, and more.
Next, I needed to figure out which AI agent to use. I wanted to use a free one, so Gemini suggested (of course) the Google Gemini API. The next part was how to connect to the API securely. Gemini and I brainstormed many ways, including looking at different AI chatbot software, but we ultimately decided the best course was to build my own chatbot that's embedded on my website. The best way to keep my Gemini API key private would be to host it in Cloudflare. Gemini then provided me with some code to paste into Cloudflare and gave me instructions on how to store my API key.
Finally, I had Gemini provide code for the chatbot that I could put on my website. After a few iterations and having to be more specific about exactly what I wanted, I was able to copy and paste the code onto my website.
Prompt Engineering
After I tested a few chats with CindyBot, I realized that I needed to put some guardrails in my markdown file. Some of the things I had to specify in my prompt include:
Additional Features & Considerations
These are some other features that I have built in or considered: