privacy-first, fully offline pdf toolkit. merge, split, compress, protect, watermark and reorder pages entirely on your machine. nothing is ever uploaded.
hey, i'm vibhanshu, a software engineer who spends most of his time in open source. most of my work lands in the cloud-native and observability world, mainly opentelemetry, along with jaeger, kyverno, kargo and others.
outside of shipping code, i'm drawn to programming languages, machine learning, and the future of computing.
projects
a fully offline cli to convert, compress, resize and strip metadata from images. your photos never leave your machine.
ai-powered cover letter generator: turns your resume and a job description into a tailored letter in seconds. built with next.js, gemini, prisma and razorpay.
open source
70+ merged pull requests across the cloud-native and observability ecosystem, mostly opentelemetry, plus jaeger, kyverno, kestra, kargo, appwrite and jenkins. a few i'm proud of:
added ttl support to the clickhouse v2 storage backend. i turned the static table schema into a template so the factory dynamically injects a TTL clause when a positive duration is configured, and added validation plus unit tests covering positive, zero and negative values. gives operators automatic data expiry instead of unbounded trace storage growth.
fixed an sqs infinite loop. aws automatically publishes an s3:TestEvent that has no "records" array, so parsing failed, the sns fallback also failed, and the message was never deleted, requeuing forever and skewing metrics. i intercepted the test event before the failing fallback so it falls through to deletion, with a test asserting the message is acknowledged. stopped a silent, resource-burning loop in production pipelines.
fixed a nil pointer dereference that crashed the receiver while recording vm stats when the vsphere api returned incomplete data. added nil guards before dereferencing and regression tests. turned a hard crash into safe, resilient metric collection.
stopped a retry storm in the otlp/http exporter. a successful (2xx) response body larger than the 64kb read limit was treated as a transient failure and retried endlessly. i wrapped read/parse errors on successful exports as permanent errors so the batch is dropped instead of retried, covered by a new test. prevented wasted retries and duplicate load against healthy backends.
fixed exponential histograms whose configured zero_threshold was being reset to the default even when a real value was supplied in the otlp data. corrected the logic to preserve any non-zero threshold from the data point. restored accurate histogram translation for prometheus remote write.
added a record_headers config option so users can attach static headers to outgoing kafka records. wired it through the config struct and the franz-go client wrapper, documented it with an example, and added test coverage. unlocked downstream routing and tenancy use cases that need message headers.
the github provider only matched hostnames containing "github", so github enterprise cloud users on ghe.com domains failed detection. i updated the predicate to recognise ghe.com and added a test case. made kargo work out of the box for enterprise github customers.
taught the awsfirehose receiver to detect and decompress gzip-encoded firehose records before decoding them. let the receiver ingest a common real-world payload format it previously choked on.
[see all merged pull requests]
contact me:
- [email: [email protected]]
- [linkedin: in/singhvibhanshu]
thanks for visiting!