Overview
Technical skills
Projects
Timeline
Roles

Overview

A Python backend engineer (middle level) with practical experience building REST and real-time APIs and integrating LLM-based RAG pipelines. The strongest proven skill is building API-backed features with real-time updates, evidenced by the Django Channels consumer and the JavaScript WebSocket manager (TODO_App/todo/consumers.py and todo-frontend/src/services/websocketService.js). The public code shows limited production hardening around secrets, backoff strategies, structured observability, and formal API versioning or pagination schemes.
Phone

Technical skills

Languages
3
Python
Node JS
JavaScript
Python
9
Django
Requests
FastAPI
Django REST Framework
SQLAlchemy
Pydantic
Asyncio
Beautiful Soup
Uvicorn
AI/ML
10
LangChain
LangGraph
NumPy
Pandas
Scikit-learn
huggingface_hub
TF-Keras
BERT
Streamlit
NLTK
DevOps
5
Docker
Rest API
AWS
GitHub
Git
Other
16
PostgreSQL
Milvus
React.js
Matplotlib
Dotenv
Groq
Jupyter Notebook
Machine Learning
RAG
Classic ML
Embeddings
Prompt Engineering
Recommender Systems
Semantic Search
NLP
Semantic Search

Projects

Created a content-based movie recommendation system for Indian films using cosine similarity over multiple movie attributes. Engineered the recommendation logic with scikit-learn and delivered a Streamlit web app for interactive, real-time suggestions. Included movie insight display to help users understand why recommendations match their preferences.
Built an AI diet recommendation system with FastAPI using a RAG pipeline for personalized nutrition plans. Implemented retrieval and response generation with LangChain, vector embeddings, and LLM integration. Automated data ingestion via web scraping to keep recommendations up to date, and provided APIs for a React frontend to deliver real-time personalized results.

Timeline

