static-deploy-kit: A Reusable CI/CD Framework for Next.js

I’ve open-sourced static-deploy-kit, a production-ready CI/CD framework that handles the complete deployment lifecycle for Next.js projects. It supports automatic semantic versioning, PR preview environments, and SFTP deployment with instant rollback capability.

Announcing static-deploy-kit

Features

– Three deployment contexts: production, releases, and PR sandboxes

– Automatic version bumping from PR markers (`[major]`, `[minor]`, `[patch]`)

– Smart test skipping for infrastructure-only changes

– Preview URLs automatically posted to PRs

– Backup-first deployment with symlink-based rollback

**Call to Action:**

Check out the repository, star it if useful, and feel free to open issues or PRs.

JIRA Worklogs Bot: A System Design Document for Simplifying Time Tracking

Original version was published in October 2025, updated: January 2026

This is a system design document for a Microsoft Teams bot that replaces JIRA’s clunky worklog UI with a single-view Adaptive Card interface.

JIRA Worklogs Bot: System Design Document

What This Document Covers

This is a complete system design for a Teams bot that solves the weekly pain of JIRA time reporting:

  • Problem analysis and design goals
  • Microsoft Teams Adaptive Card interface design
  • Spring Boot 3 + AWS Lambda backend architecture
  • Data flow and API contracts
  • Load simulation and performance SLOs
  • Production readiness checklist and evolution roadmap

Estimated reading time: 20-25 minutes

Who This Is For

  • Engineers frustrated with JIRA’s worklog UI
  • Teams developers building Adaptive Card integrations
  • Backend engineers designing serverless Java applications
  • System designers evaluating AWS Lambda for low-traffic, bursty workloads
  • Anyone interested in load analysis for realistic traffic patterns

The document includes the actual Adaptive Card JSON structure, sequence diagrams, data models, and a mathematical load simulation proving that a single Lambda function handles the Friday afternoon spike comfortably.

Questions or improvements? Open an issue on the repo or e-mail me.

Building a Route Optimization Engine in 4.5 Hours: An LLM-Assisted Hackathon Post-Mortem

This is a technical post-mortem analyzing constraint-driven development with AI coding assistants.

Building a Route Optimization Engine in 4.5 Hours: An LLM-Assisted Hackathon Post-Mortem

What This Document Covers

This is a detailed analysis of building production-grade code under time constraints:

  • Constraint design for AI coding assistants
  • Decision-making process during rapid development
  • AWS Location Service API integration
  • Performance optimization and UX decisions
  • Honest assessment of what worked and what didn’t

Estimated reading time: 15-20 minutes

Who This Is For

  • Engineers evaluating AI coding assistants for production work
  • Technical leads designing development workflows with LLMs
  • Anyone building route optimization or mapping systems
  • Developers interested in constraint-driven development approaches
  • Teams looking to understand when AI assistance helps vs. hinders

The document includes the actual constraint prompt we used, architectural decisions with reasoning, and specific examples of where the LLM excelled (API integration) and where it failed (domain knowledge, architectural vision).

Questions or improvements? Open an issue on the repo or e-mail me.

The Process and the Craft

I haven’t blogged, in the pre-social media sense, in a really long time. It feels strange sitting here in front of the screen to do so.

But this blog has survived every life phase I’ve gone through, accompanied me through moving between continents, and is weathering the seasons of digital media production. It’s a trusted companion.

A few weeks ago, I had a reckoning and reconciliation that brought me back to my art in a significant way. I started watching and making film again. And that part ‘making’ has been the key part. I hadn’t touched or lifted a camera – still or moving – in years, perhaps decades. My only involvement with them has been moving them between different apartments and compartments of where I’ve lived.

But over the past week or so, my analogue Nikon, digital Canon, and Canon DV cameras have all breathed fresh air.

One thing I’m grateful for during this renaissance is that I know no one cares about the process or craft except me. That koolaid hasn’t coursed down my throat. This post is for me and this making-of video is for me – no one else. I’m documenting everything for me, for me to return to these posts later and reflect. No matter if my career goes somewhere or not. The myopic self-obsession of social media has worn off now and I just want to make art, and document it. That’s all.

It seems like everything is returning at the same time and I appreciate that. I really cherish that. Being free of the shackles of self-promotion on social media means that I can work on multiple projects at the same time and it doesn’t matter. Because no one is watching and it is glorious. It’s just me and the work.

