Skip to content
View kuntal1461's full-sized avatar

Block or report kuntal1461

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
kuntal1461/README.md

header

Typing SVG

Backend & AI Engineer · Java / Spring Boot · Open-Source Contributor


About

I'm a backend software engineer at Tata Business Hub (formerly Tata Nexarc), based in Kolkata. I work primarily in Java and Spring Boot, with regular forays into Go, Kotlin, and Python.

Beyond my day job, I build open-source tooling, hunt real bugs in production libraries, and contribute fixes to the Spring AI, OpenAPI/Swagger, and Go backend ecosystems. I created HavocFlow — an annotation-driven chaos engineering starter for Spring Boot — published to Maven Central.


Open-Source Impact

Merged PRs Library Releases Tests Written Repos Contributed

All numbers above are directly traceable to public GitHub commit history, pull-request merge records, and release tags.

Area What I do
Bug fixes Trace root causes in library internals — deserialization edge cases, broken annotation processing, nil-channel races
Security Identified and fixed CVE-2026-22733 (CVSS 8.2) in HavocFlow dependency tree; ThreadLocalRandom hardening; ReDoS fix
Tests Added 206 tests to chaos-spring-boot-starter; contributed test-coverage and readability improvements to Spring AI
Features Maven BOM module for swagger-core; NORCET exam platform; WebFlux / Kafka / OTel / Gateway integrations in HavocFlow
Code quality SonarQube compliance fixes across multiple libraries (S106, S1148, naming, assertion clarity)
Libraries supported swagger-core ⭐ 7.5k · Spring AI ⭐ 9k · OpenAI Java ⭐ 1.5k · RudderStack ⭐ 4.5k

Open-Source Contributions

Merged

Project Contribution Link
swagger-api/swagger-core ⭐ 7.5k Introduced a Maven BOM module (swagger-bom/pom.xml) so consumers can manage all io.swagger.core.v3 artifacts without specifying versions; includes integration tests and Sonatype Central publishing profile PR #4987
swagger-api/swagger-core Fixed validation meta-annotations not being processed@Valid and constraint annotations on method parameters were silently dropped during schema resolution PR #4986
swagger-api/swagger-core Removed System.out / printStackTrace across the codebase to align with SonarQube rules S106 and S1148 PR #4988
spring-projects/spring-ai ⭐ 9k Improved test readability in OpenAiChatModelMutateTests — Sonar naming, assertion clarity, minor duplication removed; commit accepted into main Commit
spring-ai-community/spring-ai-session Fixed AWS Bedrock Converse ValidationExceptionSessionMemoryAdvisor was storing empty AssistantMessage frames (emitted at end of tool-call sequences), which Bedrock rejected on replay; PR cherry-picked into main PR #19

Under Review

Project Contribution
openai/openai-java ⭐ 1.5k Fixed OrganizationCostsResult.Amount.value() throwing OpenAIInvalidDataException — live API returns numbers as quoted JSON strings (e.g. "0E-6176"); added a type-coercing deserializer
spring-projects/spring-ai ⭐ 9k Fixed two independent null/empty ToolContext validation bugs in MethodToolCallback and ToolCallingManager
spring-projects/spring-ai Fixed FactCheckingEvaluator and RelevancyEvaluator hardcoding feedback to empty string and discarding the raw LLM response
rudderlabs/rudder-server ⭐ 4.5k Fixed file descriptor leak in Handle.upload()outputFile opened via os.Open was never closed on either the success or error path
rudderlabs/rudder-server Prevented nil-channel send DoS in RequestHandler — a nil channel send blocked an HTTP worker goroutine indefinitely
swagger-api/swagger-core Added Java 8 java.time.* format support per the OpenAPI Formats Registry
swagger-api/swagger-core Allow @ExampleObject values to be loaded from a classpath or filesystem file

Created Projects

Annotation-driven chaos engineering library for Spring Boot — authored entirely from scratch, published to Maven Central.

What it does: Drop @InjectChaos on any Spring bean method to inject latency, exceptions, or connection exhaustion under configurable failure rates — without touching production code. Designed for resilience testing in CI and staging environments.

Technical highlights:

  • @InjectChaos / @SuppressChaos AOP annotations — method-level chaos with scenario inheritance and inline overrides
  • WebFlux supportChaosWebFilter for non-blocking HTTP fault injection via Mono.delay(); suppressed automatically when Spring Cloud Gateway is present to avoid double-injection
  • Ramp-up calculator — linear failureRate interpolation over a configurable time window for gradual load testing
  • Ecosystem integrations — Spring Kafka listener chaos · OpenTelemetry span events · Slack/webhook notifications · Spring Cloud Gateway reactive filter · Testcontainers lifecycle hooks
  • Security hardening — fixed CVE-2026-22733 (CVSS 8.2, CloudFoundry Actuator auth bypass in dependency); HashMap → ConcurrentHashMap for thread safety; Random → ThreadLocalRandom; ReDoS fix in antMatch(); volatile flag for JVM visibility; overflow guard in LatencyParser
  • 206 tests, 0 failures — full unit and integration coverage across all strategies and integrations
  • Java 8+ · Spring Boot 2.x and 3.x compatible · Published to Maven Central at io.github.havocflow:chaos-spring-boot-starter
  • 5 releases: v01.01.00v01.04.01
<dependency>
  <groupId>io.github.havocflow</groupId>
  <artifactId>chaos-spring-boot-starter</artifactId>
  <version>01.04.01</version>
</dependency>

norcetIQ (private)

Full-stack exam-preparation platform for NORCET. Go backend serves a dynamically configurable set of 12 tools across 6 NORCET exam versions via a /api/v1/norcetIq/toolsConfig REST endpoint, with thread-safe in-memory caching using sync.RWMutex. TypeScript/React frontend fetches the tool catalogue at runtime, making the tool set reconfigurable without a frontend redeploy.


Technology Stack

Java Kotlin Go Python TypeScript Spring Maven Docker PostgreSQL MySQL Elasticsearch Git GitHub Linux


GitHub Statistics

GitHub Stats    Top Languages
Contribution Streak

Contribution Activity

Contribution Activity Graph

Profile Summary

Profile Summary

Contribution Snake

Contribution Snake

Setup: See .github/workflows/snake.yml in this repository. The snake regenerates weekly. You must enable Actions and the output branch will be created automatically on first run.


Contact

LinkedIn Email GitHub


Profile Views

I fix things that are broken in production and build things that are worth building.

footer

Pinned Loading

  1. Resume-Builder Resume-Builder Public

    TypeScript 2