Michele Parenti / Software engineer / Northern Italy

I BUILD BACKEND SYSTEMSAND DEVELOPER TOOLS.

I build tools around concrete problems, then trace each one down into the APIs, data and protocols underneath.

~3 hours / dayestimated manual work Cryon savesDublin, 2024Python CRM integration, adopted in productionPublished toolingOpenCode Evict on npm, plus release binaries

Selected work.

Three projects, with the engineering decisions and the evidence for each.

01 / Timestamping · developer tools

Momento

Live service · CLI publication pending

Momento issues portable signed timestamp receipts for file hashes. You verify them locally, and integrations cover Git history and CI.

Your original files stay on the client. The protocol, verifier and integrations share one receipt format, with explicit assumptions about what you trust in the issuer.

TypeScript / Cloudflare Workers / ML-DSA-65

Implemented receipt workflow
  1. 01 / LOCALHash the file

    Only the SHA-256 digest leaves your device.

  2. 02 / WORKERIssue a receipt

    The issuer signs the digest and timestamp with ML-DSA-65.

  3. 03 / VERIFIERCheck it offline

    Verify the signature and compare the original file's hash.

Trust boundary: the issuer's signing key and clock.

02 / Banking demo · backend systems

N2Banking

Ledger core implemented · frontend planned

N2Banking is a banking demo for deposits and transfers, built on N2BankCore, a Java double-entry ledger with transactional idempotency.

The ledger enforces consistency at the transaction boundary with balanced postings, account locks and database constraints. The demo frontend comes next.

Java / PostgreSQL / Redis

Core ledger example · transfer EUR 125
Illustrative balanced journal entry for a transfer between two customer accounts.
AccountDebitCredit
Alice · liability125.00—
Bob · liability—125.00
Balanced entry125.00125.00

A matching command retry returns the original journal entry.

Core implemented; demo frontend planned.

03 / Published CLI · developer tooling

OpenCode Evict

Published on npm · release binaries available

A CLI that reconciles OpenCode's cached model catalog with models.dev and live provider data, then exports upstream contributions.

It finds missing models and keeps the entries you added yourself. Kilo is the first-class integration; generic endpoints are best-effort.

TypeScript / Bun / provider APIs

CLI usage · preview before writing
bunx @mikthatguy/opencode-evict --dry-run
bunx @mikthatguy/opencode-evict --export-contrib
  1. Local cache
  2. models.dev
  3. Provider APIs

Merge catalog entries → refresh cache → export missing models as TOML.

Work I shipped
and what it taught me.

Work taught me to understand unfamiliar systems before connecting them to something people use.

2025–2026 / Cryon · internal tool for a freelance team

A daily-use tool on an architecture I had to learn.

I designed and shipped an automation pipeline that a freelance team uses daily. It saves roughly three hours of manual work per day.

The challenge
I was a fourth-year student, and the hardest part of Cryon was getting a full grasp of event-driven architecture. Before I could build the system with confidence, I had to learn how the pipeline's parts communicated and how their behavior fit together.
Shipped
I owned the project from requirements to release, including dynamic AI model selection, credential handling, testing and debugging. The backend uses OpenRouter, AI SDK, Prisma, PostgreSQL and Cloudflare R2.

Closed source · used daily

Nov–Dec 2024 / Travelling Languages · Dublin

Learning an API by tracing the CRM.

During a merit-selected placement in Dublin, I built a Python client for YetiForce CRM that the company adopted in production.

The challenge
The CRM documentation was in Polish, so I could not readily use it. To understand the API's inner workings, I reverse-engineered the CRM and traced its data flows and authentication.
Shipped
I turned that investigation into a Python integration and shipped it inside the company's IT department. The software is now proprietary.

Proprietary · adopted in production

Full experience and résumé

About me

Michele Parenti.

I'm a software engineer working on backend systems and developer tools. I'm based in Northern Italy and have programmed since 2020. My main languages are TypeScript, Java and Python.

My native language is Italian, and my English is C1. Education: Perito Informatico, I.T.I.S. Magistri Cumacini, Como; CS50 in 2023. Away from the screen I do judo, mountain trekking and bivouacs.

How I work

I trace the boundaries
and own the result.

I start from a concrete problem, trace its data and define how the system should behave. I use AI to help draft parts I don't know well, then I review the assumptions and test the boundaries. The result is my responsibility.

More about my background

Available for software engineering

Tell me what
you're working on.

Email reaches me fastest.