Envirobly – Efficient application hosting platform

Envirobly.com is a startup I solo founded and launched in October 2025. It’s a culmination of an intense 3 year work, crafting a platform to deploy web applications to, while keeping the costs manageable.

It runs the full lifecycle of application infrastructure on AWS. It connects to a customer’s AWS account, lays down regional foundations (VPC, NAT, Traefik gateways, Route53 DNS, Managed Prometheus), and lets teams ship services, databases, and gateways with zero-downtime deploys, live logs and metrics.

Read more →

testerobly – lightweight automatic test runner

I’ve been running into issues, like intermittent crashes, with guard, which is a favorite amongst Rubyists, when it comes to automatically running unit tests on a file change. I’ve decided it would be a fun exercise to create my own tool, addressing my needs specifically:

Read more →

Configuring SSHKit in Automated Tests

When using Ruby’s SSHKit gem in your application, you might want to test code that uses it. Most likely, you don’t want to connect to real servers when automated tests are run. Luckily SSHKit includes a backend just for that, called Printer.

Read more →

MacOS Ventura firewall repeatedly asks to accept incoming connections when reinstalling a Ruby version with rbenv

On my Intel iMac on macOS Ventura 13.4 I ran into this annoying issue when reinstalling the same version of Ruby (3.2.2 for example) with rbenv. When running rails test:system the firewall’s “Accept incoming connections” dialog would pop every time, no matter whether you Denied or Allowed the connection to go through previously, making testing quite painful.

Read more →

How I run puma-dev alongside Rails’ bin/dev

The bin/dev script Ruby on Rails ships with, if you for example init the app with --css=tailwind or --css=bootstrap is great. It comes with auto-generated Procfile that will launch the web server and the Tailwind CSS (or other) preprocessors. In addition bin/dev will install the foreman gem if it does not exist on your system.

Read more →