Portrait of Sujan Khatiwada

Sujan Khatiwada

Computer engineer working on data science, machine learning and NLP.

About

I recently finished my Bachelor of Computer Engineering in Nepal. My final-year project was a neural machine translator for Nepal Bhasa (Newari), a low-resource language, where I led the backend. I enjoy building complete data and machine learning pipelines, from cleaning data to serving a model through an API. I am now looking to continue with a master’s degree in data science.

Projects

2025 – 2026

English to Nepal Bhasa (Newari) neural machine translator

Lead backend developer, bachelor’s final-year engineering project

  • Fine-tuned Meta’s NLLB-200 (distilled, 600M parameters) with PyTorch on Google Colab, using gradient accumulation to work within limited GPU memory.
  • Built an asynchronous REST API with FastAPI and Uvicorn that handles model inference, tokenization and JSON translation mappings.
  • Worked with teammates to connect the Python backend to a React frontend for real-time translation.
  • Collected, tokenized and cleaned a custom parallel corpus of over 1,000 sentence pairs to deal with the scarcity of Newari data.
PyTorchTransformersFastAPIReactNLP
2026

Data science and predictive analytics workflow

Python data science project

  • Built end-to-end data pipelines covering data collection, cleaning, feature engineering and exploratory data analysis.
  • Trained and evaluated supervised machine learning models on complex datasets with Scikit-Learn.
PythonScikit-LearnPandasNumPy

More code on GitHub

Try it: how a model reads a sentence

Language models don’t read whole words. They cut text into small pieces called tokens. Type a sentence or pick a preset and see how many pieces it takes. The tokenizer below has a small English-leaning vocabulary, so Nepali and Nepal Bhasa fall apart into single characters. This is the problem I faced with a low-resource language.

Dashed pieces are not in the vocabulary, so they are split into single characters. This is a simplified demo, not the real NLLB-200 tokenizer, which is trained on far more text. Languages with less training text still tend to need more pieces per word.

Education

02/2022 – 03/2026

Bachelor of Computer Engineering (EQF Level 6)

Madan Bhandari College of Engineering, affiliated with Pokhara University, Urlabari, Nepal

  • Core computer science: data structures and algorithms, object-oriented programming (C++, Java, Python), databases, operating systems, theory of computation.
  • Hardware and architecture: microprocessors and assembly, computer architecture, embedded systems, logic circuits, computer networks.
  • AI and software engineering: artificial intelligence, image processing and pattern recognition, object-oriented software engineering, system analysis and design.

Skills

Languages
Python, JavaScript, C, C++, Java, SQL, HTML/CSS
Frameworks and ML
PyTorch, Scikit-Learn, Pandas, NumPy, NLLB-200, FastAPI, Uvicorn, React
Tools
Git, GitHub, GitLab, Docker, Linux, Anaconda, Google Colab, VS Code
Concepts
NLP, data pipelines, REST APIs, asynchronous programming (ASGI), software engineering
Spoken languages
English (C1 Advanced), Nepali (native)

Contact

Damak, Koshi Province, Nepal
Email: [email protected]
GitHub: github.com/sujankhatiwada4x
LinkedIn: linkedin.com/in/er-sujan-khatiwada

My CV

Sujan Khatiwada's CV, page 1
Download CV Click or tap the page to zoom