I build AI systems
and keep them running
AI Engineer at KRISHAI Technologies. I build production grade AI products end to end: the application, the AI systems inside it, and the infrastructure that keeps them running. On krishnaik.in and career.krishnaik.in that means the hackathon platform, the AI resume builder and the recommendation engine.

Systems in production

Two platforms in production. I build the AI systems running on them: the hackathon platform, the resume builder and the recommendation engine, along with the infrastructure they are deployed on. The main site carries the courses, projects and live classes.
Hackathon platform
I built the whole thing, from problem statements and registration to submissions, leaderboards and the scoring behind them. Participants push their project to their own GitHub repository. An automated stage runs each submission against a hidden test suite and records what passes. Everything that clears it goes into an automated AI pipeline that works through every repository in full, checks the code against the rubric, scores each criterion and logs every step. The scores rank the field, then our team reviews the top submissions by hand. Every call in that pipeline runs through the LLM service layer I built, so each request is logged, guarded and costed, and reroutes to another model if one fails mid review.
AI resume builder
Tailors a resume to a specific job description, scores it for ATS readability, shows which keywords are missing against the posting, and imports an existing LinkedIn PDF as a starting point. It runs on the same LLM service layer, which keeps every generation logged, guarded and recoverable when a model goes down.
Content recommendation
Retrieval over the catalogue with embeddings and a vector database, so learners get the courses, live classes and projects that fit what they need rather than a keyword match.
Infrastructure
Docker images on ECS, RDS for data, S3 behind CloudFront for delivery, EC2 where a service needs a plain host. I handle the deploys and whatever breaks after them.
englishexpress.ai
A conversational English learning platform. Learners practise by speaking with a voice agent on a daily topic and get a written summary afterwards. The daily practice runs through WhatsApp, with quizzes, grammar and vocabulary exercises delivered and answered in the chat, plus leaderboards on top.
Next.js and Django, with Wati for WhatsApp, Agora for real time audio, OpenAI for the language layer and PostHog for analytics. Most of the work went into keeping the daily sessions reliable across three external services at once.
Machine learning and deep learning
Two competition projects from the IIT Madras diploma, both scored on a held out leaderboard. I started with a simple baseline, then tried every model on the same split so the scores could be compared.
Cinema audience forecasting
Predict daily audience counts per theatre. Seven source tables (two ticketing systems, theatre master data, an id mapping between them and a calendar) merged into one daily frame. Cyclical encoding for weekday and month, per theatre dispersion statistics, and booking volume pulled together across both platforms.
XGBoost
gradient boosting
13.73
LightGBM · Tweedie
count objective · submitted
13.86
Random Forest
bagging
14.00
Ridge
linear
16.02
XGBoost was slightly ahead on validation, but LightGBM with a Tweedie objective scored higher on the leaderboard, 0.33 against 0.30, so that is the one I submitted. Audience counts are non negative, right skewed and clustered low, which is the shape Tweedie is built for. The validation split flattered a model the test distribution did not.
Smart MCQ solver
Rank the three most likely answers for five option multiple choice questions, scored by mean average precision at 3. I tried four approaches on the same split.
Qwen2.5-3B + LoRA
fine-tuned · submitted
0.75
Word2Vec + MLP
trained from scratch
0.66
Sentence-BERT + cosine
pretrained embeddings
0.38
TF-IDF + cosine
baseline
0.35
Both similarity approaches scored close to guessing, and I found out why. The correct option is not the one closest in meaning to the question. A well written wrong answer usually is.
The fine tune reads answers straight from the logits instead of generating text. One forward pass, take the next token scores at the five letter token ids, sort them. No decoding, nothing malformed to parse, and the ranked top three falls out of the ordering. LoRA at r=16 on the attention projections, 7.4M trainable parameters out of 3.09B, with the loss masked to the answer token.
Custom systems,
owned end to end
I write the core myself
I use a framework when it genuinely saves time, but the routing, tool calls, retries, validation and state are mine. When something breaks at 2am, I want to be reading my own code.
I keep agents on a short leash
Every agent gets a clear list of what it can touch. I validate the output before it moves anywhere, and I decide up front what happens when a call fails or comes back unusable.
I stay on what I ship
I do not hand something over the moment it works. It is done when it is deployed, when I can see what it is doing, and when it costs little enough to leave running.
What I work with
Agentic AI systems, conversational AI, custom voice agents, LLM gateway and model routing, guardrails, retries and fallbacks, request logging and cost analytics
PyTorch, Hugging Face Transformers, PEFT and LoRA fine-tuning, scikit-learn, XGBoost, LightGBM, pandas, NumPy
AWS ECS, EC2, RDS, S3, CloudFront, Docker, GitHub Actions, deployment pipelines
RAG pipelines, embeddings, Pinecone and vector search, PostgreSQL, Redis
Django, Django REST Framework, Flask, REST APIs
Next.js, React, Tailwind, SEO
Wati, Agora, PostHog, payment gateways, email delivery
BS Data Science and Programming, IIT Madras
In progress. Diploma in Data Science and Diploma in Programming are both done, and the two projects above were built during them. Statistics, classical machine learning and deep learning came from the coursework. Retrieval systems, agent design and fine tuning came from the work.


