<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PokedexCLI on Ikwuka Okoye</title><link>https://ikwukao.dev/tags/pokedexcli/</link><description>Recent content in PokedexCLI on Ikwuka Okoye</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Sun, 09 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ikwukao.dev/tags/pokedexcli/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a Reliable REST API Client in Go for PokedexCLI</title><link>https://ikwukao.dev/journal/pokedexcli-api-client/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://ikwukao.dev/journal/pokedexcli-api-client/</guid><description>&lt;h2 id="building-a-reliable-rest-api-client-in-go-for-pokedexcli"&gt;Building a Reliable REST API Client in Go for PokedexCLI&lt;/h2&gt;
&lt;p&gt;A command-line application becomes considerably more interesting when it has to communicate with a remote service.&lt;/p&gt;
&lt;p&gt;PokedexCLI does not contain all of its data locally. Much of the information the application needs comes from the Pokémon API, which means the application has to deal with HTTP requests, JSON responses, network failures, pagination, and external service boundaries.&lt;/p&gt;
&lt;p&gt;Rather than allowing every command to construct its own HTTP requests, I treated API communication as a dedicated responsibility.&lt;/p&gt;</description></item><item><title>Caching API Responses in PokedexCLI: Reducing Network Work in Go</title><link>https://ikwukao.dev/journal/pokedexcli-caching/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://ikwukao.dev/journal/pokedexcli-caching/</guid><description>&lt;h2 id="caching-api-responses-in-pokedexcli-reducing-network-work-in-go"&gt;Caching API Responses in PokedexCLI: Reducing Network Work in Go&lt;/h2&gt;
&lt;p&gt;One of the easiest performance problems to overlook in an API-driven application is repeated work.&lt;/p&gt;
&lt;p&gt;If an application repeatedly requests the same resource from a remote service, every request introduces network latency and another dependency on the availability of that service.&lt;/p&gt;
&lt;p&gt;PokedexCLI provides a useful environment for exploring this problem because the application repeatedly interacts with the Pokémon API while the user navigates locations and explores areas.&lt;/p&gt;</description></item><item><title>Designing a CLI Architecture for PokedexCLI in Go</title><link>https://ikwukao.dev/journal/pokedexcli-architecture/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://ikwukao.dev/journal/pokedexcli-architecture/</guid><description>&lt;h2 id="designing-a-cli-architecture-for-pokedexcli-in-go"&gt;Designing a CLI Architecture for PokedexCLI in Go&lt;/h2&gt;
&lt;p&gt;Building a command-line application can look deceptively simple.&lt;/p&gt;
&lt;p&gt;At first, the requirements for PokedexCLI seem straightforward: accept a command, execute it, call the Pokémon API when necessary, and print the result.&lt;/p&gt;
&lt;p&gt;But even a small CLI becomes difficult to maintain when command handling, application state, networking, caching, and presentation logic are allowed to grow together.&lt;/p&gt;
&lt;p&gt;For PokedexCLI, I wanted to approach the problem as a real software-engineering exercise rather than simply building a collection of commands that happened to work.&lt;/p&gt;</description></item><item><title>What Building PokedexCLI Taught Me About Backend Engineering in Go</title><link>https://ikwukao.dev/journal/pokedexcli-command-lessons-learned/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://ikwukao.dev/journal/pokedexcli-command-lessons-learned/</guid><description>&lt;h2 id="what-building-pokedexcli-taught-me-about-backend-engineering-in-go"&gt;What Building PokedexCLI Taught Me About Backend Engineering in Go&lt;/h2&gt;
&lt;p&gt;PokedexCLI began as a relatively small Go application.&lt;/p&gt;
&lt;p&gt;The premise is simple: interact with Pokémon data through a command-line interface.&lt;/p&gt;
&lt;p&gt;But projects do not remain simple merely because their initial requirements are simple.&lt;/p&gt;
&lt;p&gt;As functionality grows, the application has to deal with API communication, pagination, application state, caching, command dispatch, data modeling, errors, and testing.&lt;/p&gt;
&lt;p&gt;That made PokedexCLI valuable as more than a CLI exercise.&lt;/p&gt;</description></item></channel></rss>