Skip to main content

About

Ciao! I'm Alberto Schiabel, known as @jkomyno online.

/al'bɛrto ski'abɛl/

I build infrastructure for AI agents: CLIs, SDKs, and the tool-calling layer between a model and the systems it acts on. Developer tooling has been the core of my last five years, first for humans, and now for coding agents too. I work as a contractor who blends into your team: one primary customer at a time, plus a side quest or two that keep me learning.

One thread runs through everything I've done: at any given time, I followed what I found interesting, challenging, or both.

Alberto Schiabel in the mountains of Kazakhstan, May 2025
Kazakhstan, May 2025

What I'm building lately (2025–2026).

Over the last year I've been the author of Composio's new CLI, built from scratch with Effect and Bun. It started as a small utility that turned JSON Schema into TypeScript types, and grew into a first-class agentic interface for composio.dev. A CLI in 2026 has two kinds of users with opposite failure modes: humans want short flags and forgiving defaults, while coding agents want machine-readable output and errors they can act on. I keep finding new places where those two needs pull apart. I've also been improving Composio's TypeScript and Python SDKs, and I'm leading them to v1.

Most of that CLI is Effect, which has become my favorite way to write TypeScript. I came to it from fp-ts, whose author joined the Effect team in 2023, and I attended the first Effect Days in Vienna in 2024. After the CLI held up in production, other teams at Composio started picking Effect for new services. I had pushed the same direction at Prisma for years with little success. Working code turned out to be a better argument than advocacy.

At Prisma, I've been the most prolific contributor to prisma-next after its author, William Madden. It's my first green-field, company-sponsored project engineered with agents, where I introduced features the ORM never supported before, like type-safe polymorphism for JSON columns in Postgres. The four years before that ran across the ORM's Rust engines and the TypeScript client, including Driver Adapters from first prototype to general availability, the Prisma 7 release, and prisma.config.ts.

How I ended up building harnesses.

I've had LLMs in my editor since the GitHub Copilot beta, and I've found Claude Code useful for actual work since December 2025. What hooked me wasn't code completion but harnesses: the scaffolding around a model that decides what it can see, what it can touch, and when it should stop. In January 2026 I wired Claude Code hooks into a tmux and Telegram bridge, so I could steer long-running agents on my MacBook from my phone. Similar remote-control tools arrived in a wave over the following months, which I took as confirmation the itch was widely shared.

Most of my experiments never leave ~/work/me or my Telegram chats. I build a lot and publish little, and I'm actively fixing that ratio. This website exists partly as the fix. The experiments that do escape become its interactive tools and writing.

I root for local-first software. The Postgres playground here runs a real database entirely in your browser on PGlite, and it's dedicated to ElectricSQL's CEO, who poured me a few beers in Kraków after a conference.

Remote since 2016, and easy to test.

I've worked remotely since 2016, these days from Tbilisi, Georgia, with overlap across US and EU time zones. I did my time on co-located teams first, so I know what remote has to compensate for. It doesn't mean out of reach either: I fly to offices, offsites, and conferences at least twice a year, and so far that has meant Berlin, Bengaluru, Tallinn, and Vienna, among others.

My usual approach is one primary customer plus a side quest. The primary engagement gets most of my week. The side quest is where the niche skills come from, and it has a habit of becoming professionally relevant a few years later. Mathematical optimization and agent harnesses both entered my life that way.

The fastest way to find out whether we should work together is to work together. New engagements start with a two-week trial: long enough to ship something real in your codebase, and usually enough for both sides to know. When I commit, the engagement gets the bulk of my 40-to-70-hour week, and the side quest stays small by design. Running two things has never meant splitting focus on the one you're paying for.

I do my best work in engagements with few recurring meetings. Async Slack updates, design docs, and frequent demos beat a standing call almost every time. Teams that work this way give engineers the room to ship meaningful, less bug-prone features at a visibly faster pace, and that's the culture I want to contribute to. The calls I do take happen from a noise-insulated room, whatever city I'm in.

Where the year goes.

Tbilisi, Georgia

I split the year: about six months in Tbilisi, two or three in north-east Italy where I grew up near Venice, and the rest on the road. The itinerary usually bends toward European castles, the Asian steppe, and ruins of fallen empires.

