CodeCarvings
AboutContact

About

The constant

I build the infrastructure a project is missing — then I isolate it and make it usable by others.

I'm Sergio Turolla, a full stack web developer. I've been building for the web since 1998, and today my focus is the front end: React, Next.js and TypeScript.

The same thing keeps happening to me. In 2000 I needed a way to feed dynamic content to Flash front ends, so I wrote a headless CMS; the image upload component I later pulled out of it became I-Load, sold to around 800 customers in 46 countries. In 2023 I needed internationalization the type system could actually check, so I wrote it inside a Next.js SaaS; pulled out of that codebase, it became R-Machine.

CodeCarvings is where that work is public. This site is R-Machine's first real proving ground — which is another way of saying it is still being carved.

The journey

1998
First lines of code for the web
01 / 06
1998

First lines of code for the web

Websites and multimedia applications for direct clients, while I was finishing a degree in computer science in Ferrara. The web was young, tables were for layout, and every page was a small act of craftsmanship.

What hooked me was the immediacy: write something, hit refresh, see it live. That loop — make, look, adjust — never left me. It's still how I work today.

2000-2005

Seven — and the first thing I called R-Machine

Five years in an interactive communication agency: websites, portals, e-commerce systems and e-learning platforms, for industrial, media, energy and insurance clients. ASP and ASP.NET on SQL Server, with Flash front ends.

The agency's Flash front ends needed dynamic content and nothing on the market provided it, so I designed a headless CMS on my own initiative and exposed it over XML endpoints. It was called R-Machine. Remember the name.

Artifacts — SEVEN
scroll →02
2005

I-Load, the first WYSIWYG image upload and crop library for the web

The problem was always the same: a template needs images of an exact size, and the people filling it in are not the people who can produce them. So I took the image upload component out of my CMS and turned it into a product of its own — an ASP.NET control that let anyone upload an image and crop, zoom, resize and rotate it right in the browser, until it fit.

Sold under a perpetual license with an optional support and update subscription, through an e-commerce site I built and ran myself, to around 800 customers in 46 countries.

Extract, isolate, hand it over to people you will never meet. It was the first time the pattern held at that scale.

Artifacts — I-Load, configuration
scroll →03
Artifacts — I-Load, at runtime
scroll →04
2005-2010

RADactive srl

I left the agency and founded a company to develop and sell I-Load. For five years I owned the product end to end: development, releases, documentation, and direct technical support to an international customer base — which is the fastest way there is to learn what your own API really looks like from the outside.

Not all of those customers were small studios. RADactive srl invoiced NASA's Jet Propulsion Laboratory, Intel, the International Committee of the Red Cross, the United States Tennis Association, Burton Snowboards and several other internationally relevant companies and organizations.

Running that company needed infrastructure that did not exist either, so I built Revolve, a headless CMS of my own design. It ran the radactive.com e-commerce site, issued and renewed licenses, and later served client websites too.

Artifacts — RADactive srl
scroll →02
Artifacts — Revolve
scroll →01
2011

Piczard

I-Load had taught me a great deal about manipulating images, and most of that had no reason to stay locked inside a commercial product. Piczard is what I pulled out and gave away: a free .NET library with programmatic filters and a WYSIWYG component for cropping, resizing and adjusting hue, saturation and contrast.

2,712 installs on the Visual Studio Marketplace, shipped alongside an open source upload control released as customizable source code under a BSD license. The same move as always — extract, isolate — except this time nobody paid for it.

Artifacts — Piczard
scroll →02
TODAY

R-Machine — Uniformity Under Change

In 2023 I was building a SaaS in Next.js and needed internationalization the type system could actually check. I wrote it inside the project, then pulled it out. That extraction is R-Machine — the same name I had given a headless CMS twenty-five years earlier.

It's a TypeScript resource layer for React and Next.js, and it exists to reduce how many files have to change when an implementation changes. The namespace is the contract: consumers, tests and mocks depend on it, not on where a value lives or how it is shaped. State management, dependency injection and internationalization sit behind a single consumer primitive, because those are the three paths through which an implementation leaks into whatever uses it. Mocks are typed, so a resource that changes shape stops the tests from compiling instead of letting them pass on assumptions that are no longer true.

Five packages published on npm, a pnpm monorepo with Vitest and Changesets, dual AGPL and commercial licensing, public alpha under active development. This site is its first real proving ground — every page you are reading is a resource resolved through it.

Stay in the loop

Get notified about new articles, projects, and insights. No spam, unsubscribe anytime.

By subscribing, you agree to the
Privacy Policy.

CodeCarvings

A little corner of the Internet carved out by Sergio Turolla. Sharing digital experiences and exploring new solutions in the world of software development.

Powered by R-MachineR-Machine

Explore

HomeAboutContact

Social

GitHubLinkedInX

Copyright © 2026 Sergio Turolla.

Privacy PolicyCookies