Technicalblog & articles.
§ 00_preface
Half-formed thoughts, post-mortems, and the occasional useful pattern. Notes from the keyboard, written when the dust finally settles.
[blog_diag] status: active
- // entries
- 10
- // years
- 5
- // latest
- Jul 02, 2026
- // feed
- rss.xml ↗
archive() // 10 entries
- [log_01]
pg-pilot - a Postgres.app for Linux
I got tired of managing Postgres versions on Linux, so I built a small Wails app that downloads, runs, and manages multiple local Postgres instances with no system install and no root.
read_entry()
- [log_02]
Over-the-Air Updates for React Native with hot-updater, Tigris, and Astro
Self-host React Native OTA updates without a paid plan - swap Cloudflare R2 for Tigris's free 5GB tier and run the update server on any Worker-compatible framework. This uses Astro.
read_entry()
- [log_03]
Auto Token Refresh with Axios and MMKV in React Native
Setting up automatic JWT token refresh in React Native using Axios interceptors and MMKV, with a queue to prevent duplicate refresh calls when multiple requests hit 401 at the same time.
read_entry()
- [log_04]
Build-time OG images in Astro
How I generate per-page Open Graph images at build time using satori and resvg-js - no edge runtime, no external service, just a custom Astro integration.
read_entry()
- [log_05]
Building an NSFW Detection Telegram Bot with Bun and TypeScript
A tutorial on creating an automated content moderation Telegram bot using Bun, @mtkruto/node, and @nsfwspy/node to detect and remove inappropriate images from group chats.
read_entry()
- [log_06]
Implementing Auto Token Refresh with Ky for React & React Native
A comprehensive guide on building an automatic JWT token refresh system using Ky.js that works across both React and React Native, handling concurrent requests efficiently.
read_entry()
- [log_07]
Building a Reusable React Native Input Component with React Hook Form
Learn how to build a type-safe, reusable React Native TextInput component that integrates seamlessly with React Hook Form and supports custom accessories.
read_entry()
- [log_08]
Method chaining in TypeScript
Learn how method chaining works in TypeScript and JavaScript, and how to implement it in your own classes to write more readable and concise code.
read_entry()
- [log_09]
Fade Image with background in React-Native with react-native-skia
Learn how to create smooth image fade effects in React Native using react-native-skia's Mask and LinearGradient components.
read_entry()
- [log_010]
How to Deploy TGVCBot (<=v0.2.5) in a Ubuntu VPS
Step-by-step guide to deploying TGVCBot - a Telegram bot+userbot to play music from JioSaavn and YouTube in group voice chats - on a Ubuntu VPS using PM2.
read_entry()