<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Saurabh Joshi — Writing</title><description>Data Scientist with 5 years building production ML pipelines in healthcare RCM. Relocating to Germany for senior ML roles. EU Blue Card eligible.</description><link>https://saurabhjoshi.dev/</link><item><title>Turning a five-script POC into a pipeline that survives Monday</title><link>https://saurabhjoshi.dev/blog/parquet-pipeline/</link><guid isPermaLink="true">https://saurabhjoshi.dev/blog/parquet-pipeline/</guid><description>A proof of concept runs once, on your machine, while you watch. Production runs unattended, forever. Here&apos;s the refactor that bridged the two for an RCM classifier.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Your classifier&apos;s default threshold is a bug</title><link>https://saurabhjoshi.dev/blog/threshold-tuning/</link><guid isPermaLink="true">https://saurabhjoshi.dev/blog/threshold-tuning/</guid><description>An AUC of 0.90 told me the model was good. A 0.5 cutoff told the business it was useless. Here&apos;s how I closed that gap on a production RCM classifier.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate></item></channel></rss>