<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Aha! Engineering Blog</title>
        <link>https://www.aha.io/engineering</link>
        <description>A collection of technical posts written by the Aha! engineering team.</description>
        <lastBuildDate>Tue, 14 Apr 2026 18:34:49 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Aha! Engineering Blog</title>
            <url>https://www.aha.io/aha_square_300.png</url>
            <link>https://www.aha.io/engineering</link>
        </image>
        <copyright>2025 Aha! Labs Inc.</copyright>
        <atom:link href="https://www.aha.io/engineering/rss.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[The importance of benchmarks]]></title>
            <link>https://www.aha.io/engineering/articles/the-importance-of-benchmarks</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/the-importance-of-benchmarks</guid>
            <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Late last year, the  Aha! Develop team added support for team line-level reporting. During a team demo in the run-up to the release, we discovered one of our internal sprint reports was taking 15 minutes to load, almost freezing the browser in the p]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[The architectural trade-offs of AI code generation]]></title>
            <link>https://www.aha.io/engineering/articles/the-architectural-trade-offs-of-ai-code-generation</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/the-architectural-trade-offs-of-ai-code-generation</guid>
            <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We recently introduced  Aha! Builder, our new AI-powered product for creating prototypes and business applications. It allows you to describe the app you need, and Elle (our AI assistant) builds it for you. But Elle is not just a UI trick. When a us]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Less code, more power: Why we rolled our own React Server Components framework]]></title>
            <link>https://www.aha.io/engineering/articles/why-we-rolled-our-own-rsc-framework</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/why-we-rolled-our-own-rsc-framework</guid>
            <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We ripped out the mature React framework powering  this website and built our own mini framework with a few handcrafted files. By most accounts, that's the last thing you should do. But it reduced the amount of JavaScript and JSON data loaded by 90%]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[When overmind isn't enough and I'm over it all]]></title>
            <link>https://www.aha.io/engineering/articles/over-it-all</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/over-it-all</guid>
            <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[I built a tool called  overitall ( oit). It's a terminal UI that combines process management with log viewing — think overmind plus a log viewer (like  lnav) that can actually keep up with modern, noisy apps. If you're a terminal‑first developer dro]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Going beyond Ruby: Writing a simple C extension]]></title>
            <link>https://www.aha.io/engineering/articles/ruby-c-extension</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/ruby-c-extension</guid>
            <pubDate>Tue, 09 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Ruby is a high-level language with elegant syntax. But sometimes, performance-critical tasks can be slow in pure Ruby. Writing a C extension lets us move performance-critical code into native C for speed while also tapping into existing C libraries.]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Streaming AI responses and the incomplete JSON problem]]></title>
            <link>https://www.aha.io/engineering/articles/streaming-ai-responses-incomplete-json</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/streaming-ai-responses-incomplete-json</guid>
            <pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Modern LLM providers can stream their responses. This is great for user experience — instead of a loading spinner, users see the response being generated in real time. They can also call external functions (also called "tools"): search your database]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[How we de-risked our editor upgrade]]></title>
            <link>https://www.aha.io/engineering/articles/derisking-editor-upgrade</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/derisking-editor-upgrade</guid>
            <pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Any seasoned software engineer will tell you that full rewrites are a bad idea. More often than not, they are abandoned after wasting a significant amount of resources on them. This is especially true if what you're pitching for a rewrite is the bac]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Solving impossible problems]]></title>
            <link>https://www.aha.io/engineering/articles/solving-impossible-problems</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/solving-impossible-problems</guid>
            <pubDate>Wed, 17 Sep 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[If you've been working on software for any reasonable length of time, you might have had an experience like this: You're looking at a feature, and you have no idea how to build it. You have the context and understanding you need. But it's all pointi]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Is AI the end of coding as we know it, or just another tool?]]></title>
            <link>https://www.aha.io/engineering/articles/is-ai-the-end-of-coding-or-just-another-tool</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/is-ai-the-end-of-coding-or-just-another-tool</guid>
            <pubDate>Mon, 14 Jul 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The rapid advancement of AI tools has left many developers worried about the future of their careers. AI is either coming to take your job, or it's going to make you 10 times more productive — if you learn to use it effectively. Nobody wants to be i]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Streaming LLM Responses with Rails: SSE vs. Turbo Streams]]></title>
            <link>https://www.aha.io/engineering/articles/streaming-llm-responses-rails-sse-turbo-streams</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/streaming-llm-responses-rails-sse-turbo-streams</guid>
            <pubDate>Wed, 30 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[In the world of Rails development, integrating large language models (LLMs) like OpenAI's GPT has become increasingly common. One challenge developers face is streaming these responses efficiently to provide a smooth user experience. This post will]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Partitioning a large table in PostgreSQL with Rails]]></title>
            <link>https://www.aha.io/engineering/articles/partitioning-a-large-table-in-postgresql-with-rails</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/partitioning-a-large-table-in-postgresql-with-rails</guid>
            <pubDate>Mon, 28 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Keeping a reliable history of changes is essential for our users. They need to know when a record was updated, who made the change, and why. They could be anxiously awaiting a notification about a dependency that is blocking their work. Maybe they w]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Rails views, web components, React. Why make a choice?]]></title>
            <link>https://www.aha.io/engineering/articles/rails-views-web-components-react</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/rails-views-web-components-react</guid>
            <pubDate>Mon, 03 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[How many times have you heard or read statements like these in tech
discussions?"Everything needs to be a single-page app these days. Server-rendered
templates are holding you back.""Web components are the future. Why tie yourself to any framework?"]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Make streaming APIs easy with enumerable methods]]></title>
            <link>https://www.aha.io/engineering/articles/making-streaming-apis-easy</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/making-streaming-apis-easy</guid>
            <pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[When you first discover Ruby on Rails, some things might strike you right away: namely the large number of  enumerable methods and the blocks to run code in the middle of another method. Those features helped me translate my thoughts directly into c]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[We love bugs (and you should, too!)]]></title>
            <link>https://www.aha.io/engineering/articles/we-love-bugs</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/we-love-bugs</guid>
            <pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[OK, maybe "love" is a bit strong. But the Aha! engineering team has a shocking confession: We embrace bugs in our software. Our CTO,  Dr. Chris Waters, often says, "If your feature ships without any bugs, you waited too long to ship it." Having work]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Transparency, autonomy, responsiveness, and education: How the Aha! engineering team works]]></title>
            <link>https://www.aha.io/engineering/articles/how-we-work</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/how-we-work</guid>
            <pubDate>Mon, 28 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Organizations have many different ways to approach how teammates write code. You have individual silos, pair programming, team-based work, and black box interfaces where you have no idea how the other team is structured. We use a mix of these approa]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[How we upgrade major Rails versions]]></title>
            <link>https://www.aha.io/engineering/articles/upgrading-rails</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/upgrading-rails</guid>
            <pubDate>Wed, 18 Sep 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[As a company whose product is built on top of  Ruby on Rails, conducting a major version upgrade of the underlying framework is just about the biggest upkeep item we regularly undertake. The whole process takes months — with multiple cycles of devel]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Interrupt-driven engineering: Working on what matters at Aha!]]></title>
            <link>https://www.aha.io/engineering/articles/trm-for-engineers</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/trm-for-engineers</guid>
            <pubDate>Wed, 21 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[On the Aha! team,  The Responsive Method (TRM) guides our interactions with customers and one another. Responding to requests quickly and thoughtfully maximizes the  value we provide to customers and is a key pillar of our success. Part of this resp]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[The most important system to keep running]]></title>
            <link>https://www.aha.io/engineering/articles/the-one-system</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/the-one-system</guid>
            <pubDate>Fri, 24 May 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[I heard a ring, and my heart rate spiked to 132. It was Tom Bailey, a colleague on the  Product Success team. I prepared myself for a cheerful British voice to deliver bad news — the only reason for Tom to call me would be to get engineering's atten]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Using calculated attributes to help users surface delivery risks]]></title>
            <link>https://www.aha.io/engineering/articles/virtual-attributes</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/virtual-attributes</guid>
            <pubDate>Mon, 08 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Feature delivery can be impacted by many factors. Some are readily visible, but others are more nuanced — or buried in mountains of data. What if we could show developers and project managers the factors that would affect feature delivery in real ti]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
        <item>
            <title><![CDATA[Building a dynamic Canvas rendering engine using JSX]]></title>
            <link>https://www.aha.io/engineering/articles/canvasx</link>
            <guid isPermaLink="true">https://www.aha.io/engineering/articles/canvasx</guid>
            <pubDate>Thu, 14 Mar 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Our product team is busy adding many great new features to  Aha! Whiteboards and  Aha! Knowledge — including wireframes, voting, and improvements to viewing  Aha! Roadmaps data within a whiteboard. We added all of this functionality in just the last]]></description>
            <enclosure length="0" type="image/png" url="https://www.aha.io/assets/aha-engineering-c7zx3mz8b.png"/>
        </item>
    </channel>
</rss>