I have been an avid user of ChatGPT since 2023. Now it’s my day-to-day companion that has drastically improved my productivity and efficiency at work and personal projects. With my growing interest in Gen AI, I just completed Kaggle 5-Day Gen AI Intensive Course with Google, and this is the first project that I learned how to build with AI. I will share with you the lessons, what’s next and the Kaggle colab (you can copy and play with it on Kaggle)!
Let’s get started!
💡 Why I Built This
Gift shopping can be stressful, especially when you’re not sure what to buy. Whether you’re shopping for a “teenager who loves Star Wars and Legos” or a “creative friend on a budget,” it’s not always easy to match people to presents.
As part of the capstone project for Kaggle 5-Day Gen AI Intensive Course with Google, I wanted to build a solution that could do exactly that: recommend thoughtful, relevant gift ideas based on a user’s request — and do it using GenAI.
🧠 The Problem
Most affiliate or e-commerce search tools are:
- Rigid (you need exact keywords),
- Not context-aware (they don’t “understand” your intent),
- And limited to what’s in their database.
I wanted to combine the semantic flexibility of large language models with the precision of product metadata and affiliate links — all while supporting localization (like showing prices in RM for Malaysia).
✨ The Solution
I built an AI-powered gift recommendation bot that is region-friendly and monetizable — perfect for affiliate creators or localized recommendation widgets using:
- 🧠 Gemini Flash model + few-shot prompting to generate personalized recommendations
- 🧭 Embeddings + FAISS vector search to semantically match gift ideas
- 📦 A product dataset with prices, categories, and optional affiliate links
- 🌍 Localization through local fallback search links: Shopee Malaysia and Lazada Malaysia
- 💸 Localization through currency: USD and MYR (with configurable conversion)
Here’s an example of how it works:

And the output:

🧰 GenAI Capabilities Used
Capability | How It’s Used |
---|---|
✅ Embeddings | models/embedding-001 for semantic search |
✅ Vector Search (FAISS) | For efficient nearest-neighbor recommendations |
✅ Few-shot prompting | Gemini Flash is steered with examples |
✅ Structured JSON Output | Gemini generates clean, structured responses |
✅ Grounding | Tied to real product metadata (name, price, links) |
✅ Retrieval Augmentation | Matches used as context to generate better output |
🤔 Limitations
While the bot works well, there are a few areas for improvement:
- ❌ No real-time inventory or availability checking
- 🔁 Limited to static product datasets (unless hooked to a live database)
- 💬 Single-turn interaction (not a chatbot yet — no user refinement feedback)
- 🧪 Doesn’t evaluate the quality of recommendations (yet)
🚀 What’s Next
This project opened up so many possibilities. Next, I’d love to:
- Turn it into a chatbot with memory and filters
- Add real-time product crawling
- Enable multi-language support for users in Malaysia and Southeast Asia
- Add product image understanding to enhance visual recommendations
- An interactive application MVP for users to test it out
Truthfully, I don’t know how to progress it next as I’m new to building with Gen AI without any 0 to 1 coding experience. I’m open to any feedback below and learn new things, let me know what you think!
📚 Check it Out
You can view the full code and notebook here:
👉 Kaggle Notebook Link
Like the Build with AI topic? Share it on Pinterest – thank you!
