[ Journal — 16 essays ]
Notes from
production.
Architecture decisions, trade offs and dead ends, written from systems that actually shipped, not from a whiteboard.
16 essays
Jul 15
2 min read
Building a LINE First Fitness Agent with AI Cost Gates
I built a fitness tracker on LINE for Thailand. My ex girlfriend and friends got hooked, then they told me the hard truth about building on a chat platform.
Jul 15
2 min read
A Polyglot Feedback Platform: Django, Next.js, and Elixir Working Together
I worked as a waiter and wanted a way to give restaurants honest feedback without public shaming. So I built KraowKao using three languages that each do what they do best.
Jul 15
2 min read
Building an AI Accountability Coach That Knows Your Habits
I wanted to fix my calendar. Instead I built an AI coach that learned my procrastination patterns better than I knew them.
Jul 15
2 min read
Building a Multi Platform AI Budget Coach
I was making more money but my savings were not going up. So I built DIA, a budgeting coach that lives inside Telegram, WhatsApp, and Discord.
Jul 15
2 min read
Building a Voice AI Receptionist for Restaurants
How I built Vozko, an AI voice receptionist that answers restaurant phones during the lunch rush. The integration nightmare, the moment it clicked, and where it is now.
Jul 15
2 min read
Building a Reusable Chat Infrastructure with DynamoDB Single Table Design
I built chat for one project, then another, then another. The third time I made it reusable. One DynamoDB table that powers real time messaging for any application.
Jul 15
2 min read
Designing a Three Reviewer Consensus Platform for Digital Harm Reporting
I built a consensus platform for the South African government where three independent reviewers evaluate digital harm reports. The hard part was keeping them isolated from each other.
Jul 15
2 min read
Building a Real Time Sports Scoring Engine with WebSockets and DynamoDB Streams
Tennis courts in South Africa needed live scores that everyone could see instantly. DynamoDB and WebSockets made it possible.
Jul 15
2 min read
Migrating a Production Platform from CDK to SST Without Downtime
CDK worked until it did not. I migrated Restore Blue from AWS CDK to SST with zero downtime by running both stacks in parallel.
Jul 15
5 min read
From Dubai to Thailand: How I Landed a Remote Role at a South African Company
The Next Chapter When I left the waiter job and returned to engineering, I knew I wanted...
Mar 30 '25
3 min read
Integrating Cloudflare Turnstile with SvelteKit Forms
This post explains how to integrate Cloudflare Turnstile with a SvelteKit form using use:enhance,...
Mar 14 '25
3 min read
LeetCode 35: Search Insert Position. Binary Search vs Linear Scan
The problem is here My Solution: /** * @param {number[]} nums * @param {number}...
Aug 28 '24
3 min read
Cleaner Function Signatures with Destructured Parameters
Let's say I have a project in three.js and I need some geometries, I will hardcode an array of...
Aug 28 '24
4 min read
From Software Engineer to Waiter in Dubai
My Journey in Dubai I've recently moved to Dubai, the city of luxury we all know well, but...
Jun 20 '22
2 min read
The Vue Slot Shorthand That Makes Templates Cleaner
Named Slots has a shorthand that isn't necessarily shorter but maybe cleaner. This is the regular...
May 17 '21
2 min read
Simple guide of Flexbox in Real Life🔥
Flexbox is an interesting way to make layout At least better -as I see- compared to float's and other...

Written and published from the admin panel.
Back to the journal ↗