Karthik.P
Back to projects
PythonFastAPILangGraphTavilyReactTypeScriptVite

Gifty

An AI gift recommendation agent. It turns enriched, LinkedIn-style contact data into the top 3 personalised, real purchasable gifts per contact, each grounded in a live product, validated, and scored before a human signs off.

gifty · pipeline
3 recommendations
Karthik · Engineer
analyzing contact signals
searching real products
validating live links
recommending gifts
Macbook Air0.92
Mac mini0.86
Rog Zephyrus G140.78

Run it locally

Needs uv for the Python backend and Bun for the frontend.

clone & setup
$ git clone https://github.com/grimmy-dev/gifty
$ cd gifty
$ ./dev.sh setup
configure & start
$ # add API keys to backend/.env
$ # (Anthropic / Gemini + Tavily)
$ ./dev.sh

The frontend runs on localhost:5173 and the backend on :8000.

What it does

Personalised picks

Reads enriched, LinkedIn-style contact signals to surface the top 3 gifts per contact.

Grounded in real products

Every pick is backed by a live product found via Tavily web search, never invented.

Validated links

Each product link is checked to be live and relevant before it ever counts.

Confidence & risk

Each pick carries reasoning, a note, a confidence score, and a risk level.

Human in the loop

A review step gates unsuitable suggestions before they reach a user.

Two-stage pipeline

A fast model extracts signals, then a reasoning model searches and recommends.

Every result is inspectable. Open any contact to read its full LLM reasoning and process, then copy it or download the whole thing as a JSON file.

See it in the app

Want the full picture? The repo has a detailed write-up of the pipeline, a run trace, the architectural decisions, and the eval methodology in its DECISIONS.md and EVAL.md.

Read it on GitHub