Web Developer • Middle
Snakescript solutiions • Full-Time
May 2025 to Present 1 Year 5 Months
Python
Django
RAG
Software Developer • Middle
SnakeScript Solutions LLP • Full-Time
May 2025 to Present 1 Year 5 Months Mohali In office
Developed backend features for scalable web applications using Django REST APIs, authentication, and PostgreSQL with Django ORM. Integrated AI chat assistants into Django apps using LangChain and LangGraph with large language models. Built an AI-powered chatbot by implementing document ingestion and semantic retrieval workflows, using Milvus for knowledge-base search and Docker for containerized deployment.
Python
Django
Rest API
PostgreSQL
LangChain
LangGraph
Milvus
Docker
Chandigarh University (CU)
Master's Degree • Data Science
2023–2025 Chandigarh, India
Mangalore University
Bachelor's Degree • Mathematics
2020–2023 Mangaluru, Karnataka
Middle AI/ML Engineer Confidence: High ML Engineer
NLP-focused ML engineer at a middle experience level with a practical strength in building end-to-end sentiment analysis pipelines and fine-tuning pretrained language models. The strongest proven skill is an end-to-end Malayalam sentiment pipeline including TF-IDF and classical model experiments in Sentiment-analysis/ML.ipynb plus a BERT fine-tuning and serving pipeline shown in Sentiment-analysis/BERT_.ipynb and Sentiment-analysis/app.py. There is limited evidence of production-grade MLOps, experiment tracking, robustness testing, distributed training or novel research contributions.
Model Architecture & Training
4/10
How well models are designed and trained
Practical model training and fine-tuning skills demonstrated with a full BERT fine-tuning loop and classical ML training pipelines.
Evidence
Sentiment-analysis/BERT_.ipynb: training loop using BertForSequenceClassification, AdamW optimizer and get_linear_schedule_with_warmup
Sentiment-analysis/ML.ipynb: end-to-end training of multiple classifiers and GridSearchCV for hyperparameter tuning
Data Pipeline & Feature Engineering
3/10
How data is prepared for models
Basic but correct data preprocessing and feature engineering for NLP including TF-IDF with a Malayalam stopword list and tokenizer-based batching for BERT.
Evidence
Sentiment-analysis/ML.ipynb: TfidfVectorizer setup with custom Malayalam stopwords and TF-IDF transform/save
Sentiment-analysis/BERT_.ipynb: preprocess_data using BertTokenizer and TensorDataset/DataLoader creation
Experimentation & Evaluation
3/10
How results are measured and tested
Standard experimentation and evaluation workflows with train/test splits, cross validation, GridSearchCV, metrics and visualization but no experiment tracking or reproducible run management.
Evidence
Sentiment-analysis/ML.ipynb: GridSearchCV and cross-validation for multiple models and printed classification reports
DL_lab/Confusion Matrix/Confusion Matrix&RoC curve.ipynb: ROC curve and confusion matrix plotting
Sentiment-analysis/BERT_.ipynb: validation loop computing loss and accuracy and printing classification_report
MLOps & Deployment
3/10
How models are shipped to production
Basic deployment steps shown - model saving and a small Flask prediction app - but no CI/CD, versioning, monitoring or scalable serving.
Evidence
Sentiment-analysis/app.py: Flask app that loads joblib models and serves predictions with input language checking
Sentiment-analysis/BERT_.ipynb: model.save_pretrained and tokenizer.save_pretrained usage
Computational Efficiency
2/10
How efficiently computing resources are used
Minimal efficiency work; uses batching and device selection but no profiling, quantization, distillation or GPU-memory optimizations.
Evidence
Sentiment-analysis/BERT_.ipynb: DataLoader with batch_size=32 and device selection (cuda if available)
Sentiment-analysis/BERT_.ipynb: use of scheduler to control training steps
Research Depth & Innovation
1/10
Depth of research and new ideas
No original research or novel architectures; implementations are correct but follow standard recipes without methodological innovations.
Evidence
Sentiment-analysis/BERT_.ipynb: standard fine-tuning of BertForSequenceClassification without custom layers
DL_lab/* notebooks: classical algorithm demos (PCA, Decision Tree, KMeans) showing instructional implementations rather than research contributions
Expertise
LLM• Middle
MLOps & Model Lifecycle• Middle
Industries
Media & Entertainment• Middle
Technologies
PostgreSQL• since 2025
LangGraph• since 2025
LangChain• since 2025
Milvus• since 2025
Groq
Embeddings
Scikit-learn• since 2026
Prompt Engineering
NLP• since 2026
huggingface_hub
Pandas
NumPy
Git
AWS
Docker• since 2025
RAG
BERT
NLTK
TF-Keras
Streamlit
Semantic Search
GitHub• since 2026
Semantic Search
Recommender Systems
GitHub• mentioned only
Sentiment Analysis• mentioned only
Recommendations
  • Add experiment tracking and reproducibility (WandB or MLflow) and log hyperparameter runs and artifacts from the BERT training loop.
  • Containerize and CI/CD the Flask service and the model artifact pipeline, and add model versioning and a simple inference test harness.
  • Introduce lightweight inference optimizations such as batching, TorchScript/ONNX export or quantization and measure latency and memory to meet production constraints.
  • Add unit tests, type hints, and configuration management for dataset paths and hyperparameters to improve maintainability and reproducibility.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle Backend Developer Confidence: Medium API Engineer
A Python backend engineer (middle level) with practical experience building REST and real-time APIs and integrating LLM-based RAG pipelines. The strongest proven skill is building API-backed features with real-time updates, evidenced by the Django Channels consumer and the JavaScript WebSocket manager (TODO_App/todo/consumers.py and todo-frontend/src/services/websocketService.js). The public code shows limited production hardening around secrets, backoff strategies, structured observability, and formal API versioning or pagination schemes.
API Design
3/10
How well APIs are designed
Clear REST and FastAPI endpoints with JWT usage and basic error handling are present, but there is no evidence of versioning, idempotency keys, consistent pagination, or a formal error contract.
Evidence
TODO_App/todo/views.py: TodoViewSet and register_user use DRF viewsets and token issuance
TODO_App/todo_project/urls.py: JWT TokenObtainPairView/TokenRefreshView routing
Dietrix.AI/app/routes.py: FastAPI endpoint get_recommendations that invokes RAG chain
Data Layer & Database
3/10
Working with databases
There is a migration chain and database configuration with conn_max_age and health checks, showing schema evolution and some DB operational awareness, but no evidence of hand-tuned SQL, advanced transaction/isolation handling or N+1 elimination patterns.
Evidence
TODO_App/todo/migrations/0001_initial.py: initial schema migration
TODO_App/todo/migrations/0002_todo_description.py: follow-up migration adding a description field
TODO_App/todo_project/settings.py: DATABASES configured via dj_database_url with conn_max_age and conn_health_checks
Scalability & Performance
3/10
Handling load and speed
Scalability primitives are used - Redis channel layer for WebSocket, a persistent Chroma vector store and simple client-side reconnect throttling - but there is no documented cache invalidation, no queue-based decoupling for heavy ingestion, and limited evidence of measured load testing or sophisticated backoff/jitter strategies.
Evidence
TODO_App/todo_project/settings.py: CHANNEL_LAYERS configured to use channels_redis
TODO_App/todo-frontend/src/services/websocketService.js: reconnect logic, throttling, max attempts but no jitter/backoff policy
Dietrix.AI/app/rag_pipeline.py: Chroma vectorstore persistence and retriever config (k=10)
System Architecture
3/10
Overall system structure
Multiple coherent modules exist (Django REST + Channels, FastAPI RAG service, React frontends) indicating modular decomposition, but there is limited evidence of explicit inter-service contracts, reasoning about service boundaries, graceful degradation strategies, or configuration/secret management beyond.env checks.
Evidence
Dietrix.AI/app/main.py: FastAPI app and router import pattern
TODO_App/todo_project/asgi.py: ASGI application setup and channels routing
Dietrix.AI/app/routes.py: lazy-loading RAG chain and request parsing for the FastAPI service
Security & Auth
3/10
Protecting data and access
Authentication and input hygiene show awareness - JWT is validated in WebSocket consumers and password validators are enabled - but insecure defaults (CORS_ALLOW_ALL_ORIGINS True, SECRET_KEY fallback) and prompt-injection embedded in RAG prompts are present and reduce the security posture.
Evidence
TODO_App/todo/consumers.py: get_user_from_token uses rest_framework_simplejwt.AccessToken for WebSocket auth
TODO_App/todo_project/settings.py: SIMPLE_JWT and password validators configured, CORS_ALLOW_ALL_ORIGINS set to True
Dietrix.AI/app/routes.py: explicit LLM prompt construction embedded inside server code
Reliability & Observability
3/10
Stability and monitoring
There is basic observability and defensive coding - logging in consumers, Django LOGGING config, and try/except blocks across modules - but no structured correlation ids, metrics, traces, or robust retry/circuit-breaker patterns with reasoned timeouts are evident.
Evidence
TODO_App/todo/consumers.py: logger usage and try/except blocks around send/connect operations
TODO_App/todo_project/settings.py: LOGGING handler configuration to file
TODO_App/todo-frontend/src/services/websocketService.js: listener cleanup and reconnect scheduling
Expertise
Backend AI & LLM• Middle
Databases & Vector Storage• Middle
Messaging & Real-time• Middle
Microservices & API Architecture• Middle
Python• Middle
Industries
Artificial Intelligence• Middle
Health Care• Middle
Technologies
Python• since 2024 • Middle
Node JS• Middle
Rest API• since 2025
SQLAlchemy
FastAPI
Beautiful Soup
Django• since 2025
Asyncio
Pydantic
Uvicorn
Django REST Framework
Requests
Dotenv
Stack• mentioned only
Recommendations
  • Build and maintain REST and real-time API services that require JWT-based auth and WebSocket-driven updates, especially prototypes and MVPs.
  • Implement and extend RAG/LLM pipelines and ingestion workflows for domain-specific assistants, including vector store persistence and retrieval tuning.
  • Work on data ingestion and web-scraping modules that feed downstream ML systems, focusing on extraction, cleaning and document splitting.
  • Harden services for production: add secure secret management, structured tracing/metrics, robust retry/backoff with jitter, and formal API versioning and pagination.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Junior Data Scientist Confidence: Medium ML Practitioner
A junior ML practitioner focused on hands-on implementation of classical machine learning algorithms and educational experiments in Python. The strongest proven skill is building and visualizing basic ML workflows, evidenced by the Decision Tree notebook (DL_lab/Car_purchase(DT_Clf)/Car_purchase(DT_Clf).ipynb) which trains and plots a DecisionTreeClassifier and reports accuracy. There is little evidence of production engineering, deployed model pipelines, data engineering at scale, or rigorous statistical analysis in the public artifacts.
Statistical Rigor
2/10
Correct use of statistics
Basic use of classification metrics (confusion matrix, ROC/AUC) and an EM implementation are present, but there are no assumption checks, uncertainty quantification, hypothesis testing with proper controls, or discussion of statistical limitations.
Evidence
DL_lab/Confusion Matrix/Confusion Matrix&RoC curve.ipynb: ROC curve, AUC and ConfusionMatrixDisplay usage
DL_lab/PCA/PCA.ipynb: StandardScaler use and PCA visualization (no statistical assumption discussion)
Data Wrangling & Cleaning
2/10
Preparing and cleaning data
Minimal data wrangling is present (simple synthetic datasets, basic mapping and scaling). There is little to no evidence of robust cleaning, missing-value strategy, provenance tracking, or leakage prevention.
Evidence
DL_lab/Car_purchase(DT_Clf)/Car_purchase(DT_Clf).ipynb: mapping categorical 'Income' to numeric via df['Income'].map
DL_lab/PCA/PCA.ipynb: StandardScaler usage for preprocessing before PCA
Exploratory Analysis & Visualization
3/10
Exploring and visualizing data
Visualizations are used to illustrate results (PCA scatter, decision tree plot, ROC curve, confusion matrix) but most plots are presented without in-depth written interpretation or storytelling linking findings to concrete questions.
Evidence
DL_lab/PCA/PCA.ipynb: scatter plot of PC1 vs PC2 colored by target
DL_lab/Confusion Matrix/Confusion Matrix&RoC curve.ipynb: confusion matrix plot and ROC curve
DL_lab/Car_purchase(DT_Clf)/Car_purchase(DT_Clf).ipynb: plot_tree visualization of trained DecisionTreeClassifier
Predictive Modeling
3/10
Building models that predict
Several classical models and a from-scratch PCA/algorithm experimentation style are implemented (Decision Tree, Logistic Regression, PCA). However, evaluation practice is limited to single train/test splits and toy/synthetic data with no robust cross-validation, calibration analysis, error breakdowns or production-readiness.
Evidence
DL_lab/Car_purchase(DT_Clf)/Car_purchase(DT_Clf).ipynb: DecisionTreeClassifier training and prediction with train_test_split
DL_lab/Confusion Matrix/Confusion Matrix&RoC curve.ipynb: LogisticRegression model trained and evaluated with ROC/AUC
Business Insight & Impact
1/10
Turning analysis into business value
There is little evidence of business framing, cost-sensitive reasoning, or actionable recommendations; notebooks are educational and algorithm-focused rather than tied to concrete business metrics or impact.
Evidence
DL_lab/Car_purchase(DT_Clf)/Car_purchase(DT_Clf).ipynb: simple objective statement creating a synthetic purchase dataset (educational framing)
Reproducibility & Notebook Hygiene
2/10
Clean, repeatable analysis
Notebooks include some reproducibility hints (random_state, seeds) and metadata, but there is no pinned environment, dependency file, data versioning, pipeline/code modularization, or CI/test artifacts.
Evidence
DL_lab/Confusion Matrix/Confusion Matrix&RoC curve.ipynb: np.random.seed(0) and train_test_split(random_state=42)
DL_lab/Car_purchase(DT_Clf)/Car_purchase(DT_Clf).ipynb: train_test_split(random_state=42) and model.fit usage
Technologies
Classic ML
Jupyter Notebook
Matplotlib
Machine Learning• since 2026
Recommendations
  • Develop educational prototypes and algorithm implementations that teach classic ML concepts, especially small-scale from-scratch implementations in NumPy and scikit-learn.
  • Work on prototyping and evaluation of supervised models for small to medium datasets, focusing on improving validation (cross-validation, calibration) and error analysis.
  • Contribute to or build reproducible notebooks and lightweight pipelines (requirements.txt, notebook-to-module refactor, simple CI) to bridge from experimentation to production readiness.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories: