Benjamin Shawki
Potters.Tools

Tech Blog

Technical articles and insights on web development, TypeScript, API design, and software engineering best practices.

Using FZF as a Universal Launcher on Sway

How to replace application launchers, emoji pickers, and monitor profile switchers with FZF-powered floating terminal windows on Sway WM.

SwayFZFLinuxWindow ManagerProductivity

A Screenshot and OCR Workflow for Wayland

Build a screenshot suite with region capture, window capture, and instant OCR text extraction using grim, slurp, and Tesseract on Sway.

WaylandSwayOCRTesseractScreenshotsShell Script

Showing Now Playing Music in Waybar with playerctl

A simple shell script that creates a custom Waybar module displaying the currently playing track from Tidal or any MPRIS-compatible media player.

WaybarSwayLinuxShell ScriptMusicCustomization

Building a Scalable VPS Management System with Proxmox

Technical deep dive into engineering a comprehensive API and management layer for Proxmox Virtual Environment, implementing infrastructure automation and cross-team communication for the Hemiron project.

InfrastructureProxmoxVirtualizationAPI DevelopmentDevOpsIaCSystem Architecture

Engineering Zero-Downtime Deployments: The Hemiron Rollback System

A comparative analysis of Traefik and Nginx performance for instant rollback functionality in blue-green deployments, with empirical results showing Nginx achieving up to 77% faster rollback times.

DevOpsReverse ProxyBlue-Green DeploymentNginxTraefikZero-DowntimeDockerGitLab CI/CD

Building Type-Safe APIs with Schema Validation

Learn how to create type-safe API interactions using TypeScript and schema validation libraries like Zod and Valibot.

TypeScriptAPI DesignSchema ValidationZodValibotDesign Patterns