Turn Your Portfolio Into an AI Chatbot
Duplicate My Hugging Face Space and Build Your Virtual Self

People build resumes. Some build portfolio websites. A few create Notion pages.
Most of it gets skimmed and forgotten.
A conversational portfolio is different.
It talks. It adapts. It answers exactly what someone cares about.
And you don’t need to manage servers, rent GPUs, or write complex infra scripts to do it.
In this guide, I’ll show you exactly how to duplicate my Virtual Portfolio Chatbot hosted on Hugging Face Spaces and turn it into your own digital twin.
What You’ll Get
By the end, you will have:
A ready-to-use AI chatbot hosted on Hugging Face
Backed by Groq API
Customized with your achievements, knowledge, tone, personality
Zero infrastructure headaches
No backend setup required
My live example:
https://huggingface.co/spaces/tkdutta/virtual_tkd
Repo (if you want to explore or understand structure):
https://huggingface.co/spaces/tkdutta/virtual_tkd/tree/main
Why I Built This
Three simple reasons:
Static portfolios feel lifeless
I wanted something interactive, memorable and dynamic
Integrating it into my portfolio app.
This chatbot:
represents me
answers questions about me
adapts as I grow
and honestly, feels more “alive” than a PDF
Prerequisites
You only need:
Hugging Face account
Groq API key (Get your oown from https://console.groq.com/keys)
Two Google Drive
.txtfiles
That’s it.
🛠 Step 1: Duplicate the Space
Go to:
https://huggingface.co/spaces/tkdutta/virtual_tkd
Click Duplicate Space.
During duplication, Hugging Face will already give you fields to:
Add Secrets
Add Variables
You can set them right there itself or do it later. Either is fine.
Keep:
Default CPU hardware (good enough)
Public or Private as per preference
Done. You now have your own copy.
🔐 Step 2: Add Space Secrets
Go to:
Settings → Secrets
Add these.
1️⃣ GROQ_API_KEY
Your Groq API key.
Self explanatory.
2️⃣ KNOWLEDGE_CONTEXT_URL
A public Google Drive link to a .txt file containing your knowledge.
What should be inside?
You decide:
Work history
Projects
Achievements
Experience stories
Tech stack
Anything you want your chatbot to “know”
This basically acts as your knowledge base.
Make sure:
File is
.txtPublicly shareable
Viewable by anyone
3️⃣ INSTRUCTIONS_URL
Another Google Drive .txt file.
This shapes the chatbot’s:
tone
behavior
personality
conversational style
boundaries
how it introduces you
how it replies to recruiters or visitors
Think of this as your “system prompt.”
It defines your chatbot’s personality.
⚙️ Step 3: Add Space Variables
Go to:
Settings → Variables
These are simple configurable values.
CURRENT_STATUS_MESSAGE
Your current status or what you’re focusing on.
Example:
Learning Terraform and preparing for certification.
This keeps changing over time, so keeping it separate avoids touching code repeatedly.
LAST_KNOWLEDGE_UPDATED_DATE
To show transparency about freshness of your knowledge base.
Example:
Dec 2025
Displayed in the chatbot UI footer so users know how updated the information is.
CREATOR_NAME
Name of the creator or portfolio owner.
This is displayed in the chatbot UI footer.
Example:
Tuhin Kumar Dutta
WEBSITE
Optional field.
If provided, this URL will be linked with the creator name in the footer.
Example:
https://www.tuhindutta.com/
If you don’t want to link anything, simply leave it empty.
🔄 Updating and Rebuilding
Whenever:
your Google Drive knowledge file changes
or your instruction file changes
Go to Hugging Face and simply Rebuild the Space.
That reloads fresh content.
🧪 Step 4: Test It
Open your chatbot.
Ask:
“Tell me about your experience”
“What projects have you built?”
“What are you currently working on?”
“Explain your expertise”
If it sounds like you, great.
If not, tune your .txt files and rebuild.
📌 Important Behavior Notes
1️⃣ Groq API Rate Limits
Your chatbot follows:
Groq API rate limits
Model usage caps
If you want higher usage or smoother performance, upgrade your Groq plan.
2️⃣ Hugging Face Free Tier Sleep Policy
If you keep HF Space on free CPU tier:
It goes to sleep after 48 hours of inactivity
To keep it alive, open it at least once every 48 hours
Or take HF paid subscription to keep it always active
So decide based on how actively you want it running.
3️⃣ No Conversation Memory
The chatbot does not track past chats.
Each message is handled as a fresh independent query.
Honestly, for a portfolio bot, this is good enough and keeps things simple.
4️⃣ Why Use Hugging Face Instead of Hosting Yourself?
Because:
Zero infra maintenance
Built-in logs
Built-in hosting
No deployments hassles
Easy duplication
Simple updates
This entire HF Space approach exists to make life easier.
If someone wants, they can still:
use the repo code
build their own app
deploy it wherever they want
But most people simply want it to work without pain. HF solves that.
5️⃣ You Can Use Your Own Domain
Yes, you can point your custom domain and redirect it to your HF space.
So your chatbot can live behind a cleaner URL.
🎯 Final Thoughts
This chatbot is meant to be:
simple
personal
useful
easy to maintain
No over-engineering.
No unnecessary complexity.
Just a neat digital twin that represents you well.
If you build yours, I’d genuinely love to see it.




