<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Anurag Gupta — Software Engineer</title>
    <link>https://anuragxd.com</link>
    <description>End-to-end software engineer across product, infrastructure, and applied AI systems.</description>
    <language>en</language>
    <lastBuildDate>Tue, 09 Jun 2026 21:47:31 GMT</lastBuildDate>
    <atom:link href="https://anuragxd.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Managing Kubernetes from my phone</title>
      <link>https://anuragxd.com/blogs/crow-kubernetes-from-your-phone</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/crow-kubernetes-from-your-phone</guid>
      <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
      <description>Crow is a native SwiftUI iOS client for Kubernetes. mTLS via PKCS#12, generic CRD browsing, WebSocket log streaming, and RBAC-gated mutations.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>End-to-end user identity across a research platform with Istio, OPA, and token exchange</title>
      <link>https://anuragxd.com/blogs/zero-trust-auth-istio-opa-keycloak</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/zero-trust-auth-istio-opa-keycloak</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How we made the user's JWT travel through every service-to-service call, across Kubernetes and HPC, using mesh-level validation, per-service OPA policies, and chained RFC 8693 token exchange.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>Building a workflow execution service from scratch in Go</title>
      <link>https://anuragxd.com/blogs/building-conquest</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/building-conquest</guid>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <description>Conquest implements GA4GH WES/TES on Kubernetes. Adapter pattern for multi-language support, Postgres state machines, and the file staging problem.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>A filesystem-to-S3 sync daemon that doesn't poll</title>
      <link>https://anuragxd.com/blogs/redrush-filesystem-s3-sync</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/redrush-filesystem-s3-sync</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>RedRush uses inotify/kqueue for event-driven uploads to S3-compatible storage. Debouncing, recursive watch registration, and the Kubernetes sidecar pattern.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>Using Gemini to list gemstones on Etsy for my mom</title>
      <link>https://anuragxd.com/blogs/gemstone-listing-generator</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/gemstone-listing-generator</guid>
      <pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate>
      <description>Structured output from Gemini's multimodal API, JSON schema constraints, marketplace-safe description generation, and automated product image grids.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>I wrote the same pipeline in Nextflow, Snakemake, and WDL</title>
      <link>https://anuragxd.com/blogs/nextflow-snakemake-wdl</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/nextflow-snakemake-wdl</guid>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <description>Three tiny repos, one variant-calling workflow, and what each language's execution model actually does to your code.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>Building a TUI database browser with React (yes, React)</title>
      <link>https://anuragxd.com/blogs/dataslip-tui-postgres</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/dataslip-tui-postgres</guid>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <description>DataSlip is a terminal-first Postgres client built with Bun, React, and OpenTUI. Component architecture, focus management, and terminal rendering performance.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>Popy: a 500 KB clipboard manager because every other one is an Electron app</title>
      <link>https://anuragxd.com/blogs/popy-500kb-clipboard-manager</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/popy-500kb-clipboard-manager</guid>
      <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
      <description>Writing a native Swift macOS menu bar app. NSPasteboard polling, Keychain storage, global hotkeys via CGEvent, and universal binary CI.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>ConOps: I wanted Argo CD without the Kubernetes</title>
      <link>https://anuragxd.com/blogs/conops-gitops-without-kubernetes</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/conops-gitops-without-kubernetes</guid>
      <pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate>
      <description>Building a GitOps controller for Docker Compose in Go. Reconciliation loops, config hashing for drift detection, go-git for in-process clones, and an embedded web UI.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>Migrating live auth from SuperTokens to Keycloak</title>
      <link>https://anuragxd.com/blogs/supertokens-to-keycloak</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/supertokens-to-keycloak</guid>
      <pubDate>Thu, 29 Jan 2026 00:00:00 GMT</pubDate>
      <description>Custom SPI for phone-OTP in Java, gradual user adoption via login-time import, dual-session logout, and the oidc-client-ts cutover.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>The month we self-hosted everything</title>
      <link>https://anuragxd.com/blogs/self-hosting-typesense-metabase</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/self-hosting-typesense-metabase</guid>
      <pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate>
      <description>Moving Typesense and Metabase onto GKE. StatefulSet tuning, alias-swapped re-indexing, SAML attribute mapping, and the OOM that Prometheus caught.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
    <item>
      <title>Small PRs to scientific infrastructure</title>
      <link>https://anuragxd.com/blogs/contributing-to-ga4gh-oss</link>
      <guid isPermaLink="true">https://anuragxd.com/blogs/contributing-to-ga4gh-oss</guid>
      <pubDate>Wed, 20 Aug 2025 00:00:00 GMT</pubDate>
      <description>Shipping a streaming zip endpoint to trs-filer, adding S3-compatible storage via boto3, and patching FOCA's MongoDB connection URI handling.</description>
      <author>me@anuragxd.com (Anurag Gupta)</author>
    </item>
  </channel>
</rss>