What Am I Working On?

  • A video essay, to go into production soon. Script completed.
  • Two short films, combining old DV footage and fresh DSLR video coverage. The original concepts have passed their sell-by dates, so I’m repackaging them into magical realism ideas instead.
  • A stopmotion short. This one is original and current to 2026.
  • Revisiting the novel I’ve been having a tryst with for 13 years
  • Revisiting delicately a podcast I started writing in 2016 and abandoned in 2019.

Great Things I’ve Read

  • Hills are Like White Elephants by Hemingway. What a harrowing, brilliant story. Execution par excellence, characters so real that I’ve met them before.
  • The Art of the Short Story by Hemingway. Awful essay. Don’t meet your heroes.
  • The Umbrella by Tove Ditlevsen. Striking portrayal of the mundane – people, life, relationships.

What Am I Reading?

  • The Reader by Bernard Schlink. Such a great novel.
  • Making God Real in the Orthodox Christian Home by Fr. Anthony M. Coniaris. A beautiful book, as an investment towards my future marriage and family life.

Complete Guide: Deploying Services to AWS EKS with Terraform and Helm

This is a comprehensive, step-by-step guide for deploying containerized services to Amazon EKS. You’ll learn how to:

A Complete Guide to Deploying a Service to AWS EKS

What This Guide Covers

This is a comprehensive, production-ready deployment guide covering:

– Infrastructure provisioning with Terraform

– Container builds and ECR push with GitHub Actions

– Kubernetes deployments with Helm

– IAM Roles for Service Accounts (IRSA) configuration

– Complete troubleshooting section

Estimated time: 2-3 hours first time, ~30 minutes after that.

Who This Is For

  • Platform engineers building self-service deployment pipelines.
  • DevOps engineers standardizing EKS deployments.
  • Anyone who’s fought with Kubernetes RBAC, IAM permissions, and Helm templating and wants a reference that just works.

The guide includes complete working examples – not snippets, but full Terraform modules, Helm charts, and GitHub Actions workflows you can adapt.

*Questions or improvements? Open an issue on the repo or message me on LinkedIn.*

Office Hours: Ask a Senior Engineer on Fridays from 9am to 3pm CEST

I’m starting something simple to help fellow engineers.

Over the last few months, people reached out with questions about direction, strategy, and “what actually matters” when trying to get hired in Europe/Sweden. It was in response to an off-the-cuff post during the summer (the Hug-a-Platform-Engineer one).

I’m grateful actually for some of the humor getting lost in translation! It’s opened up an opportunity to do something new.

So, I’m starting a weekly series: Office Hours: Ask a Senior Engineer on Fridays from 9am to 3pm CEST.

If you’re a junior engineer, a career-switcher, mid-and-stuck, senior-and-stuck, or just trying to break into engineering in the EU, drop one question below.

Anything about:
* skill focus
* job search strategy
* what EU/Sweden roles really require
* technical direction
* getting unstuck

To make it easier, here’s an example:

Question
“I’m a platform engineer outside of Europe. How do I get noticed by EU teams?”

Mini-answer
Make one small public project that demonstrates reliability work — something like a simple service with a playbook + basic telemetry. Show deployment with CI and basic secrets management. Hiring managers trust what they can see, and you can build credibility in 2–4 weeks this way.

So, that’s it!

What’s one question you want clarity on?

I’ll pick one each week, and I’ll answer it honestly and practically — no grift, no sales pitch.

Verifying Android Bundles Before Publishing

I posted last week about writing some scripts to sanity-check and validate Android bundles before uploading to Google Play Store (and having them rejected!).

I’ve made the scripts – one for AABs and APKs – open source as public gists.

curl -s https://gist.githubusercontent.com/minademian/71a5a3d0243496ce6a2a49956c01e4cd/raw/05189c8da3c8833595546a68325a3617cbd1944f/verify_aab_release.sh | bash
curl -s https://gist.githubusercontent.com/minademian/6e841c8e1a84308c6b3dc937a2d4a4cd/raw/4768df88d3d3111c134700c0637ed030a97af3a9/verify_apk_release.sh | bash

You can take it one step further and add it to your precommit hook, using the hook management tooling of your choice.

It will look like this:

yarn test || exit 1 # script in package.json: "bash./scripts/verify_aab_release.sh", yarn validate-packages || exit 1 npx lint-staged || exit 1
Verified by ExactMetrics