AI Engineering
LoRA fine-tuning, RL environments, synthetic data, evaluation harnesses, model-backed APIs, and LLM integration into real products.
Hi, I am Harshith Pali — an AI engineer and full-stack developer. I build model-backed applications, backend APIs, and web products end-to-end, with a strong bias toward shipping real systems rather than prototypes that never leave a notebook.
If I can't ship it, I don't understand it. My best learning happens at the edges — where the model meets the API, where the frontend meets the user, where the idea meets a real deadline.
— Harshith, on how he worksI operate across the full stack of a modern AI product — model training and fine-tuning, backend APIs, cloud infrastructure, and frontend delivery. That breadth is deliberate: the hardest problems in applied AI live at the hand-offs between layers, and solving them requires someone who can hold the whole system in their head.
I pick problems that have real constraints — cost caps, safety requirements, latency budgets, distribution friction. Then I ship working versions and iterate against reality.
LoRA fine-tuning, RL environments, synthetic data, evaluation harnesses, model-backed APIs, and LLM integration into real products.
FastAPI, Django, Node, Docker, AWS (Lambda, DynamoDB, Bedrock, API Gateway). Production APIs designed for cost and reliability.
React, Next.js, Tailwind, vanilla JS. Responsive interfaces and admin dashboards that ship with the backend, not after it.
A GitHub Action, CLI, and pre-commit hook that lints Postgres migration SQL on every PR — catching the operations that actually break production: lock waits, table rewrites, and unsafe constraints. 33 safety rules + 6 opt-in style rules, parsed with a real Postgres parser (pglast / libpg_query).
A provenance-aware security proxy for agentic AI. It sits in front of an agent as an MCP (Model Context Protocol) server, so every tool call physically traverses it — and authorizes each one against the provenance of everything it derived from. An instruction that arrived inside retrieved web content can never drive a high-risk action, even when it slips past content filters.
A from-scratch, fully-offline pipeline for the NVIDIA Nemotron Model Reasoning Challenge. Deterministic Python solvers for each puzzle category — gravity, unit conversion, numerals, ciphers, bit manipulation, equations — infer the hidden rule, emit a step-by-step trace, and distill it into a LoRA adapter for Nemotron-3-Nano-30B.
\boxed{…} answer. The holdouts are bit manipulation (~76%, solved with DSL search + GF(2) affine synthesis) and equation, which composes a per-problem symbol substitution with a numeric rule from only a handful of examples.Probabilistic entity resolution across 40+ Karnataka government department databases. It assigns one Unified Business Identifier (UBID) per real business by linking records from KSPCB, BESCOM, Shop Establishment, Factories, and Labour systems — with no LLMs and a per-field audit trail on every match decision.
An AI-assisted routing system for city-scale traffic. Distributes vehicles across viable routes using road capacity, school-timing patterns, and vehicle-type priorities to prevent bottlenecks before they form.
A pre-incident cascade-failure detector for microservice architectures. Combines deterministic drift signals with Bedrock-powered root-cause hypotheses to flag problems before they propagate.
Identify the real user, the sharpest constraint, and the smallest useful version. Cut scope before writing code.
Design for the constraint — cost, latency, or safety. Choose the stack that matches the real problem, not the trendy one.
Build the full loop quickly: input, logic, state, output. One sprint to get the whole thing running, then prune ruthlessly.
Deploy it where real users can find it. Instrument, measure, then iterate against data rather than against vibes.
Most agent demos skip the part where a tool call has consequences. I'm building security and authorization layers that reason about where an instruction came from before letting an agent act — so prompt injection can't quietly drive a high-risk action.
LLM calls are the new cloud bill. I'm obsessed with patterns that keep AI systems affordable: deterministic pre-filtering, cache hierarchies, and knowing when not to call the model.
Coming out of the Nemotron work: for deterministic tasks, the win is generating provably-correct chain-of-thought with solvers and distilling that into a LoRA. Verified traces beat scraped ones — the model learns reasoning that's actually right.
Working through Russell & Norvig's AIMA alongside shipped projects. Every chapter gets tied back to a real build so the theory doesn't stay decorative.
This runs entirely in your browser — no API keys, no backend, no data leaving your device. It handles typos and loose phrasing, and picks from several phrasings each time so conversations feel human rather than canned.
Ask about any project in depth, the stack, hiring terms, achievements, or anything else on this site. If something isn't covered, it'll say so and point you to me.
I don't hand off at layer boundaries. Model, API, frontend, infra — I ship the full system. Teams hire two engineers for this; I do it in one seat.
I've shipped under a $120 cloud budget, 6-week hackathon deadlines, and safety-critical rollback requirements. I design for the constraint, not around it.
Top 300 globally in the AWS 10,000 AI Ideas Challenge wasn't for a prototype — it was for a deployable idea. I think in terms of what gets to users, not what looks clever in a notebook.
My strongest habit is shipping a working version inside the first sprint. Clean enough to review, documented enough to hand off, simple enough to debug at 2 AM.
Open to AI/ML internships, full-stack engineering roles, freelance builds, and collaborations. Response within 24 hours.
This is Harshith's status controller.
Enter the password to continue.