<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Erkid Hoxholli</title>
    <link>https://erkidhoxholli.gitlab.io/posts/</link>
    <description>Recent content in Posts on Erkid Hoxholli</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 08 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://erkidhoxholli.gitlab.io/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>10 Practical Tips for an Engineering-Grade AI SDLC</title>
      <link>https://erkidhoxholli.gitlab.io/posts/ai-sdlc-for-engineers/</link>
      <pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://erkidhoxholli.gitlab.io/posts/ai-sdlc-for-engineers/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;A Note on &amp;ldquo;Vibe Coding&amp;rdquo;:&lt;/strong&gt;&lt;br&gt;&#xA;There is nothing wrong with &amp;ldquo;vibe coding&amp;rdquo; in the right context. If you are building a quick prototype for a hackathon, trying a new library, experimenting with UI design without a database, or making a small internal tool where bugs do not cause real damage, asking an AI to quickly generate code is totally fine.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;This post is not for that.&lt;/strong&gt;&lt;br&gt;&#xA;If you are building production software—especially where users trust you with personal data (PII), health information (PHI), payment details, or mission-critical workflows—users deserve software that is secure, stable, and well-tested. You cannot rely on luck when real people and paying customers depend on your systems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Temporal to Optimize LLM Requests</title>
      <link>https://erkidhoxholli.gitlab.io/posts/query-coalescing-temporal/</link>
      <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://erkidhoxholli.gitlab.io/posts/query-coalescing-temporal/</guid>
      <description>&lt;p&gt;When building AI-powered features, two operational concerns appear immediately: &lt;strong&gt;latency and cost&lt;/strong&gt;. Calling an LLM third party service typically takes 1 to 3 seconds and incurs token costs on every request.&lt;/p&gt;&#xA;&lt;p&gt;We recently tackled this while building AI features for &lt;a href=&#34;https://molita.co&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Molita.co&lt;/a&gt;. Imagine 10 users asking the exact same question (for example, &lt;em&gt;&amp;ldquo;What is Ikigai?&amp;rdquo;&lt;/em&gt;) at the same time. In a naive setup, your backend fires 10 simultaneous API calls, burns 10x the tokens, and risks hitting external rate limits (&lt;code&gt;429 Too Many Requests&lt;/code&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Preparing a Codebase for Horizontal Scalability (On-Premises / Self-Hosted)</title>
      <link>https://erkidhoxholli.gitlab.io/posts/preparing-codebase-for-horizontal-scalability/</link>
      <pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://erkidhoxholli.gitlab.io/posts/preparing-codebase-for-horizontal-scalability/</guid>
      <description>&lt;p&gt;Many early-stage startups and solo developers begin with a classic, streamlined stack: a &lt;strong&gt;React SPA frontend&lt;/strong&gt;, a single &lt;strong&gt;Node.js REST API&lt;/strong&gt;, a single &lt;strong&gt;database instance&lt;/strong&gt;, and &lt;strong&gt;Caddy&lt;/strong&gt; acting as a reverse proxy and SSL terminator.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;A Note on Cloud vs. On-Premises:&lt;/strong&gt;&lt;br&gt;&#xA;If you run on managed hyperscalers (AWS, GCP, Azure), much of horizontal scaling is abstracted away behind managed services: AWS Application Load Balancers (ALB), CloudFront, ElastiCache, and Amazon RDS with built-in connection proxies and read replicas.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
