Skip to main content

Command Palette

Search for a command to run...

Turn Your Portfolio Into an AI Chatbot

Duplicate My Hugging Face Space and Build Your Virtual Self

Updated
5 min read
Turn Your Portfolio Into an AI Chatbot

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:

  1. Static portfolios feel lifeless

  2. I wanted something interactive, memorable and dynamic

  3. 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:

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 .txt

  • Publicly 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.