Build brief
CompleteAI Digital Twin
The problem
A portfolio makes a recruiter or potential client do the work: read the About section, open a case study, cross-reference the resume, guess whether a specific background fits their role. Most visitors have about a minute and a narrow question they never get to ask.
Who feels it
Recruiters, hiring managers, and prospective clients screening for a specific fit — cloud, reliability, AI engineering, implementation work — who want a direct answer rather than a tour of the site.
What I built
An AI assistant that answers questions about my background, experience, and projects in my own framing. It is grounded in a curated professional summary and my LinkedIn export, refuses to invent anything it wasn't told, captures contact details when a visitor wants a follow-up, and flags any question it couldn't answer so I can improve the source material. It runs as its own page and embeds directly into the portfolio at /twin.
What it demonstrates
A deployed LLM application end to end: system-prompt grounding, an OpenAI tool-calling loop, function tools wired to a real notification channel, standalone and embedded delivery, and a push-to-deploy pipeline to Hugging Face Spaces. It is a course exercise taken past the course — its own repo, its own docs, its own CI/CD.
- PythonGeneral-purpose language used here for data processing and AI services.
- OpenAI APIHosted API for OpenAI's language models, including tool calling.
- GradioPython library that turns a function into a shareable web UI, used for ML demos.
- Hugging Face SpacesHosting platform for machine-learning apps and interactive demos.
- GitHub ActionsGitHub's built-in automation for CI/CD and repository workflows.
- uvFast Python package installer and virtual-environment manager.
- PushoverService for sending push notifications to a phone or desktop.