<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>rajneesh — writing</title>
    <link>https://myselfraj.com/blog</link>
    <atom:link href="https://myselfraj.com/blog/rss.xml" rel="self" type="application/rss+xml" />
    <description>Technical writing on AI architecture and software engineering, by Rajneesh (Raj).</description>
    <language>en</language>
    <item>
      <title>The six layers I keep building into every AI system</title>
      <link>https://myselfraj.com/blog/six-layers-of-an-ai-system</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/six-layers-of-an-ai-system</guid>
      <pubDate>Mon, 09 Nov 2026 10:10:00 GMT</pubDate>
      <description>Health data, client email, video, music. Different products, same skeleton. Here are the six layers that kept showing up in every AI system I built this year, and why each one exists.</description>
      <media:content url="https://myselfraj.com/blog/covers/six-layers-of-an-ai-system.png" medium="image" />
      <category>AI architecture</category>
      <category>LLM</category>
      <category>RAG</category>
      <category>AI agents</category>
      <category>system design</category>
      <category>ai</category>
    </item>
    <item>
      <title>From a scanned PDF to clean JSON an AI can trust</title>
      <link>https://myselfraj.com/blog/from-pdf-to-structured-data</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/from-pdf-to-structured-data</guid>
      <pubDate>Mon, 09 Nov 2026 10:09:00 GMT</pubDate>
      <description>Medical reports, invoices, lab sheets. They all arrive as messy PDFs. Here is the pipeline I use to turn them into structured JSON, and why I never send the raw PDF straight to an LLM.</description>
      <media:content url="https://myselfraj.com/blog/covers/from-pdf-to-structured-data.png" medium="image" />
      <category>OCR</category>
      <category>document AI</category>
      <category>NLP</category>
      <category>data extraction</category>
      <category>LLM</category>
      <category>ai</category>
    </item>
    <item>
      <title>Giving an AI long-term memory with vectors and RAG</title>
      <link>https://myselfraj.com/blog/giving-ai-long-term-memory</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/giving-ai-long-term-memory</guid>
      <pubDate>Mon, 09 Nov 2026 10:08:00 GMT</pubDate>
      <description>An AI that forgets every conversation is a toy. Here is how I give AI systems a real memory, from turning messages into vectors to matching them with the right client and answering from that memory.</description>
      <media:content url="https://myselfraj.com/blog/covers/giving-ai-long-term-memory.png" medium="image" />
      <category>RAG</category>
      <category>vector database</category>
      <category>embeddings</category>
      <category>AI memory</category>
      <category>LLM</category>
      <category>ai</category>
    </item>
    <item>
      <title>Privacy before inference: strip personal data before the AI sees it</title>
      <link>https://myselfraj.com/blog/privacy-before-inference</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/privacy-before-inference</guid>
      <pubDate>Mon, 09 Nov 2026 10:07:00 GMT</pubDate>
      <description>If your AI reads health records or client email, the safest personal data is the data the model never receives. Here is how I remove PII before inference, and put it back after.</description>
      <media:content url="https://myselfraj.com/blog/covers/privacy-before-inference.png" medium="image" />
      <category>AI privacy</category>
      <category>PII</category>
      <category>data security</category>
      <category>encryption</category>
      <category>LLM</category>
      <category>ai</category>
    </item>
    <item>
      <title>Never depend on one AI provider: a small layer that switches models</title>
      <link>https://myselfraj.com/blog/never-depend-on-one-ai-provider</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/never-depend-on-one-ai-provider</guid>
      <pubDate>Mon, 09 Nov 2026 10:06:00 GMT</pubDate>
      <description>Prices change, models change, free tiers disappear. Here is the small provider layer I put in every AI product, so switching between cloud APIs and a local Ollama model is a config change, not a rewrite.</description>
      <media:content url="https://myselfraj.com/blog/covers/never-depend-on-one-ai-provider.png" medium="image" />
      <category>LLM</category>
      <category>Ollama</category>
      <category>OpenRouter</category>
      <category>AI architecture</category>
      <category>local models</category>
      <category>ai</category>
    </item>
    <item>
      <title>Teaching AI agents to fill a whole form in one call</title>
      <link>https://myselfraj.com/blog/teaching-agents-to-fill-forms</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/teaching-agents-to-fill-forms</guid>
      <pubDate>Mon, 09 Nov 2026 10:05:00 GMT</pubDate>
      <description>Browser agents fill forms like a nervous intern: screenshot, click, type, screenshot again. Here is the approach I built to read an app's code once and give the agent one skill per page, so a form takes one call instead of fifty.</description>
      <media:content url="https://myselfraj.com/blog/covers/teaching-agents-to-fill-forms.png" medium="image" />
      <category>AI agents</category>
      <category>browser automation</category>
      <category>agent skills</category>
      <category>MCP</category>
      <category>Claude</category>
      <category>ai</category>
    </item>
    <item>
      <title>Testing AI agents before you ship them</title>
      <link>https://myselfraj.com/blog/testing-ai-agents-before-you-ship</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/testing-ai-agents-before-you-ship</guid>
      <pubDate>Mon, 09 Nov 2026 10:04:00 GMT</pubDate>
      <description>Normal tests check that 2 + 2 = 4. AI agents can answer differently every time. Here is how I evaluate agents with test sets, head-to-head comparisons, multi-turn runs and a scorecard, before any of them reach a user.</description>
      <media:content url="https://myselfraj.com/blog/covers/testing-ai-agents-before-you-ship.png" medium="image" />
      <category>AI evals</category>
      <category>AI agents</category>
      <category>LLM testing</category>
      <category>LLM as judge</category>
      <category>quality</category>
      <category>ai</category>
    </item>
    <item>
      <title>Turning a long video into shorts with a local AI pipeline</title>
      <link>https://myselfraj.com/blog/long-video-to-shorts-pipeline</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/long-video-to-shorts-pipeline</guid>
      <pubDate>Mon, 09 Nov 2026 10:03:00 GMT</pubDate>
      <description>Paste a link, get vertical clips with captions, titles and tags. Here is how a local, low-cost shorts pipeline works step by step - transcription with Whisper, picking the best moments, face-tracked 9:16 crops and burned-in captions.</description>
      <media:content url="https://myselfraj.com/blog/covers/long-video-to-shorts-pipeline.png" medium="image" />
      <category>Whisper</category>
      <category>video AI</category>
      <category>FFmpeg</category>
      <category>OpenCV</category>
      <category>Python</category>
      <category>ai</category>
    </item>
    <item>
      <title>Spotting risk over time: let code do the maths and AI do the explaining</title>
      <link>https://myselfraj.com/blog/spotting-risk-over-time</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/spotting-risk-over-time</guid>
      <pubDate>Mon, 09 Nov 2026 10:02:00 GMT</pubDate>
      <description>One lab report tells you little. Ten reports over two years tell a story. Here is how I build systems that track values over time, flag sudden changes and rising risk early, and explain them in plain language.</description>
      <media:content url="https://myselfraj.com/blog/covers/spotting-risk-over-time.png" medium="image" />
      <category>health AI</category>
      <category>risk scoring</category>
      <category>time series</category>
      <category>explainable AI</category>
      <category>LLM</category>
      <category>ai</category>
    </item>
    <item>
      <title>Making your website readable by AI agents with llms.txt</title>
      <link>https://myselfraj.com/blog/make-your-website-readable-by-ai</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/make-your-website-readable-by-ai</guid>
      <pubDate>Mon, 09 Nov 2026 10:01:00 GMT</pubDate>
      <description>People now ask ChatGPT and Claude about you before they visit your site. Here is how I made mine readable by AI - a generated llms.txt profile, access for AI agents only, an &quot;ask your AI&quot; button, and one cache bug that taught me a lot.</description>
      <media:content url="https://myselfraj.com/blog/covers/make-your-website-readable-by-ai.png" medium="image" />
      <category>llms.txt</category>
      <category>AI SEO</category>
      <category>ChatGPT</category>
      <category>Claude</category>
      <category>Next.js</category>
      <category>ai</category>
    </item>
    <item>
      <title>&quot;I'll help you out&quot; vs &quot;I'll clarify this for you.&quot; An engine that knows the difference.</title>
      <link>https://myselfraj.com/blog/i-ll-help-you-out-vs-i-ll-clarify-this-for-you-an-engine-that-knows-the-difference</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/i-ll-help-you-out-vs-i-ll-clarify-this-for-you-an-engine-that-knows-the-difference</guid>
      <pubDate>Wed, 15 Jul 2026 08:54:00 GMT</pubDate>
      <description>AI systems are everywhere now. Clients also use AI tools to write emails. We use AI while researching, writing replies, preparing documents, planning work, and many other things. A lot of our communication now comes through AI. And that is what I call human involvement. I love this. But we also need to save the trees. All right, back to my stuff.</description>
      <media:content url="https://cdn.sanity.io/images/1vkh2vq0/production/9356a8fd0eadaaec2ecb9cd09419ba217e0d2713-1024x576.png?w=1600&amp;q=80&amp;fit=max&amp;auto=format" medium="image" />
      <category>ai</category>
    </item>
    <item>
      <title>Scaled Server for High Traffic App around 25k hits daily</title>
      <link>https://myselfraj.com/blog/scaled-server-for-high-traffic-app-around-25k-hits-daily</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/scaled-server-for-high-traffic-app-around-25k-hits-daily</guid>
      <pubDate>Thu, 12 Feb 2026 04:14:00 GMT</pubDate>
      <description>Distributed Systems and Database Scaling</description>
      <media:content url="https://cdn.sanity.io/images/1vkh2vq0/production/7d091669bd5f03fec5d61fc902c8f4b0f27d168c-1170x780.heif?w=1600&amp;q=80&amp;fit=max&amp;auto=format" medium="image" />
      <category>scaling</category>
    </item>
    <item>
      <title>All about RDBMS (SQL) | Benefits and limitations of SQL &amp; NoSQL</title>
      <link>https://myselfraj.com/blog/all-about-rdbms-sql-or-benefits-and-limitations-of-sql-and-nosql</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/all-about-rdbms-sql-or-benefits-and-limitations-of-sql-and-nosql</guid>
      <pubDate>Fri, 09 Feb 2024 07:17:00 GMT</pubDate>
      <description>Many modern applications often use both SQL and NoSQL databases together to get the best of both worlds!</description>
      <media:content url="https://cdn.sanity.io/images/1vkh2vq0/production/ee3eab72a0cf95d20ff8cd211cbcaaac851be257-1200x635.jpg?w=1600&amp;q=80&amp;fit=max&amp;auto=format" medium="image" />
      <category>databases</category>
    </item>
    <item>
      <title>Share Anything with native share options in Html &amp; JavaScript</title>
      <link>https://myselfraj.com/blog/how-to-share-anything-with-native-share-options-in-html-and-javascript</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/how-to-share-anything-with-native-share-options-in-html-and-javascript</guid>
      <pubDate>Fri, 09 Feb 2024 06:58:18 GMT</pubDate>
      <description>The Web Share API is a valuable feature that can enhance your website's functionality and user experience. It allows you to share text, URLs, or files with other apps or services using the…</description>
      <media:content url="https://cdn.sanity.io/images/1vkh2vq0/production/e68d89708dd1c890c99c7240e7aa26c6a2045723-976x369.png?w=1600&amp;q=80&amp;fit=max&amp;auto=format" medium="image" />
      <category>web</category>
    </item>
    <item>
      <title>Leveraging Jenkins with Private GitHub and EC2 for Seamless Development Workflow</title>
      <link>https://myselfraj.com/blog/leveraging-jenkins-with-private-github-and-ec2-for-seamless-development-workflow-with-laravel-vue</link>
      <guid isPermaLink="true">https://myselfraj.com/blog/leveraging-jenkins-with-private-github-and-ec2-for-seamless-development-workflow-with-laravel-vue</guid>
      <pubDate>Wed, 07 Feb 2024 14:53:00 GMT</pubDate>
      <description>As developers, we often have to go through many steps to build, test and deploy our project. But what if we could automate these tasks and streamline the process? GitHub already offers some…</description>
      <media:content url="https://cdn.sanity.io/images/1vkh2vq0/production/45f52566c38a7d4588c336124ececd707288f2cd-1280x720.jpg?w=1600&amp;q=80&amp;fit=max&amp;auto=format" medium="image" />
      <category>devops</category>
    </item>
  </channel>
</rss>
