<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Projects I've Authored or Worked On on Mike Mwita</title><link>https://mikemwita.com/projects/</link><description>Recent content in Projects I've Authored or Worked On on Mike Mwita</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://mikemwita.com/projects/index.xml" rel="self" type="application/rss+xml"/><item><title>go-strict</title><link>https://mikemwita.com/projects/go-strict/</link><pubDate>Mon, 18 Mar 2024 00:00:00 +0000</pubDate><guid>https://mikemwita.com/projects/go-strict/</guid><description>&lt;h2 id="motivation">
Motivation
&lt;a href="#motivation" class="heading-anchor">#&lt;/a>
&lt;/h2>
&lt;p>As Go codebases grow, complexity often hides in deeply nested logic rather than raw line count. Traditional linters catch syntax and style issues but rarely highlight &lt;em>mental load&lt;/em>.&lt;/p>
&lt;p>go-strict was built to quantify cognitive complexity so teams can reason about readability early—before code becomes difficult to maintain or review.&lt;/p>
&lt;h2 id="results">
Results
&lt;a href="#results" class="heading-anchor">#&lt;/a>
&lt;/h2>
&lt;p>The linter analyzes function control flow, nesting, and branching to produce a clear complexity score with file and line references. Output formats are configurable, making it easy to integrate into CI pipelines.&lt;/p></description></item><item><title>FinDocParserPro</title><link>https://mikemwita.com/projects/findoc-parser-pro/</link><pubDate>Wed, 10 Jan 2024 00:00:00 +0000</pubDate><guid>https://mikemwita.com/projects/findoc-parser-pro/</guid><description>&lt;h2 id="motivation">
Motivation
&lt;a href="#motivation" class="heading-anchor">#&lt;/a>
&lt;/h2>
&lt;p>Financial systems often rely on documents like invoices and receipts that arrive in inconsistent formats and qualities. Many OCR solutions extract raw text but stop short of producing reliable, structured domain data that can be consumed by ERP or accounting systems.&lt;/p>
&lt;p>FinDocParserPro was built to bridge this gap by combining OCR, deterministic extraction rules, and a clean, testable architecture that scales with complexity instead of collapsing under it.&lt;/p></description></item><item><title>go-bloomfilter</title><link>https://mikemwita.com/projects/go-bloomfilter/</link><pubDate>Thu, 02 Nov 2023 00:00:00 +0000</pubDate><guid>https://mikemwita.com/projects/go-bloomfilter/</guid><description>&lt;h2 id="motivation">
Motivation
&lt;a href="#motivation" class="heading-anchor">#&lt;/a>
&lt;/h2>
&lt;p>Many backend systems need to answer one question extremely fast: &lt;em>have I seen this before?&lt;/em> Traditional data structures often trade memory for speed, which becomes expensive at scale.&lt;/p>
&lt;p>This project was created to explore probabilistic data structures in Go while gaining hands-on experience with bitwise operations, hashing strategies, and memory-efficient design.&lt;/p>
&lt;h2 id="results">
Results
&lt;a href="#results" class="heading-anchor">#&lt;/a>
&lt;/h2>
&lt;p>The implementation uses a compact &lt;code>[]uint64&lt;/code> bit array with auto-tuned parameters to balance false positives and memory usage. Hashing is inspired by MurmurHash to ensure even distribution and consistent performance.&lt;/p></description></item><item><title>Africa's Talking Go SDK</title><link>https://mikemwita.com/projects/africas-talking-go-sdk/</link><pubDate>Wed, 05 Jul 2023 00:00:00 +0000</pubDate><guid>https://mikemwita.com/projects/africas-talking-go-sdk/</guid><description>&lt;h2 id="motivation">
Motivation
&lt;a href="#motivation" class="heading-anchor">#&lt;/a>
&lt;/h2>
&lt;p>Africa’s Talking provides powerful communication and payment APIs, but Go developers lacked a cohesive, idiomatic SDK that reduced boilerplate and simplified integrations.&lt;/p>
&lt;p>This project aimed to make building telecom-driven applications in Go as seamless as possible, from quick prototypes to production systems.&lt;/p>
&lt;h2 id="results">
Results
&lt;a href="#results" class="heading-anchor">#&lt;/a>
&lt;/h2>
&lt;p>The SDK offers clean abstractions for SMS, Voice, USSD, Airtime, and Payments with minimal setup. It follows Go conventions closely, enabling predictable usage and easy extensibility.&lt;/p></description></item></channel></rss>