Final-year B.Tech CSE (AI/ML), GITAM University · Visakhapatnam, India
LinkedIn · ResearchGate · Portfolio · Email
I build tools that make AI/ML systems more reliable. Most AI demos are slick; most AI in production is messy — I like working in that gap, close enough to the real problem to build something that doesn't fall apart outside a notebook. Author of codehound, 29 PRs merged into AI, Python infrastructure, networking and IoT projects with a combined 400k+ stars.
|
Currently
|
At a glance |
🐕 codehound — github.com/kratos0718/codehound
An AST-based Python static analyzer — 104 checks, zero dependencies, CI on Python 3.9–3.12. Each check is distilled from a real bug found and fixed in a popular open-source project: fire-and-forget tasks that get garbage-collected mid-run, event-loop-blocking calls inside async functions, mutable default arguments, unclosed resources, and more. Several of the merged fixes below were surfaced by it. Try it on any GitHub repo or local folder at the playground — no install needed.
Real bug fixes across widely-used AI/ML and Python infrastructure repositories. One change shipped in a HuggingFace production release; one came from a founder's invitation to contribute (Future AGI).
|
unsloth 69k⭐ |
Blocking time.sleep (up to 30s) freezing the async event loop in the model-export route — found by codehound.#6135 · |
|
pydantic-ai 18k⭐ |
Shared mutable-default deque in process_tool_calls leaking one run's result into the next — found by codehound. Merged same day.#6189 · |
|
prowler 14k⭐ |
Azure Flexible Server check reading log-retention from the wrong config key, with a regression test. Merged by a maintainer. #11761 · |
|
agno 41k⭐ |
Blocking time.sleep / requests.get in async, plus a file-handle leak in transcribe_audio. Discord-handler bug found by codehound.#8158 · #8186 · #8161 · #8138 · |
|
mem0 62k⭐ |
Mutable default arguments (B006) in Completions.create and BaseEmbedderConfig, with a regression test.#5302 · |
|
HuggingFace hub · accelerate · peft |
Documented undocumented public-API parameters. The hub change shipped in release v1.17.0 — live on PyPI. hub #4289 · accelerate #4051 · peft #3271 · |
|
marimo 22k⭐ · YC |
Shipped a new public-API feature — a filter argument on mo.ui.file_browser().#9667 · |
|
Weaviate · Xorbits vector DB · inference |
Blocking time.sleep in async wait_for_weaviate — found by codehound, merged by a maintainer. Same bug class fixed at Xorbits.weaviate #2104 · xinference #5055 · |
|
Apache Maven build tooling, Java |
Four merges, all reviewed by @elharo. A test in the source plugin that asserted on the wrong path so it could never fail. A deprecated Maven 2 constant in the help plugin — the issue proposed replacing it with null, which would have emptied the metaversion and broken two-part coordinates, so the value stayed and the first tests for that method came with it. And a hash analyzer that computed and cached a jar's SHA-1 correctly but returned the stale null local instead of the new value, so every first-time lookup behaved as if the file couldn't be hashed. And the source plugin's aggregate goal, which silently did nothing on a non-POM project, now fails with a message naming the project and its packaging.maven-source-plugin #318 · maven-help-plugin #424 · maven-shared-jar #165 · maven-source-plugin #320 · |
|
Celery · kombu messaging for Celery |
The SQS transport cached queue URLs, boto3 clients and its no-ack set at class level, so every Connection in a process shared them. Two connections to different AWS accounts that both used a queue called orders ended up sending to and polling whichever URL was cached first. Verified against a local SQS emulator with an integration test.kombu #2676 · |
|
pydantic · black 29k⭐ · 42k⭐ |
A bare isinstance(...) statement in pydantic's decorator collection that checked the wrong variable and discarded its result, turned into a real invariant. And two grammar-file handles in black's blib2to3 converter that were opened and never closed — found by codehound.pydantic #13858 · black #5432 · |
|
scapy · pymodbus 12.6k⭐ · 2.8k⭐ |
In pymodbus, every device identity shared one class-level dict, so creating any identity changed what a running Modbus server reported. The maintainer merged it within the hour: "one that have been on my list for a long time". In scapy, a missing tcpreplay surfaced as an UnboundLocalError instead of scapy's own "is it installed?" message.pymodbus #3036 · scapy #5204 · |
|
redis-py 14k⭐ |
utils.pipeline() ran execute() after a bare yield, so an exception inside the with block skipped it. After a watch() that leaked a real pooled connection on every failure.redis-py #4345 · |
|
Mercari data pipeline, Java |
Two Avro timestamp bugs on the JDBC path — timestamp-micros truncated to milliseconds, and a millis-to-micros conversion that scaled the wrong way — both silently corrupting sub-second data.pipeline #119 · #122 · |
|
Snipe-IT PHP · asset mgmt |
--force did not suppress a PHP-version prompt in ldap:troubleshoot, so the command hung in Docker where no one could answer it — the guard present on two neighbouring confirmations was missing on the third.snipe-it #19514 · |
|
palinode memory store |
Two memories whose opening lines matched derived the same filename, and the second silently overwrote the first — no error, and a receipt indistinguishable from a fresh save. Fixing the collision exposed a second bug the maintainer caught in review: a memory pushed onto a suffixed path climbed to a new suffix on every re-save, because the scan skipped occupied files without checking what was in them. palinode #132 · |
29 PRs merged · 18 organizations · 400k+ combined stars — all reviewed and merged by core maintainers.
Currently under review:
Co-authored with Dr. Chandrakanta Mahanty (GITAM). (Full list on ResearchGate)
- Machine Learning-Based Student Performance Prediction: A Comparative Study Using Ensemble Methods and Explainable AI
14th International Conference on Intelligent Systems and Embedded Design (ISED 2026), NIT Warangal · Publisher: IEEE
- From Compression Ratios to Wall-Clock Gains: A Systems-Level Review of Lightweight Deep Learning Deployment on Edge Hardware
Lightweight Deep Learning for Efficient AI, edited volume · Publisher: Springer (Scopus) · first author
- Behavior-Driven Adaptive Learning Agents for Personalized Education — under review, IEEE
- HAPS: Hybrid AI Proctoring (dual-stream CNNs + YOLO) — preprint
Python · Java · PyTorch · TensorFlow · scikit-learn · OpenCV · LangChain · FastAPI · React/Node · PostgreSQL · Docker · Git





