Harshal Palande — AI, Machine Learning and Data Science

Illustrated portrait of Harshal Palande

Portfolio, 2026

Developer working across AI, machine learning and data science.

See my work

AI / ML / Data Science

fig. 01 — now in colour

Scroll

01 About

Harshal Palande at the Lotus Temple, New Delhi
fig.1 — the human in the loop

Hello, I'm Harshal.

I learn by building. I make something, see where it breaks, and build it again.

studying
B.Tech in AI and Data Science, graduating 2027
last role
Junior Developer at Atlee, 2024–25
reading
AI alignment and interpretability research
self-attention / hover any wordtap any word softmax(QKT/√d)·V

02 Projects

Things I've built

Hover a title to preview. Click to open.Tap a title to open.

Overview

Find every record in two noisy sources (10 million records) that belongs to each of 1.7 million businesses, across the US, India and France, a country the model never saw in training. Team Legacy finished 526th of about 8,500 teams with a final score of 0.985.

What it does

  • Cuts each search to about 5 candidates and keeps 99.2% of true matches
  • Scores pairs with a fine-tuned multilingual cross-encoder and LightGBM
  • Built over 20 measured versions, each checked on an untouched holdout

Built with

  • Python
  • LightGBM
  • Transformers
  • PyTorch
  • pandas
  • RapidFuzz
Problems we faced
  1. A country with no training data. France only appeared in the test set. Name features built from word classes let patterns learned on US and Indian names carry over.
  2. Look-alike businesses. Sister companies at the same address, differing by one word or a neighbouring house number, had to be told apart from true copies.
  3. Records with no address. Many shared a name with several businesses, so picking the right owner needed name-frequency features.
  4. Compute. The full pipeline needs a GPU and about 250 GB of RAM. One version was lost with its cloud machine before it could be submitted.

Overview

For each disputed payment, FairCall decides whether contesting it is worth the money, and hands everything else to a person with the reasoning attached. On 3,000 synthetic disputes it handled 56% automatically and saved ₹311,973 compared with contesting everything.

What it does

  • Predicts the chance of winning with a calibrated XGBoost model
  • Finds the one missing document that would raise that chance most
  • Auto-contests only when expected value favours it, under a hard money limit
  • Logs every decision to a hash-chained audit log

Built with

  • Python
  • XGBoost
  • Isotonic calibration
  • Streamlit
  • LLM (human-gated)
Problems I faced
  1. No real dispute outcomes. Rather than pass off proxy labels as ground truth, I generated a seeded synthetic dataset and published exactly how it was made.
  2. Choosing what to optimise. Accuracy was the wrong target. The system optimises expected rupees saved, and says so.
  3. Keeping the LLM out of money decisions. Drafting evidence letters is a separate, human-gated prototype that never touches the decision path.

Overview

Bharatanatyam students practise at home with no teacher to correct them. The app watches a practice video, scores position, beats and coordination out of 5, shows the moments to fix, and writes feedback the way a kind teacher would.

What it does

  • Tracks 33 body keypoints per frame with MediaPipe
  • Checks joint angles against the syllabus with a ±10° human tolerance
  • Refuses to score a video that doesn't match the selected class
  • Claude turns the scores into teacher-style feedback and home drills

Built with

  • Python
  • FastAPI
  • MediaPipe
  • OpenCV
  • Claude API
  • Firestore
Problems I faced
  1. Being fair to real dancers. Small angle differences are normal, so anything within ±10° of the target counts as correct.
  2. Wrong or unclear videos. A content check stops it scoring a different step, and the position mark is left blank when the body isn't fully visible.
  3. Keeping the LLM honest. Marks come from measured angles. Claude only explains them, so it can't invent a score.

Overview

Paste a news link. TruthLens reads the article and breaks down its bias, tone and facts through the lens you pick.

What it does

  • Breaks down bias, tone and facts
  • Three lenses: Professor, Detective or Neutral
  • Works from a single pasted link

Built with

  • Python
  • Transformers
  • Zero-shot classification
  • Summarisation
  • newspaper3k
Problems I faced
  1. Large model dependencies. Loading several heavy Transformer models caused memory issues and slow inference locally.
  2. Article extraction failures. Some sites blocked newspaper3k or returned incomplete content, so I needed solid error handling.
  3. Bias detection challenges. Zero-shot classifiers can return misleading labels when the context is vague or the article is short.
  4. Summary quality. Summaries needed tuning to avoid generic or incomplete sentences.

03 Stack

What I work with

Machine learning

  • Python
  • scikit-learn
  • XGBoost
  • LightGBM
  • PyTorch
  • Hugging Face Transformers
  • MediaPipe
  • OpenCV
  • Claude API
  • OpenAI API

Apps & deployment

  • FastAPI
  • Flask
  • Streamlit
  • Gradio
  • Docker
  • Firestore
  • MongoDB
  • React
  • JavaScript
  • HTML & CSS

Data & tools

  • SQL
  • pandas
  • Power BI
  • Tableau
  • Git
  • Figma
  • VS Code

04 Experience

Feb 2024 — Mar 2025

Atlee

Junior Developer · Data Science & ML

atlee.one ↗

I worked on Atlee's dance class mobile app. It helps people find, schedule and join dance sessions.

  • 01
    Data pipelines. Built Python services and data pipelines for the app, which has 500+ monthly active users.
  • 02
    SQL and reports. Wrote the SQL behind participation tracking and recommendations, and the reports the team used to plan class schedules.
  • 03
    Debugging. Traced data issues back to the pipeline step that caused them, and fixed the cause, not just the output.
  • 04
    Shipping features. Turned product requirements into working features, agreeing on scope with the team before building.
Atlee app shown on a laptop

05 Writing

Notes & experiments

All posts →