Ssharan
menu · 6 sections
say hi
reddysharankumar@gmail.com
bengaluru·utc +5:30
open to chatslast commit
· bengaluru

Sharan Kumar Reddy

Software engineer at Indpro. TypeScript on the front, Python where AI lives, a portfolio of Swedish products in production.

a year of shipping, in green
0contributions · 12 months
Aug
Sep
Oct
Nov
Dec
Jan
Feb
Mar
Apr
May
Jun
Jul
5164 contributions over the last 369 days.
0+
active repos · last 30 d
0+
PRs merged · last 30 d
daily
commit cadence
active rotationby recent commit volume
  • byggmax-rma84
  • openwrist9
  • portfolio-v22
  • AI-dev-skills2
  • agridirect2
  • GreenNest1
latest commitswhat i was on this week
  1. portfolio-v2 · 1m agoMerge pull request #1 from sharankumarreddyk/portfolio-jul2026-update
  2. portfolio-v2 · 2m agofeat: update portfolio — SE role, drop Jahopp/SISP, add openwrist & cluster-canary
  3. Copenwrist · 21m agoPrepare as open-source project: CI, CONTRIBUTING/COC/SECURITY, issue+PR templates; neutralize personal docs
  4. byggmax-rma · 5h agofeat(customer): i18n the last hardcoded wizard strings (#689) (#793)
  5. byggmax-rma · 6h agofeat(customer): migrate flooring form to i18n keys + SV review (#689) (#792)
01case studies

Three real systems I built — problem, approach, what shipped.

01 / 03open source·2026public

Predicting Kubernetes failures before they page you

ML system that predicts OOMKill and CrashLoopBackOff up to 30 minutes ahead — calibrated failure probabilities with SHAP explanations, served as an in-cluster gRPC sidecar.

The hard part isn't the model. It's proving the features don't leak the future.

ahead of failure
30m
p95 inference
<50ms
top-3 features
SHAP
Problem

Kubernetes tells you a pod is failing only once it already has. By the time OOMKill or CrashLoopBackOff fires, the incident is live and the on-call engineer is reacting, not preventing. The signal to see it coming is in the metrics — memory pressure trends, restart cadence, request-latency drift — but nobody's watching it early enough.

Approach

Built a forecasting pipeline on pod-level Prometheus metrics: LightGBM for the core classifier, PyTorch for sequence features, Optuna for tuning, SHAP for per-prediction explanations. Strict leakage detection and Great Expectations data checks keep the training set honest. Serving is a BentoML gRPC sidecar tuned for p95 < 50ms, with Evidently drift detection triggering champion/challenger retrains through Prefect. Validated on chaos-mesh synthetic traces and real Alibaba 2018 production data.

Tradeoff

A 30-minute horizon trades lead time for confidence — predict too early and precision collapses into alert fatigue; too late and there's no time to act. The decision threshold is the real knob: it's calibrated per-cluster, not hardcoded.

result

Open source, public on GitHub. Emits calibrated failure probability with the top-3 contributing features, routes to PagerDuty / kubeai-ops for automated response, and retrains itself on drift. Phases 1–5 (data pipeline, features, modeling, serving) code-complete.

try it · live

Drag the alert threshold. See which pods we page on — and which failures we’d miss.

0.60
alert threshold
noisy · 0.0quiet · 1.0
0.14OK
0.33OK
0.52OK
0.64PAGE
0.78PAGE
0.91PAGE
3 / 6 pods paged at threshold 0.60
calibrated production threshold
  • Python
  • LightGBM
  • PyTorch
  • BentoML · gRPC
  • Prefect
  • Prometheus
  • Kubernetes
Open repo
failure forecast · prod-eu-west
OOMKill predicted · ~18m
p95 42ms
payment-svc-7d4f
0.91~18m
checkout-api-9b2
0.63~26m
search-idx-3ac1
0.28
auth-gw-5e8d
0.11
top-3 SHAP features · payment-svc
mem_working_set / limit
restart_count Δ5m
req_latency_p99 drift
[predict] payment-svc · p=0.91 OOMKill · horizon 18m
[serve] bentoml gRPC · p95 42ms
[route] pagerduty + kubeai-ops
02 / 03open source·2026public

An open-source smartwatch that speaks iPhone natively

ESP32-S3 smartwatch that pairs to an iPhone over BLE using Apple's own ANCS/CTS/AMS services — notifications, calls, time, and music with no App Store app and no paid developer account.

Turns out iOS will talk to you for free — if you speak its native BLE dialect.

native ANCS/CTS/AMS
BLE
no App Store app
iOS
open source
MIT
Problem

Every hobbyist smartwatch that wants iPhone notifications hits the same wall: Apple's App Store gate and a $99/year developer account just to ship a companion app. Most projects give up and target Android, or fake it with a flaky always-on connection.

Approach

Skipped the App Store entirely by speaking Apple's native BLE services — ANCS for notifications and caller ID, CTS for time sync, AMS for music control. Firmware is ESP-IDF + ESP-Brookesia + LVGL in C on an ESP32-S3 with touch display, IMU, and BLE. A SwiftUI companion app (CoreBluetooth + HealthKit) layers on step sync, weather, and over-the-air firmware updates — plus TOTP, sleep tracking, and gesture controls.

Tradeoff

Native BLE services mean zero App Store friction but hard limits — you get exactly the data Apple exposes, no more. The companion app fills the gaps, but the core watch stays useful even with nothing installed.

result

Open source (MIT), public on GitHub. Core BLE protocol and portable firmware tested; companion app functional. On-device hardware bring-up pending physical board availability.

  • C
  • ESP-IDF
  • LVGL
  • SwiftUI
  • CoreBluetooth
  • HealthKit
  • BLE
Open repo
BLE87%
9:41
Wed · 20 Aug
Messages
Mom · Call me when free
👣 6,204
iPhone · native BLE
ANCSpaired
notifications + caller ID
CTSpaired
current time sync
AMSpaired
music control
no App Store app · ESP32-S3
03 / 03open source·2026public

AI incident response for Kubernetes

Detects K8s issues, runs multi-LLM root-cause analysis, auto-remediates. ChatOps, PagerDuty, RBAC, real-time dashboard.

Started as a weekend rabbit hole. Now I run it on my own cluster.

public repo
OSS
GPT · Anthropic · Ollama
Multi-LLM
auto-remediation
K8s-native
Problem

Kubernetes incident response is a human-bottleneck job: when a CrashLoopBackOff fires at 3am, the on-call engineer is running through the same root-cause checklist they ran last week. The LLM cost of just asking 'why is this pod failing?' is < $0.01.

Approach

Built a detection + analysis loop that hooks into cluster events, runs root-cause against multiple LLM providers (GPT, Anthropic, local Ollama for air-gapped clusters), and either auto-remediates known patterns or routes to ChatOps (Slack / Discord / Teams). RBAC-gated auto-remediation, with PagerDuty + Jira integrations and an ML-based pattern-learning layer.

Tradeoff

LLM cost vs human time saved is non-obvious for low-volume clusters. Ollama path means air-gapped operation but lower analysis quality — explicit tier selection per environment.

result

Open source, public on GitHub. Python core + Svelte/TypeScript dashboard + Terraform for cluster install. Designed to plug into existing observability stacks rather than replace them.

  • Python
  • Svelte
  • TypeScript
  • Terraform
  • Kubernetes
  • Multi-LLM
Open repo
cluster · prod-eu-west
CrashLoopBackOff · payment-svc
P1 · firing 4m
root cause · multi-llm consensus
2/3 agree

OOM after 3rd pod restart. Memory limit 256Mi too tight for request payload p99. Suggested fix: raise limit to 512Mi + investigate unbounded JSON in /webhooks.

GPT-4o
matched
Anthropic
matched
Llama 3
different
[detect] CrashLoopBackOff payment-svc · ns=prod · 4m
[analyze] 3 LLMs · 1.8s consensus
[remediate] memory limit 256Mi → 512Mi · rollout/patch
03skills

The toolkit I reach for.

The actual tools in current rotation. Not a checklist of everything I’ve touched — just what my hands are on this week. Sized by where I spend most of my time.

daily drivers
WebTypeScript · Next.js
AIPython · OpenAI · Qdrant
DataPostgreSQL · Supabase
ShipDocker · AWS · Vercel
01

Frontend

where my hands live

09
tools
  • TypeScript
  • React
  • Next.js
  • Svelte / SvelteKit
  • Angular
  • Ionic
  • Tailwind CSS
  • GSAP
  • Framer Motion
02

Backend

the part that can't lie

08
tools
  • Node.js
  • Express
  • NestJS
  • Python
  • FastAPI
  • Django
  • Directus
  • REST · GraphQL
03

AI & Data

the magic and the bugs

08
tools
  • OpenAI
  • Anthropic
  • Ollama
  • Semantic Kernel
  • RAG pipelines
  • Qdrant (vector DB)
  • OCR (Tesseract / PaddleOCR)
  • Embeddings
04

Data & Storage

Postgres if I can, always

05
tools
  • PostgreSQL
  • Supabase
  • MongoDB
  • Qdrant
  • SQL & migrations
05

DevOps & Cloud

code to prod, no drama

09
tools
  • Docker
  • Kubernetes
  • AWS
  • Linode
  • Vercel
  • Terraform
  • GitHub Actions
  • Sentry
  • Playwright
04experience

A short story, written in commits.

From a commerce-foundation kid to a full-stack engineer shipping production code every day. The arc, briefly.

1y 10m
in industry
Oct 2024 — Present
Bengaluru · for the Stockholm HQ

Software Engineer

Indpro
role progression
  1. Oct '24 — Nov '24
    Full Stack Developer
    Intern
  2. Dec '24 — Feb '25
    Junior Software Developer
    Intern
  3. Mar '25 — Jun '25
    Junior Software Engineer
    Contract
  4. Jul '25 — Jun '26
    Junior Software Engineer
    Full-time
  5. Jul '26 — Present
    Software Engineer
    Full-time
  • SWAT lead since Dec 2025 — running rapid-response engineering across the Indpro portfolio: cross-product firefighting, complex initiatives, escalations.
  • Ship across a multi-product portfolio: AI learning platform, startup-ecosystem analytics, e-commerce returns, sustainability APIs.
  • Full-stack delivery in TypeScript + Python — React / Next.js / Svelte on the front, Node / FastAPI on the back, Postgres / Qdrant underneath.
  • Own features end-to-end: design, backend, frontend, data, deploy — across 7+ repos in active rotation.
50+
PRs merged / month
2022 — 2025
Bengaluru

BCA — Bachelor of Computer Applications

MS Ramaiah College of Arts, Science and Commerce
  • Foundations in algorithms, OS, networks, databases, and software engineering.
  • Self-directed deep dives into modern web, AI and infra outside the curriculum.
3 yrs
self-taught the modern stack
2020 — 2022
Pre-degree

MEC & CMA Foundation

Master Minds
  • Commerce & finance foundation before pivoting to software.
2022
pivot: commerce → code
principles · how I work

Five rules I’ve earned by shipping the wrong thing first.

i

I'll ship Postgres + a boring web framework before I learn the new thing.

ii

I'd rather merge a v1 today than design v2 for six weeks.

iii

The first commit teaches you what the right commit was.

iv

If the data layer is wrong, no frontend polish will save the product.

v

Comment the why, not the what. The code already shows the what.

05about
SKR

I came to software a little late. Commerce kid first — pivoted to code somewhere between Master Minds and MS Ramaiah, taught myself the rest in the gaps between classes.

Now I work at Indpro — a Swedish product company with a Bangalore office. Day to day, I’m in TypeScript (web), Python (AI services), and SQL (everywhere it leaks). I like writing the unglamorous code that makes the demo possible.

On weekends I build small things to learn — most recently kubeai-ops, an open-source incident-response loop for Kubernetes that started as a weekend rabbit hole.

Not job-hunting right now — but always curious about hard product problems and the people building them.

2024
shipping at indpro since
8:35pm
latest commit
BLR
utc +5:30
06contact

want to chat?

Let’s talk

based in

Bengaluru, India

UTC +5:30

open to

Product engineering roles

Senior / full-stack / AI

Remote · Hybrid

Email copied — reddysharankumar@gmail.com