<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Wowzi’s Substack]]></title><description><![CDATA[My personal Substack]]></description><link>https://www.tech.wowzi.co</link><image><url>https://substackcdn.com/image/fetch/$s_!XScD!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2556786a-e527-441a-8dbf-4bfd38e6ea02_144x144.png</url><title>Wowzi’s Substack</title><link>https://www.tech.wowzi.co</link></image><generator>Substack</generator><lastBuildDate>Tue, 05 May 2026 18:40:08 GMT</lastBuildDate><atom:link href="https://www.tech.wowzi.co/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Wowzi Tech]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[wowzitech@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[wowzitech@substack.com]]></itunes:email><itunes:name><![CDATA[Wowzi Tech]]></itunes:name></itunes:owner><itunes:author><![CDATA[Wowzi Tech]]></itunes:author><googleplay:owner><![CDATA[wowzitech@substack.com]]></googleplay:owner><googleplay:email><![CDATA[wowzitech@substack.com]]></googleplay:email><googleplay:author><![CDATA[Wowzi Tech]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[AI in the Software Development Cycle in Practice: Reflections from Design, Frontend, and Leadership.]]></title><description><![CDATA[A Lovable Experiment.]]></description><link>https://www.tech.wowzi.co/p/ai-in-the-software-development-cycle</link><guid isPermaLink="false">https://www.tech.wowzi.co/p/ai-in-the-software-development-cycle</guid><dc:creator><![CDATA[Wowzi Tech]]></dc:creator><pubDate>Wed, 22 Oct 2025 07:22:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yIZ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When we decided to experiment with the lovable AI, <strong>Lovable</strong>; the goal was simple: see if AI could help us move faster from idea to interface. What followed was a useful but sobering experience that revealed both the promise and the limits of AI-assisted product building.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yIZ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yIZ2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!yIZ2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!yIZ2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!yIZ2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yIZ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2036816,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.tech.wowzi.co/i/176807754?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yIZ2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!yIZ2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!yIZ2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!yIZ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18364408-08dc-4a96-8319-a9ca03c1ac80_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.tech.wowzi.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Wowzi&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>Design Perspective: Working with Lovable </strong>(Matilda)</h3><p>Our design team&#8217;s perspective, working with Lovable was an interesting but mixed experience. It showcased the speed and potential of AI-assisted design, but also revealed what happens when strong design systems aren&#8217;t in place.</p><p><strong>What worked well:</strong><br>Lovable made it easy to generate quick layout ideas and wireframes, especially for SaaS workflows that typically require multiple states and screens. It accelerated early exploration and provided a structure to discuss with the team. The speed and automation were valuable in the early brainstorming phase.</p><p><strong>What didn&#8217;t work well:</strong><br>Most generated designs violated core design principles such as hierarchy, spacing, and consistency. Accessibility and contrast ratios were often off, and interaction logic felt random rather than system-driven. Without integration to our design tokens or style guide, outputs lacked brand alignment and required heavy correction in Figma.</p><p><strong>What could have been better:</strong><br>If Lovable could be trained or prompted using our existing design system and component library, it would have produced more coherent results. A feedback loop between AI generation and manual refinement in Figma would make it genuinely powerful for scalable design systems like ours.</p><div><hr></div><h3><strong>Frontend Perspective: Working with Lovable </strong>(Ibrahim)</h3><p>From our frontend team, Lovable currently feels more like a <strong>prototyping tool</strong> than a development solution.</p><p><strong>What worked well:</strong><br>The UI generation is impressive: clean layouts that look good and communicate intent quickly. It&#8217;s excellent for visualizing concepts and aligning stakeholders early without heavy coding.</p><p><strong>What didn&#8217;t work well:</strong><br>Under the hood, the generated code often struggles with structure and maintainability. Integrating it into an existing production codebase risks introducing technical debt and bugs over time. The generated React code also clashed with our Vue.js environment, reducing developer experience and reusability.</p><p><strong>What could have been better:</strong><br>Lovable would benefit from allowing developers to define existing project standards, folder structures, and UI libraries (Vue, React, Angular, etc.) before generation. Optional Figma exports for code review and design parity would also help. These changes could make Lovable more than a visual playground: a genuine bridge between prototype and production.</p><div><hr></div><h3><strong>Context, Constraints, and Reality</strong></h3><p>Maybe this wasn&#8217;t Lovable&#8217;s fault: maybe it was ours.<br>Would the outcome have been different if we had given the designer and engineer uninterrupted time to explore it deeply on their own? Probably.</p><p>But in a <strong>scale-up environment</strong>, where every sprint is tightly scheduled, that kind of open-ended exploration comes at a real cost. The reality is that teams have to deliver. Experimentation windows are narrow, and tooling must prove its value fast.</p><p>There&#8217;s also the <strong>privacy and IP concern</strong>. Giving an external AI platform access to internal design systems, codebases, and component libraries isn&#8217;t a trivial decision, especially when proprietary assets are involved.</p><p>Still, Lovable did something meaningful: it helped us <strong>prototype faster</strong>, get <strong>feedback earlier</strong>, and <strong>iterate with clearer context</strong>. That acceleration, even if imperfect, shortened our learning cycle.</p><p>The takeaway is simple: Lovable isn&#8217;t ready to sit inside a SaaS level production workflow, but it&#8217;s a strong ally in early ideation. The challenge and opportunity lie in bridging that gap between AI speed and production rigor.</p><p>In the end, we settled on using Lovable primarily as a <strong>rapid prototyping accelerator</strong>: a way to get early structure, flow, and alignment without overinvesting in code or pixel perfection. Once the prototype captured the right intent, we <strong>handed it off to our design team as a blueprint</strong>, enabling them to layer in Wowzi&#8217;s platform-specific requirements, brand system, and usability refinements. This approach let us benefit from Lovable&#8217;s speed while ensuring the final output met our design standards and integrated seamlessly into our established workflows.</p><div><hr></div><p><strong>In short:</strong><br>Lovable gave us speed but not fidelity, direction but not depth.<br>If it evolves to <strong>safely</strong> understand team context, framework diversity, and real-world code discipline, it might just change the game.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.tech.wowzi.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Wowzi&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[From Wahala to Workaround: Deploying AI-Powered Services with AWS Lambda]]></title><description><![CDATA[How we navigated SDK frustrations, serverless quirks, and built a cleaner AI integration path at Wowzi.]]></description><link>https://www.tech.wowzi.co/p/from-wahala-to-workaround-deploying</link><guid isPermaLink="false">https://www.tech.wowzi.co/p/from-wahala-to-workaround-deploying</guid><dc:creator><![CDATA[Wowzi Tech]]></dc:creator><pubDate>Mon, 23 Jun 2025 16:00:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ao33!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ao33!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ao33!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ao33!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ao33!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ao33!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ao33!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Serverless Architecture Workflow Diagram&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Serverless Architecture Workflow Diagram" title="Serverless Architecture Workflow Diagram" srcset="https://substackcdn.com/image/fetch/$s_!ao33!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ao33!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ao33!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ao33!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c7b0ed9-69fe-41bf-8000-44661e1f8630_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At Wowzi, we&#8217;re constantly exploring ways to improve the experience of creators and advertisers through intelligent, scalable infrastructure. As part of that journey, our engineering team set out to introduce AI-powered services that could support content workflows across our platform: from content generation to moderation and insights.</p><div class="pullquote"><p>"Wahala" is a Nigerian Pidgin English word that primarily means <strong>trouble or problem</strong>. It can also refer to inconvenience, fuss, or bother. The meaning can vary depending on context, but it generally indicates a negative situation or difficulty.</p></div><p>The goal was to build a serverless service that could interface with LLMs behind the scenes and deliver fast, flexible responses at scale. Of course, it is retrieval augmented. We opted for a Lambda-first architecture to maintain our commitment to elastic infrastructure and reduce operational overhead. The plan was simple: integrate a general-purpose AI SDK and swap out model providers as needed.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.tech.wowzi.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Wowzi&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fcoI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fcoI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!fcoI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!fcoI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!fcoI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fcoI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fcoI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!fcoI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!fcoI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!fcoI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07d8bdfd-9e55-4a7e-8bff-d923e36ff03f_1024x1024.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Or so we thought.</p><p><strong>The Setup</strong></p><p>To accelerate development and ensure long-term flexibility, we chose to start with the openai Python SDK. It had a clean abstraction, support for multiple model types, and offered the promise of provider-agnostic usage if you stayed close to the OpenAI-compatible API standards.</p><p>Given our serverless-first approach, the natural next step was to deploy it within an AWS Lambda Layer, targeting Python 3.11 with the ARM64 architecture for cost and performance benefits.</p><p><strong>Where Things Got Complicated</strong></p><p>Things unraveled fast.</p><p>First, the openai package brought in pydantic-core, a compiled dependency with tight coupling to specific versions of Python and system architecture. Installing it locally was no problem, but once deployed into Lambda, we started encountering runtime errors like:</p><pre><code><code>&#8220;cannot import name 'from_json' from 'pydantic_core._pydantic_core'&#8221;</code></code></pre><p>This suggested binary mismatches. So we went back to basics and rebuilt everything inside Docker containers that mirrored Lambda&#8217;s runtime; even targeting manylinux2014_aarch64 for full compatibility.</p><p>That fixed the original import error&#8230;, but introduced a new one: Lambda could no longer find the openai module itself. Now you see the <em>wahala</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QAQj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QAQj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!QAQj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!QAQj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!QAQj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QAQj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Generated image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generated image" title="Generated image" srcset="https://substackcdn.com/image/fetch/$s_!QAQj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!QAQj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!QAQj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!QAQj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ef0032-f44a-4b37-a11f-a0171c2ddee8_1024x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We verified the zip structure, checked that <em>python/</em> was at the correct level, ensured proper architecture matching, and even manually inspected every path Lambda was seeing during execution. The module was clearly there. Lambda simply refused to acknowledge it.</p><p><strong>The Pivot</strong></p><p>At this point, we paused and asked a deeper question:</p><p>Do we really need the SDK?</p><p>The value we were chasing was provider flexibility and a clean API interface. But that could just as easily be achieved by directly integrating with the REST APIs of each LLM provider.</p><p>And so, we pivoted.</p><p><strong>Enter </strong><em><strong>nemotalk</strong></em><strong>: A Clean, Custom Abstraction</strong></p><p>We built a small internal utility called <em>nemotalk</em>: a lightweight function that communicates directly with NVIDIA&#8217;s REST APIs. It handles authentication and response parsing without depending on any SDK or heavyweight Python packages. A couple other functions took handle the retrieval of data for prompt augmentation.</p><p><strong>What we gained:</strong></p><p>Portability: Switching from NVIDIA to another provider (e.g., Perplexity, Mistral, or open-source LLMs) is as simple as changing a base URL and a model identifier.</p><p>Zero SDK headaches: No more worrying about compiled dependencies breaking Lambda.</p><p>Control: We now own the interaction logic, which means better logging, failover strategies, and customization options going forward.</p><p>The end result is an AI-powered service that runs cleanly on AWS Lambda, aligns with our serverless infrastructure, and opens the door to faster iteration across multiple LLM platforms.</p><p><strong>What&#8217;s Next</strong></p><p>As our AI-assisted tooling matures, this foundation will allow us to deliver more intelligent features across the Wowzi platform. And as the LLM ecosystem evolves, we&#8217;re well-positioned to adapt quickly, with no need to rewrite large chunks of code or re-architect deployments.</p><p>This project is just one in a series of engineering efforts we&#8217;ll be sharing here on the Wowzi Tech blog, as we continue building scalable, modern infrastructure for Africa&#8217;s growing creator economy.</p><p>Stay tuned for more stories from the edge of AI, cloud, and creator tooling.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.tech.wowzi.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Wowzi&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Engineering at Wowzi]]></title><description><![CDATA[Building the End-to-End Influencer Marketing Operating System for Africa]]></description><link>https://www.tech.wowzi.co/p/engineering-at-wowzi</link><guid isPermaLink="false">https://www.tech.wowzi.co/p/engineering-at-wowzi</guid><dc:creator><![CDATA[Wowzi Tech]]></dc:creator><pubDate>Wed, 04 Jun 2025 15:46:46 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/73eba844-e423-46cf-a5ac-a33fdb7d102a_1440x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At Wowzi, engineering is much more than writing code or handling data. It&#8217;s the driving force behind our mission to make influencer marketing accessible, scalable, and efficient across Africa. We are building what we call the <strong>influencer marketing operating system for Africa</strong>: a platform designed to empower brands, creators, and advertisers with the tools they need to succeed.</p><h3>Our Engineering Philosophy</h3><p>Engineering at Wowzi is about enabling seamless processes. Our goal is to remove friction and boost efficiency at every stage, whether that&#8217;s back-office operations, our mobile app, or our <a href="https://platform.wowzi.co/">business platform</a>. We build systems that are intuitive and largely self-sufficient, letting users focus on what matters while our technology handles the heavy lifting behind the scenes.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.tech.wowzi.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Wowzi&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Central to our approach is a continuous user feedback loop. This drives an iterative development process ensuring our products evolve based on real-world use, keeping us aligned with our vision to be the definitive operating system for influencer marketing in Africa.</p><h3>A Distributed Engineering Team</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cXCV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cXCV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!cXCV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!cXCV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!cXCV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cXCV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:320307,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.tech.wowzi.co/i/165195664?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cXCV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!cXCV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!cXCV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!cXCV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb897627-0557-41f0-b405-1fa99fd285be_1920x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image credit: Getty Images, Inc.com</figcaption></figure></div><p>Our engineering team is truly global, with talent spread across Kenya, Nigeria, the UK, the Netherlands, and Ukraine. This diversity allows us to tap into a rich range of perspectives and collaborate across time zones, building solutions that reflect the varied needs of users across the continent and beyond.</p><h3>The Wowzi Engineering Team</h3><p>Our multi-disciplinary engineering team includes Backend (BE), Frontend Web and Mobile (FE), Data Engineering and Analytics, DevSecOps, and Quality Assurance (QA). Together with product management, design, and analytics teams, we deliver features that are both technically sound and user-centric.</p><p>We organize around specialized, autonomous feature teams that own delivery end-to-end. This empowers rapid innovation and meaningful impact. We&#8217;ve also heavily invested in AI-powered solutions for content moderation, creator insights, campaign automation, and reporting; all critical to scaling our platform across Africa.</p><h3>Our Software Development Lifecycle (SDLC)</h3><p>Our SDLC blends Agile best practices with clear, consistent communication:</p><ul><li><p><strong>Planning &amp; Design:</strong> Features start as Epics in Jira, broken down into Stories and Tasks to align the team and track progress.</p></li><li><p><strong>Development &amp; Automation:</strong> We use a combination of monolithic and event-driven serverless microservices (like AWS Lambda) for scalable, cost-effective solutions.</p></li><li><p><strong>Testing &amp; Quality Assurance:</strong> Rigorous unit tests, QA, and user acceptance testing (UAT) ensure stability and quality.</p></li><li><p><strong>Staging &amp; Demos:</strong> Features are demoed regularly, from design to staging, with continuous feedback guiding improvements.</p></li><li><p><strong>Production &amp; Monitoring:</strong> Real-time monitoring and user feedback drive reliability and future updates.</p></li></ul><h3>Building for the Future</h3><p>Payments aren&#8217;t just an add-on; they&#8217;re a core part of creator-led campaigns. Our platform aims to unlock not only creative potential but also financial freedom for creators, starting in Africa and expanding globally.</p><p>We envision a future where every creator with a Wowzi account has a <strong>&#8220;Pay with Wowzi&#8221;</strong> option on every checkout page.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KbMD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KbMD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png 424w, https://substackcdn.com/image/fetch/$s_!KbMD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png 848w, https://substackcdn.com/image/fetch/$s_!KbMD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!KbMD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KbMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png" width="1440" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:198179,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.tech.wowzi.co/i/165195664?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KbMD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png 424w, https://substackcdn.com/image/fetch/$s_!KbMD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png 848w, https://substackcdn.com/image/fetch/$s_!KbMD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!KbMD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8ca72a3-fcc2-4bd4-8803-cf35345baad6_1440x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Wowzi business platform dashboard.</figcaption></figure></div><h3>Engineering as an Enabler</h3><p>Engineering at Wowzi powers the entire influencer marketing workflow. With automation, a focus on user experience, and feedback-driven iteration, we&#8217;re building a platform that will continue to innovate and shape influencer marketing&#8217;s future in Africa.</p><p>We embrace failure but fast failure. This mindset helps us deliver the most valuable automations and features that truly matter to our users.</p><p>Stay tuned as we share more insights from our engineering journey!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.tech.wowzi.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Wowzi&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[ Welcome to Wowzi Tech!]]></title><description><![CDATA[Where Innovation Meets Execution]]></description><link>https://www.tech.wowzi.co/p/welcome-to-wowzi-tech</link><guid isPermaLink="false">https://www.tech.wowzi.co/p/welcome-to-wowzi-tech</guid><dc:creator><![CDATA[Wowzi Tech]]></dc:creator><pubDate>Mon, 12 May 2025 13:19:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28092418-4104-491d-891b-d042229c048f_168x168.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H93U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H93U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic 424w, https://substackcdn.com/image/fetch/$s_!H93U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic 848w, https://substackcdn.com/image/fetch/$s_!H93U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic 1272w, https://substackcdn.com/image/fetch/$s_!H93U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H93U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3256580,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://wowzitech.substack.com/i/163388300?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!H93U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic 424w, https://substackcdn.com/image/fetch/$s_!H93U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic 848w, https://substackcdn.com/image/fetch/$s_!H93U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic 1272w, https://substackcdn.com/image/fetch/$s_!H93U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4ca0b6-6aed-489c-98ac-6b84beedd6cb.heic 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hello, tech enthusiasts, developers, and curious minds! Our team at Wowzi Tech launched its official tech blog on Substack to share Wowzi's vision. </p><p>Wowzi Tech serves as your window into how our company builds scale and innovates through our mission to develop meaningful technology that enables perfect brand-creator connections.</p><h3><strong>What is Wowzi Tech About?</strong></h3><p>Every activity at Wowzi runs on technology as its fundamental driving force. </p><p>The engineering team at Wowzi develops mobile applications with user-friendly interfaces while establishing robust infrastructure, maintaining excellent quality through quality assurance practices, continuous monitoring and observability to advance the company's mission. Through our Wowzi Tech blog we will share the entire technological journey with our audience.</p><p>Expect deep dives into:</p><p>App Development: How we design and build user-centric apps that empower creators and brands.</p><p>Infrastructure: The backbone of our platform&#8212;scalable, reliable, and built for the future.</p><p>Quality Assurance: Our rigorous processes to ensure every release is polished and performant.</p><p>Monitoring &amp; Observability: How we keep our systems humming with real-time insights and proactive solutions.</p><h3>Why We&#8217;re Here</h3><p>We develop technology solutions which solve practical issues through innovative methods and exactness. Our blog reveals how we build technology at Wowzi by revealing programming code and overcoming difficulties during triumphs in our development process. Every developer seeking information about our technology stack and product managers who want to understand our workflows as well as tech enthusiasts who want to learn will find relevant content in this platform.</p><h3>What to Expect</h3><p>In the following weeks we will feature stories about our technical operations:</p><ul><li><p>Detailed information about recent app feature development.</p></li><li><p>Lessons learned from expanding our infrastructure to manage large interaction volumes.</p></li><li><p>Our QA team will present debugging techniques which help identify issues before they become major problems.</p></li><li><p>Our observability tools that enable us to maintain proactive issue detection and resolution.</p></li><li><p>Spotlight on the brilliant minds on our engineering team.</p></li></ul><h3>Join the Journey</h3><p>You can join our exciting journey with us. Subscribing to Wowzi Tech on Substack enables you to receive our newest blog entries in your email inbox. </p><p>Got a topic you&#8217;d love us to cover? Drop us a comment or reach out&#8212;we&#8217;re all ears.</p><p>Here&#8217;s to building, learning, and sharing the tech that powers Wowzi. Let&#8217;s get started!</p><p>&#8212;The Wowzi Tech Team</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.tech.wowzi.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Wowzi&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Coming soon]]></title><description><![CDATA[This is Wowzi&#8217;s Substack.]]></description><link>https://www.tech.wowzi.co/p/coming-soon</link><guid isPermaLink="false">https://www.tech.wowzi.co/p/coming-soon</guid><dc:creator><![CDATA[Wowzi Tech]]></dc:creator><pubDate>Mon, 12 May 2025 11:38:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XScD!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2556786a-e527-441a-8dbf-4bfd38e6ea02_144x144.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is Wowzi&#8217;s Substack.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.tech.wowzi.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.tech.wowzi.co/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item></channel></rss>