The small projects I'm proudest of.

Almost every year since university, something small has run next to the main work. For the Czech Technical University in Prague, I worked on fuel pipeline scheduling for the Czech Ministry of Energy. For an audio-domotics manufacturer near Venice, I built a warehouse route optimizer, a direct descendant of the maze-solving robot from my high school years. Neither was much of a payday. Both taught me optimization skills I still use, and they're the first projects I bring up when someone asks what I'm proudest of.

Before software was a job.

The first computer I used was an Olivetti M24 running MS-DOS on an Intel 8086, in less than 1 MiB of RAM. I was four. At twelve I taught myself Turbo Pascal to automate my geometry homework, which felt less like cheating and more like a proof that the homework was automatable.

In high school, I made it to the finals of the national RoboCup Jr Rescue Maze competition in Bari, with my classmate and friend Simone Simonella. We assembled a Lego Mindstorm EV3 robot that could autonomously navigate a maze, detect victims, and report their positions. Those robots allowed no dynamic memory allocation, which made it my first encounter with graph problems on hardware that pushes back. Another robotics elective put me in front of a Nao humanoid. That one nudged me into specializing in AI at university.

The Lego Mindstorm EV3 robot we built for the RoboCup Jr Rescue Maze competition
Our EV3 rescue robot, circa 2016

In 2015 and 2016 I wrote over 300 articles for Androidiani.com, an Android site with roughly 100,000 monthly Italian readers. I was among the first people in Italy to strike review deals with Oppo, Umi, and other Chinese smartphone brands that Europe hadn't heard of yet.

Around the same time, in my fourth year of high school, I picked up Node.js v0.12.0. The simplest article I've ever written, highlighting one npm feature, has since accumulated over 730,000 views on Medium. I've decided not to take that personally.

The startup that started it all.

I grew up close to H-Farm, a tech incubator near Venice, and attended my first hackathons there at 17. Two years later the startup itch turned into a job: at 19, I was a founding engineer of Skydreamer, the first European app that turned traveling with friends into a swipe-and-match game.

It was my first chaotic experience in a remote startup, at a time when I didn't think working full-time on top of university was enough. Skydreamer crashed and burned a few months in, as first startups tend to do, but it left me with knowledge about web scraping, caching read-heavy data on Redis, and rudimentary notions about recommender systems. That experience influenced me to double down on Redis for my BSc thesis project, and to study machine learning during my Master's.

Where the optimization habit comes from.

I have a Master's in Computer Science from the University of Padua, where I majored in machine learning and software semantics. I graduated with full honors in December 2021, with a focus on combinatorial and probabilistic optimization methods.

My research thesis on lattice submodular maximization (a class of optimization problems where greedy algorithms work surprisingly well) was a collaboration with the Czech Technical University in Prague. You can read my thesis "Advances in Submodularity: Optimization and Probabilistic Models", or the published seminar paper on arXiv.

For a stretch I was deep in functional programming and the semantics of programming languages. whileplus, an interpreter for a WHILE-style imperative language written in Haskell, survives from that period.

What I do when I'm not working.

Music is the oldest side quest of all. I started composing in Guitar Pro at 14 and have played guitar in live bands since 15. I left Pre$ident Evil in 2019, and after years of occasional jam sessions I was back on stage in May 2026 with GREEDA. In another life I also taught Latin American dances professionally.

Beyond that: I pet cats, hike mountains, host karaoke nights, spend time with my family, and play Age of Empires II.

The part where you email me.

My range is wider than this page suggests. The most recent example is a local ChatGPT with a RAG pipeline behind it, written mostly in Rust and running on local models: PDF extraction, chunking, indexing, and retrieval, with an evaluation harness that hands each experiment a win-or-kill verdict. I built it because the ready-made options, most of them Python, were slower and never quite what I wanted. It will probably stay private, and that's the part of this agentic era I enjoy most: tailoring the tools I use every day to my exact needs, at a pace that was unrealistic two years ago.

If you want that kind of ownership on your systems, email me at alberto.schiabel@gmail.com or book a call. The two-week trial is a real offer, not a landing-page promise. And if you'd rather check whether I can explain things before paying me to build them, my talks and writing are the fastest way. Start with the one about barcode scanners.