©Code by Aayan Neupane
← Selected work

Portfolio Assistant

Project overview by Aayan Neupane

Focus

Applied AI · Backend · Deployment

Context

Sidigimarket | Current company

Built a document-grounded assistant at Sidigimarket with FastAPI, Gemini, ChromaDB, and Redis, integrated into a Next.js streaming chat widget and deployed on DigitalOcean.

  • Python
  • FastAPI
  • Gemini
  • ChromaDB
  • Redis
  • Next.js
  • Server-Sent Events
  • DigitalOcean
Illustrative desk scene with company documents connected to a laptop by blue light trails
Portfolio AssistantIllustrative cover
Company knowledge, in conversation.Applied AI

The problem

Make company information accessible through a conversational interface grounded in a document collection.

My contribution

Developed and integrated the portfolio chatbot at Sidigimarket, including document retrieval, conversation sessions, a streaming chat widget, a contact follow-up interface, and the infrastructure connecting the API to the website.

How it was built

  • Document ingestion and text chunking prepare company material for embeddings and persistent vector storage in ChromaDB.
  • The backend retrieves relevant passages and includes recent conversation history when preparing model context.
  • Redis-backed sessions support conversation continuity, with an in-memory fallback. Standard and streaming chat endpoints serve the frontend.
  • Implemented the streaming chat widget and a contact follow-up interface within the portfolio website. The interface work does not establish that follow-up emails were delivered.
  • Rate limits, concurrency limits, and timeouts bound API requests. Health and readiness endpoints support deployment checks.
  • The API runs on an Ubuntu DigitalOcean Droplet with systemd, Nginx, and HTTPS. A GitHub Actions workflow handles checks, deployment, service restart, and readiness verification.

Limitations

Retrieval and generated answers depend on the source documents and model behavior; no accuracy or performance benchmark is claimed. Contact follow-up automation was explored, but email delivery was not verified as operational.

What the project delivered

Connected document retrieval, session handling, streamed responses, and deployment in one application.

Next project

TechSewa

↗