Skip to content
Manish Chavan

← Back

Projects

Everything public, most recent first.

AI Interview Platform

Assessment product that generates technical interview questions on the fly and scores candidate responses automatically.

Role
Built at Assesshub on Next.js and TypeScript, covering question generation, the evaluation pipeline and the candidate-facing interface.
Hard part
Model output had to be dependable enough to sit in a live assessment flow. Generated questions needed to stay on-scope for the role being tested, and scoring had to stay consistent between runs rather than drifting with phrasing.
Stack
Next.js · TypeScript · Generative AI

Closed source, built at Assesshub. No public repository.

DocRAG

Retrieval-augmented Q&A over your own documents. Upload PDFs into groups, ask questions, and get answers grounded in the files rather than the model's general knowledge.

Role
Sole engineer. React and shadcn/ui frontend, FastAPI backend, and the full ingestion-to-retrieval pipeline.
Hard part
Answer quality is retrieval quality. Keeping responses grounded in the uploaded documents, instead of letting the model fill gaps from training data, meant the chunking and retrieval step was where the work went rather than the prompt.
Stack
React · TypeScript · FastAPI · Python · PostgreSQL · LangChain · Tailwind CSS

Live demo · Source: Frontend · Source: Backend

Invoicer

Self-hosted invoicing with client records, itemised invoices carrying tax and due dates, server-generated PDFs, and a dashboard for billed, collected and outstanding totals.

Role
Sole engineer. Next.js 14 App Router with server actions, Prisma over PostgreSQL, and the PDF generation and storage path.
Hard part
Generating the PDF server-side with Puppeteer on save, rather than in the browser, so the stored document is the invoice of record. That means running a headless browser reliably on a small VPS alongside the app.
Stack
Next.js · TypeScript · PostgreSQL · Prisma · NextAuth · Tailwind CSS

Live demo · Source

LumoChat

Real-time messaging with typing indicators, online presence, paginated history and a media gallery for images, video and audio.

Role
Sole engineer across both services: a React frontend and an Express and Socket.io backend, deployed separately.
Hard part
Keeping live state and historical state coherent: presence and typing events arrive over Socket.io while message history loads lazily in pages, and media uploads had to be compressed before storage so they didn't stall the send path.
Stack
React · TypeScript · Node.js · Express · Socket.io · PostgreSQL · Cloudinary

Live demo · Source: Frontend · Source: Backend

Expression-Based Music Recommendation

Android app that reads facial expression through the camera and recommends music matching the detected mood. Basis for a published paper.

Role
Built the Flutter application and integrated the CNN model, including the optimisation work for on-device inference.
Hard part
Running inference on-device in real time. The model had to be optimised for mobile deployment, trading accuracy against latency to stay responsive on commodity Android hardware.
Stack
Flutter · CNN · Python · Computer Vision

Source