<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Emmanuel Isenah</title>
    <link>https://emmanuelisenah.com</link>
    <description>Personal site — TypeScript, React, and the web.</description>
    <language>en</language>
    <lastBuildDate>Tue, 21 Jul 2026 05:14:15 GMT</lastBuildDate>
    <atom:link xmlns:atom="http://www.w3.org/2005/Atom" href="https://emmanuelisenah.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Leaving Vercel for AWS Amplify</title>
      <link>https://emmanuelisenah.com/blog/leaving-vercel-for-aws-amplify</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/leaving-vercel-for-aws-amplify</guid>
      <pubDate>Sun, 14 Jun 2026 07:45:07 GMT</pubDate>
      <description>At Heartbeat, we run everything on AWS queues, database, object storage, email, DNS, you name it. Everything except our frontend hosting, which, for a long time, lived on Vercel. Why? Next.js. If you&apos;ve worked with Next.js, you know how tightly it&apos;s coupled to Vercel. Yes, there&apos;</description>
    </item>
    <item>
      <title>A better way to deploy to EC2</title>
      <link>https://emmanuelisenah.com/blog/a-better-way-to-deploy-to-ec2</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/a-better-way-to-deploy-to-ec2</guid>
      <pubDate>Tue, 27 Jan 2026 09:09:08 GMT</pubDate>
      <description>So you’ve got an EC2 instance you want to ship updates to it. How do you go about it? A lot of us start with the classics of SSH into the box, and building on the server. While someone with more experience might build in CI runner like GitHub action and copy the artifacts over to</description>
    </item>
    <item>
      <title>Different ways to conditionally provision a CDK resource</title>
      <link>https://emmanuelisenah.com/blog/provision-cdk-resource-conditionally</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/provision-cdk-resource-conditionally</guid>
      <pubDate>Sun, 11 Jan 2026 11:18:06 GMT</pubDate>
      <description>So over the weekend, I had the brilliant idea to offload the grunt work of setting up a WireGuard server to Infrastructure as Code. I got tired of replaying the same commands over and over whenever I wanted a new instance, so I finally bit the bullet that day and ran . For the pr</description>
    </item>
    <item>
      <title>How I passed my DVA-CO2</title>
      <link>https://emmanuelisenah.com/blog/how-i-passed-my-dva-co2</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/how-i-passed-my-dva-co2</guid>
      <pubDate>Sat, 20 Sep 2025 14:09:07 GMT</pubDate>
      <description>NOTE: This is a cross post I made on r/awscertifications. My result just came 12 hours after the exam and I passed! I&apos;m really happy and thought I should share my experience on how I prepared. For studying, I combined Stephane Maarek&apos;s and Adrian Cantrill&apos;s course. At first glanc</description>
    </item>
    <item>
      <title>Different ways to conditionally provision a CDK resource</title>
      <link>https://emmanuelisenah.com/blog/different-ways-to-conditionally-provision-a-cdk-resource</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/different-ways-to-conditionally-provision-a-cdk-resource</guid>
      <pubDate>Sat, 09 Aug 2025 15:56:58 GMT</pubDate>
      <description>So over the weekend, I had the brilliant idea to offload the grunt work of setting up a WireGuard server to Infrastructure as Code. I got tired of replaying the same commands over and over whenever I wanted a new instance, so I finally bit the bullet that day and ran . For the pr</description>
    </item>
    <item>
      <title>A Comprehensive Guide to JavaScript Generators</title>
      <link>https://emmanuelisenah.com/blog/comprehensive-guide-to-javascript-generators</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/comprehensive-guide-to-javascript-generators</guid>
      <pubDate>Thu, 06 Mar 2025 18:53:25 GMT</pubDate>
      <description>Generators are a powerful concept in programming that allows you to easily define iterators. They&apos;re an abstraction that allows you to write code that can be paused and resumed, allowing you to control the execution flow. In this article, we’ll go over what are generators functio</description>
    </item>
    <item>
      <title>Password Composition Policies Are Bad and Here&apos;s Why</title>
      <link>https://emmanuelisenah.com/blog/password-composition-policies-are-bad-and-heres-why</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/password-composition-policies-are-bad-and-heres-why</guid>
      <pubDate>Sun, 22 Dec 2024 23:41:53 GMT</pubDate>
      <description>Passwords are the most widely used form of authentication on the internet. And unless you&apos;re Nelson Dellis—a six time USA Memory Champion—most of us tend to pick the easiest passwords we can remember when creating one. I must admit, I&apos;ve never been a big fan of passwords, especia</description>
    </item>
    <item>
      <title>Unveiling React Server Components</title>
      <link>https://emmanuelisenah.com/blog/unveiling-react-server-components</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/unveiling-react-server-components</guid>
      <pubDate>Wed, 17 Apr 2024 07:22:01 GMT</pubDate>
      <description>React has undergone a significant evolution since its inception in 2013, transitioning from Higher Order Components (HOCs) and lifecycle methods to the introduction of hooks in 2019. Now, one of the most recent and monumental changes is the advent of React Server Components . It </description>
    </item>
    <item>
      <title>What&apos;s New in TypeScript 5.4 Beta</title>
      <link>https://emmanuelisenah.com/blog/whats-new-in-typescript-54-beta</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/whats-new-in-typescript-54-beta</guid>
      <pubDate>Thu, 08 Feb 2024 08:24:47 GMT</pubDate>
      <description>Greetings! TypeScript 5.4 Beta just dropped and it presents new exciting features with some bug fixes and QoL changes. Without further delay, let&apos;s quickly explore some of these game changing improvements. and One of the new API changes added in TypeScript 5.4 Beta is the declara</description>
    </item>
    <item>
      <title>Setting up a Monorepo using PNPM workspaces with TypeScript and Tailwind</title>
      <link>https://emmanuelisenah.com/blog/setting-up-a-monorepo-using-pnpm-workspaces-with-typescript-and-tailwind</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/setting-up-a-monorepo-using-pnpm-workspaces-with-typescript-and-tailwind</guid>
      <pubDate>Fri, 02 Feb 2024 08:40:21 GMT</pubDate>
      <description>In this article, We&apos;re going learn how to set up a monorepo and share multiple configs and dependencies between each package inside one repository. Before, we proceed, we have to understand what a monorepo is and what benefits it brings to the table. What is a Monorepo? A monorep</description>
    </item>
    <item>
      <title>What are TypeScript Discriminated Unions and Why Should You Care?</title>
      <link>https://emmanuelisenah.com/blog/what-are-typescript-discriminated-unions-and-why-should-you-care</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/what-are-typescript-discriminated-unions-and-why-should-you-care</guid>
      <pubDate>Sun, 12 Nov 2023 17:51:09 GMT</pubDate>
      <description>We&apos;ve all been in a situation where we want to access a set of properties inside an object based on the value of one property key. This is where discriminated unions shine. But before we dive in, let&apos;s refresh our understanding of unions and intersections. A union is a combinatio</description>
    </item>
    <item>
      <title>Beyond Basics: Harnessing the Full Potential of  TanStack Table v8 with React</title>
      <link>https://emmanuelisenah.com/blog/beyond-basics-harnessing-the-full-potential-of-tanstack-table-v8-with-react</link>
      <guid isPermaLink="true">https://emmanuelisenah.com/blog/beyond-basics-harnessing-the-full-potential-of-tanstack-table-v8-with-react</guid>
      <pubDate>Wed, 08 Nov 2023 00:50:57 GMT</pubDate>
      <description>Many developers face the challenge of creating functional tables or datagrids that incorporate custom markup with distinct UI styling. Enter TanStack Table, a headless UI library designed to tackle this very problem. It&apos;s notable for being framework agnostic and providing adapter</description>
    </item>
  </channel>
</rss>
