amazon-chatbot-experience
Senior ML Platform / Applied AI Engineer interview-prep portfolio, built around the MangaAssist case study (an Amazon-style anime → manga reading-order recommendation product) plus 30+ topic deep-dives that cover the full system-design and operations surface.
📖 Browse online
The whole repo is published as a searchable Jekyll site:
Once Cloudflare Pages is configured, the URL will land here. See "Deploying" below.
The site is built from this repo's markdown by Jekyll + the just-the-docs theme — every folder is a section, every .md file is a page, and search works across all of it.
🧭 Where to start
| Goal | Read this |
|---|---|
| Learn the case study cold | 01-problem-statement.md → 16-final-summary.md |
| Drill on system design | HLD-Questions and LLD-Questions |
| Prep behavioural / leadership | Leadership-Narrative and POC-to-Production-War-Story |
| Brush up GenAI eval | Evaluation-Systems-GenAI |
| Cost / latency tradeoffs | Cost-Optimization-Offline-Testing |
| See the working code | mangaassist_web/ (Next.js + FastAPI) and streamlit_app/ (21-page prototype) |
🗂️ Layout
| Path | What's there |
|---|---|
01-*.md … 16-*.md |
The MangaAssist case study, in narrative order |
Topic folders (e.g. LLMOps/, Evaluation-Systems-GenAI/, RAG-MCP-Integration/) |
Notes grouped by interview competency. Each folder has an auto-generated index.md with a summary + interview talking points + file table |
mangaassist_web/ |
Production-shaped Next.js 14 + FastAPI app |
streamlit_app/ |
Streamlit prototype with 21 experimental pages |
mangaassist_3d/ |
WebGL atlas exploration |
experiments/ |
Per-experiment hypothesis + results |
_config.yml, Gemfile, index.md |
Jekyll config for the GitHub Pages site |
scripts/gen_docs_indexes.py |
Regenerates each folder's index.md after you add new notes |
🛠️ Local preview of the docs site
# one-time
gem install bundler
bundle install
# serve at http://127.0.0.1:4000
bundle exec jekyll serve
After adding new notes to a folder, refresh the per-folder file index:
python scripts/gen_docs_indexes.py
The generator only rewrites the block between <!-- AUTO:START --> and <!-- AUTO:END --> markers, so any hand-written summary or interview talking points above them are preserved.
🚀 Deploying
This private repo can't use GitHub Pages on the Free plan (Pages on private repos requires GitHub Pro). The deploy runs on Cloudflare Pages instead — free, supports private GitHub repos, native Jekyll buildpack.
One-time setup (Cloudflare Pages)
- Go to https://dash.cloudflare.com → Workers & Pages → Create → Pages → Connect to Git.
- Authorize the Cloudflare Pages GitHub App for the
SrikanthVelpuri/amazon-chatbot-experiencerepo. - Build settings:
- Framework preset: Jekyll
- Build command:
bundle exec jekyll build- Build output directory:_site- Environment variables:RUBY_VERSION = 3.2.2(also pinned in.tool-versions) - Click Save and Deploy. First build takes ~2-3 min (cold bundler). Subsequent builds are ~30 s thanks to dependency caching.
- The site lands at
https://amazon-chatbot-experience.pages.dev. Add a custom domain under Custom domains if you want.
After that, every push to main rebuilds and redeploys automatically — no manual step.
Local preview without Ruby
python scripts/build_preview.py
python -m http.server -d _preview 8765
# open http://localhost:8765
This builds 6 representative pages styled to match the deployed Jekyll site — fast sanity-check tool, not a full replacement.
Why not GitHub Pages?
.github/workflows/pages.yml still works as a workflow_dispatch runbook for the day this repo goes public or you upgrade to Pro. Until then, pushes don't trigger it.
📜 License
Notes are personal interview prep — not legal, security, or financial advice. The MangaAssist case study is a fictional design exercise inspired by Amazon's catalog and chatbot patterns; nothing here represents Amazon.