Posts

Building a Self-Hosted SIEM for Monesize Infrastructure

As Monesize's infrastructure keeps growing, security monitoring had to evolve beyond checking individual servers, reviewing application logs and responding to vulnerabilities when they surface. A production environment generates too much security information for that approach to remain practical. System logs, application events, package inventories, authentication activity and network traffic all contain useful signals, but those signals become much more valuable when they can be collected centrally and investigated in context. That led us to build a self-hosted Security Information and Event Management system, or SIEM, for Monesize. The objective was not simply to install a security dashboard. We wanted a central security monitoring layer that could collect telemetry from our workloads, identify vulnerabilities in installed software, inspect network activity, generate security alerts and give us a single place from which to investigate what was happening across the environment. We...

The First Principles of Building a Brand

Image
Look at the image below. Depending on where you are from, what you believe, and what experiences you have had, you may see nothing more than a simple symbol. But if you are Nigerian, there is a good chance that the symbol immediately reminds you of one person: Bola Ahmed Tinubu. Image Credit : Favpng.com What makes that interesting is that there is no photograph of him in the image. There is no name, political slogan, campaign message, party logo or presidential title. There is simply a visual symbol that has been repeatedly associated with him over a long period of time. The association has become strong enough that the symbol can function as a shortcut to the person. The State House has itself described the symbol associated with his cap as having become his "trademark." There is another interesting layer to this. The same symbol can produce completely different emotional reactions in different Nigerians. One person may look at it with admiration, another may feel resentme...

Reverse Engineering an HLS Video Delivery Pipeline

When a video plays normally inside a browser, most of the underlying delivery system remains invisible. A user sees a video player, presses play, and the browser takes care of everything else. Behind that simple interface, the application may retrieve a playlist, request encryption keys, download hundreds or thousands of media segments, decrypt those segments, feed them into a MediaSource object, and finally present the resulting stream through the HTML video element. I recently had to investigate exactly this kind of setup on a custom learning management system. I had permission to download the course videos, but the LMS did not provide an obvious download option. Instead of trying to guess where the original video file lived, I wanted to understand how the browser itself received and played the media. The investigation eventually uncovered a conventional HTTP Live Streaming pipeline built around an M3U8 playlist, AES-128 segment encryption, MPEG-TS media segments, Bunny CDN deliver...

The Engineering Decisions Behind Monesize Engage: A CRM Built on Constraints

Monesize Engage is a multi-tenant sales engine and CRM platform. The product is designed to help organizations manage prospecting, outbound campaigns, pipeline management, and customer relationships from a single shared workspace. The goal from the beginning was not to build another feature-complete enterprise CRM that nobody uses. It was to build something lean, deliberate, and production-ready from the first release. This post documents the engineering decisions made while building the backend. Not the happy path decisions where everything was obvious from the start, but the real ones where constraints forced choices, where the wrong thing was built first and had to be corrected, and where the architecture had to reflect the product's actual requirements rather than what felt elegant in isolation. The backend is built on Node.js, TypeScript, Express, Prisma, and PostgreSQL. It runs on Monesize's virtual machines with Redis for job queuing. Every decision in this post traces b...