2 → 5 → 5 → 1 forward pass
Sulav Bhandari

i build models that see screens, read documents, and answer for them

The pane on the left is not a video. An agent is reading that canvas pixel by pixel and tapping what it finds, using the detection loop from my Piano Tiles bot unchanged. It is the same approach I run in production against Rush Royale, League of Legends and Tibia, unattended, for hours.

The other half of the work is language. I build retrieval-augmented generation pipelines with LangChain and FAISS that answer from a chosen corpus and cite the chunk behind every sentence, fine-tune open-weight models with LoRA, and have written a Devanagari tokeniser and a decoder-only transformer from scratch. Then I put the result behind a FastAPI endpoint so somebody can actually use it.

A year and a half into the work, mostly computer vision and NLP. At Sandbox I own detection models in production and the retraining that keeps them honest when a game patch moves the interface out from under them.

01

work

rag-document-qa

  • Answers only from a chosen document set
  • Cites the chunk behind every sentence
  • Picks up new uploads without a restart
LangChain · FAISS · FastAPI Live

nepali-llm

  • Byte-pair tokeniser for Devanagari, written from scratch
  • Decoder-only transformer, also from scratch
  • Vocabulary size settled by validation loss, perplexity and BLEU
PyTorch · custom BPE Repo

HMS

  • Hotel front desk on the web: bookings, check-in and out, billing
  • Food and beverage, staff, receipts
  • Ships as a PWA, so floor staff run it from their phones
TypeScript · Next.js Live

rush-royale-bot

  • Reads a five by three battle grid over ADB
  • Masks each cell in HSV, matches contours against unit sprites
  • Merges and upgrades unattended
OpenCV · scrcpy · ADB Private

healthcare-analytics-sql

  • 185,000 patient records interrogated in PostgreSQL alone
  • Window functions and CTEs, no pandas anywhere
PostgreSQL Repo

code-quest-academy

  • Marketing site for a children's coding academy in Nepal
  • Built as a game world, because that is what eight-year-olds click
TypeScript · React Live

ekantipur-scraper

  • Packaged scraper for Nepal's largest news portal
  • Structured article output, typed, installable
Python · uv Repo
02

train me

Backpropagation written out longhand, no library, separating two interleaved moons. Train it past each threshold to open what follows.

decision boundary 0 epochs
untrained, the weights are random
loss
0.693
0.26
8
weights

< 0.450what i work with locked
< 0.300experience locked
< 0.150contact locked
opens everything without training
locked · train below 0.450
03

what i work with

locked · train below 0.300
04

experience

AI Engineer jan 2025 to present

Sandbox Pvt. Ltd., Pokhara. Built real-time computer-vision systems that read on-screen state in live game clients such as Rush Royale, League of Legends, and Tibia, training OpenCV and PyTorch detection models and retraining them when UI updates broke detection — letting runs go unattended for 8+ hours and replacing roughly 6 hours of manual play per client each day.

Built an internal RAG assistant over game specs and internal docs that returns cited answers in seconds, cutting the time the team spent searching documentation by around 60%.

Built a multi-agent system where separate LLM agents plan and carry out steps with tool-calling, running multi-step jobs end to end and cutting the manual steps per job by about 70%.

Secretary mar 2023 to mar 2024

Association of Computer Engineering Students. Organised TechFest 6.0: hackathons, competitive programming and datathon events. Vice coordinator on the hackathon track, working with teams from across Nepal.

locked · train below 0.150
05

contact

Open to machine learning and computer vision roles, remote or in the Kathmandu valley.