Skip to content
View treagod's full-sized avatar

Block or report treagod

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
treagod/README.md

Marvin Ahlgrimm

I build web applications and developer tools with Ruby on Rails, Crystal and Marten.

Most of my work is somewhere between application code and the small pieces around it. Forms, models, handlers, background jobs, deployment scripts, admin tools and things that remove manual work.

I like codebases that are still understandable after a few months away from them. Not because every part is simple, but because the structure is clear and the important decisions are easy to follow.

What I work with

  • Ruby on Rails applications and backend systems
  • Crystal
  • Marten applications and framework extensions
  • Deployment tooling with Podman, Quadlets, SSH and Caddy
  • Server-rendered interfaces with Hotwire and Turbo-style workflows
  • SaaS, analytics and data workflows with a focus on privacy
  • Small infrastructure setups for small teams and solo developers

I usually start with server-rendered HTML. A lot of interfaces work well that way, and I prefer using the browser’s built-in behavior where it makes sense.

That does not mean avoiding JavaScript completely. It means using it where it helps, instead of making it the default answer for every interaction.

I think about deployment in a similar way. Kubernetes has its place, but many projects do not need that level of infrastructure. For small teams and solo developers, a normal server with clear commands is often easier to run and easier to debug.

Open source

  • Author of Meridian, a deployment tool inspired by Kamal, built around Podman, Quadlets and simple server deployments
  • Contributor to Marten, the Crystal web framework
  • Author of marten-turbo, Turbo helpers for Marten applications
  • Author of importmap.cr, framework-agnostic import maps for Crystal
  • Author of marten-throttle, rate limiting helpers for Marten applications
  • Author of marten-money, Money field integration for Marten models

What matters to me

I care about software that can run in production without becoming a burden.

For me, that usually means clear data models, predictable behavior and defaults that do not get in the way. I do not mind abstraction, but I want to understand what happens when something breaks.

I also like tools that stay close to the web. Forms should behave like forms. Links should behave like links. A deployment tool should show what it is doing instead of hiding everything behind too much magic.

Current interests

Right now, I spend a lot of time on Crystal and Marten.

Some of that work is about framework features. Some of it is about the smaller things around a framework that make daily work nicer, like Turbo helpers, import maps, rate limiting and money fields.

I am also working on deployment workflows that are useful without a large platform around them. Podman, Quadlets, SSH and Caddy cover many of the cases I care about, but the workflow can still be improved.

Links

Pinned Loading

  1. meridian meridian Public

    Deploy anywhere, without a harbor

    Crystal 1

  2. martenframework/marten martenframework/marten Public

    The pragmatic web framework.

    Crystal 473 32

  3. marten-turbo marten-turbo Public

    Enhance your Marten app with dynamic updates using Turbo Frames!

    Crystal 13 1

  4. marten-stimulus marten-stimulus Public

    Crystal 3

  5. marten-money marten-money Public

    A custom :money model field that integrates the Money shard

    Crystal 2

  6. marten-throttle marten-throttle Public

    Crystal 2