ML engineer who started out on Android.
I build and train models, then get them running in production.
I work as an R&D Machine Learning Engineer at Telaverge Communications. My job covers the whole life of a model. I pick the approach, build it, train it, tune it, and then get it running in production.
On the modelling side that has meant LSTMs with attention for log anomaly detection, VAEs and graph autoencoders for representation learning, DQN agents with prioritized replay, CNNs for vision, and gradient boosting or Isolation Forest when the data is tabular. On the LLM side I build RAG systems, serve open models on vLLM and wire up agent workflows.
Before ML I spent over a year building Android apps at Cre Innovations. Style transfer, face swap and photo editing, all of it running on the phone GPU through OpenGL ES, the NDK and FFmpeg. That job taught me to think about memory and latency first, and I still build ML systems that way.
I also like writing things from scratch to see how they work inside. So far that list has a transformer, Stable Diffusion and a DQN agent that learned to race.
- Classical ML. Isolation Forest, decision trees and ensembles for anomaly detection. XGBoost, LightGBM and CatBoost for tabular problems, with Optuna and Hyperopt for tuning. A lot of feature engineering on time-series logs using statistical measures, n-grams and temporal patterns.
- Deep learning. CNNs with transfer learning from ResNet and EfficientNet. LSTMs with attention for sequence tasks and forecasting. VAEs for latent space interpolation and graph autoencoders for unsupervised representation learning. Transformers built from the ground up with RoPE, SwiGLU and RMSNorm.
- Reinforcement learning. DQN, Double DQN and Dueling DQN with prioritized experience replay, target networks and curriculum learning.
- Generative models. Stable Diffusion written from its parts (CLIP, U-Net, VAE). LoRA fine-tuning of Flux Kontext for controlled image generation.
- LLM applications. RAG with hybrid retrieval using BM25 and dense embeddings. Getting recall up was the easy part. Most of the effort went into re-ranking and context compression so the model stops making things up. Multi-agent workflows in LangGraph with tool calling and conditional routing.
- Serving and MLOps. Llama 3.2, Qwen 2.5 Coder and LLaVA 1.6 behind OpenAI compatible APIs on vLLM. ONNX export, Docker, model versioning, A/B tests and CI/CD rollouts. Runs tracked in Weights & Biases and MLflow.
- On-device graphics. OpenGL ES pipelines, GLSL shaders and NDK code for image processing that has to hold 60 FPS.
| Project | What it does | Built with |
|---|---|---|
| DQN Racing Agent | A Dueling Double DQN that learns to drive seven tracks using 15 ray-cast sensors. I wrote the physics simulation myself. It gets past 85% track completion with no expert demonstrations. | PyTorch, PyGame |
| HelpSteer Transformer | A 60M parameter transformer with RoPE, SwiGLU and RMSNorm. Learned embeddings give control over five response attributes. Runs at 4,200 tokens per second. | PyTorch |
| Stable Diffusion from scratch | The CLIP text encoder, U-Net and VAE decoder written by hand instead of pulled from a library. Mixed precision and attention slicing cut VRAM use by about half. | PyTorch, Gradio |
| Face Mesh Retouch | Real-time face retouching on Android with MediaPipe landmarks and custom GLSL shaders. The C++ render path runs about 3x faster than the Java one. | OpenGL ES 3.0, NDK |
| Log Anomaly Detection | Isolation Forest over server logs with real-time alerts. It brought mean time to detection down by around 60% in production. | scikit-learn, MLflow |
| Sentiment Analysis | Scores comments with VADER and a RoBERTa model and sends an email alert when the sentiment shifts. Served through a Django REST API. | NLTK, Transformers, Django |
| Skin Cancer Classifier | A multi-class classifier trained on a small dermatology dataset. Transfer learning from ResNet and EfficientNet, weighted loss for class imbalance, and attention maps so the predictions can be checked. | PyTorch |
Some of my earlier Android work is here too. Firebase Firestore CRUD with auth and notifications, Retrofit with SQLite and Gson and an anime web scraper.
Languages
Machine learning
LLMs
Deployment
Android
- R&D Machine Learning Engineer at Telaverge Communications, 2024 to now
- Software Engineer Intern at Telaverge Communications, 2023 to 2024
- Android Developer at Cre Innovations, 2022 to 2023
- B.Tech in Computer Science and Engineering from MAKAUT, 2024
Email is the fastest way to reach me. I am always up for a conversation about LLM serving, retrieval that does not hallucinate, or squeezing image processing onto a phone.