Things

A showcase of things I've done: the projects I see as mine and that I did my way. Only serious stuff - no vibe-coded apps, throwaway experiments, or things I did just for money.

ffloyd.space ffloyd.space since 2026

After building marina-coach.me with SvelteKit instead of CMS or static site generator, I liked the approach so much that I reused it for my personal site.

Pretty soon it paid off as I was able to adjust Markdown rendering in any way I want. I like this creativity freedom!

marina-coach.me since 2025

My first SvelteKit project. I did a coaching services website for my girlfriend.

I could use some static site generator or similar solution. But I decided to do a less boring thing.

SvelteKit can be used as a foundation for (mostly) static website. I was curious to try it for the task.

I'd say it's slower to start, but cheaper in the long run. Especially if you want custom design and structure.

I liked the process so much that I reused the approach for the site you're currently on.

Nix Setup since 2024

Dotfiles, Vim config, NixOS config, MacOS app management, packaging apps, development environments, etc - I use Nix for all of them.

In the past I tried simple dotfiles repos, dotfiles managers, bootstrap scripts, etc. None of them fulfilled my needs.

I really liked Terraform experience when managing microservices installations in a cloud. I liked how it allows to have a single configuration environment and deploy to different cloud providers simultaneously. I even searched how can I use Terraform for configuring user environment - and found Nix instead.

I started using it as a way to have shared development environment definition between working and personal machines. But today its scope is much wider.

flows 2020

A library for Ruby that implements flexible DSL for writing service objects. It is idiomatic, has zero runtime dependencies, and is optimized for minimal performance overhead.

I wrote it to substitute Trailblazer that had performance issues and hard-to-understand design. I considered Dry-transaction as a solution, but I found that its non-idiomatic design would be a problem, also it missed some important features.

The library fully replaced Trailblazer in the service my team was working on. Refactoring was trivial, engineers had no problems switching to the new DSL. Level of confusion was decreased and requests became up to 30% faster.

I haven't advertised this library to Ruby community and company I made it for no longer exists. The project is frozen because I'm not using Ruby actively nowadays.