FM
Focused on

Web APIs & developer tooling

Available for hire
Working with

.NET/C#, Bun/TS, Azure DevOps, Jira/Confluence

Top skills
  • .NET/C#/AoT
  • ASP.NET Core
  • PS/Bash
  • Microservice
  • OpenTelemetry
  • Azure DevOps
Main tools
  • Rider/VScode
  • Neovim/Zed
  • Ghostty
  • mise/lazygit/fnox
  • docker/OrbStack
About

A web developer specialising in the .NET stack. I like small, sharp tools: most of my day-to-day automation lives in my dotfiles as C# file-based apps compiled with Native AOT, PowerShell modules and Bun scripts.

Lately I've been building CLI tools for Kafka, Clockify and webhook, wiring up observability with OpenTelemetry, and keeping one reproducible setup across macOS, Linux and Windows.

Proud to be cyclist 🚴, I ride my bike from/to the office whenever possible. Mostly mix with public transport. So feel free to add my Strava and challenge me 😎

Projects

My shell experience for macOS, Linux and Windows: one bootstrap script that installs languages and CLI tools through mise, configures zsh/bash/PowerShell, Neovim and Git, and manages secrets with fnox. Contains day-to-day tools for development: scripting tool, docker container services, AI skills. I maintain my CLI tool using mise. This is the setup that I use to maintain several machines to work on.

  • Active
  • ShellPowerShellmisesecretAIdotfiles

Currated of CLI tool that I use in daily basis. Written as C# file-based app, and shipped as native AoT binary. Currently: dotkafka (Kafka client to manage topic along with its schema), dothook (dummy webhook service), dotclock (Clockify client).

  • Released
  • C#ClockifywebhookASP.netKafkaNative AoT

Very small tool to test health check, usefull for distroless container which is designed to be very minimum, even no shell in it. Inspired by microcheck, but lack of asserting response body. Built using Rust and delivered as pre-built binary or container. It has no dependency to any library and very small, less than 300KB. This is my first app which is built using Claude code from zero.

  • Released
  • Rustcontainerhealth-check

My a way-to-go for working with .NET project. Heavily inspired by Clean Architecture pattern from Jason Taylor. Adding standard for writing unit test, following AAA (Arrange-Act-Assert) pattern, and couple of other things to emphasize readability.

  • Archived
  • .NETdesign-patterntemplatearchitecture

My first Azure DevOps plugin which initially doesn't support cloning multiple repositories on build pipeline. Written in PowerShell script. It's been archived since the first day Azure DevOps add support resolving this issue.

  • Archived
  • Azure DevOpsPowerShell
Work history

Hubexo/BCI Central

Sr. Backend Engineer
Jun 2021 — Present

Verint Systems Inc.

Senior Technical Consultant
Oct 2014 — Jun 2021

Sabre/Abacus Distribution Systems Indonesia, PT.

Programmer
Oct 2013 — Oct 2014

Indocyber Global Teknologi, PT.

.NET Developer
Oct 2012 - Oct 2013
Latest writing
All posts →