Struct — the engineer

Flux — the creative

Drag the line

Marco, full‑stack developer

Software that stays on. I build back-office systems, automations and sites for real businesses, like the system that runs twenty-four stores. Open to developer roles in Valencia and remote.

What I bring to a team

I've spent the last years building and running software that people depend on every working day. I write the backend, the interface and the glue to the hardware, and I stay on call when it breaks.

  • I ship to production

    SvaPro runs the tills of twenty-four stores every day: fiscal receipts, card terminals, stock between stores and excise reports to the customs agency.

  • I own the whole stack

    Laravel and React for the ERP, Next.js for sites, Expo for mobile apps, Docker and my own server with Coolify for deploys. Database design to pixel polish.

  • I put AI to work

    Agents built on the Anthropic SDK, MCP servers, n8n automations and voice assistants, wired into real workflows rather than demos.

Based in
Campania, Italy · moving to Valencia
Looking for
Full-stack or frontend roles, on-site in Valencia or remote
Languages
Italian · English
Code
TypeScript, PHP, Python

Run a business and need software built? That's the other half of what I do.

See how I work →

SvaPro, the ERP behind twenty-four stores

A multi-tenant retail ERP that runs the tills, stock and tax reporting of QuiSvapo, a chain of twenty-four vape shops across Italy, plus its online shop.

SvaPro till screen: product search, barcode and cart

The problem

A vape-shop chain has needs that generic POS software doesn't cover in one place: excise duty charged per millilitre of liquid and reported to the customs agency (ADM), a fiscal printer at every till, stock moving between stores and the online shop, staff and loyalty across locations. And the tills can never stop.

The solution

One multi-tenant system: a Laravel 11 API on PostgreSQL with queues and a scheduler, a React back office and till, and small native bridges that talk to the hardware in each shop. Desktop, mobile and handheld apps are clients of the same API.

My role

Top contributor by commits in a team of three developers: 1,954 of 5,681. I work across the data model, the API, the interface, the hardware bridges and the deploys.

  • Data model and API design: Laravel 11, Sanctum auth, queues, scheduled jobs
  • Till and back-office screens in React, with Recharts reporting
  • Fiscal printer integration (Epson FP81II): receipts, Z closure, voids and non-fiscal reprints
  • Excise engine with rates valid from a date, 6-decimal precision and per-transfer snapshots for ADM reports
  • Card-terminal bridge (Nexi) and an Electron till app that updates itself and sends a heartbeat every two minutes
  • Reliability: health checks, self-healing and Telegram alerts when a till or stock level looks wrong

Architecture

Clients

  • React back office
  • Till (web + Electron app)
  • Employee app (Expo)
  • Handheld scanner

Core

  • Laravel 11 REST API
  • Sanctum auth · multi-tenant
  • Queues + scheduler
  • Excise & fiscal services

Data

  • PostgreSQL
  • Redis for the catalogue
  • PDF & Excel exports

In the shop

  • Printer bridge → Epson fiscal printer
  • Nexi bridge → card terminal
  • People-counting agent (Python)
  • WhatsApp bot

Stack

  • Laravel 11
  • PHP 8.2
  • Sanctum
  • React
  • Vite
  • Recharts
  • PostgreSQL
  • Redis
  • Electron
  • Node.js
  • Expo
  • Python
  • Firebase
  • Sentry
  • Docker

In numbers

  • 24

    stores running on it every day

  • 5,681

    commits on main, 1,954 of them mine

  • 346

    automated test files (302 PHP, 44 JS)

  • 188

    React screens

Commits, tests and screens counted from the project repository, last commit August 2026. In production on quisvapo.app.

Things that are running

Systems

Back offices, automations and products. Open a project to see the full case.

QuiSvapo · In production

Laravel 11ReactPostgreSQL

SvaPro

The system behind twenty-four stores

The software that runs a chain of twenty-four stores: till, catalogue, stock, orders, staff, invoices and an automation engine that keeps working at night.

Nia Marketing · Prototype

ReactViteSQLite

NiaBrain

Everything a company knows about itself, in one place

A place where a company writes down once who it is (how it talks, what it offers, who it serves, where it wants to go) so every tool starts already knowing it.

Zinzi · In production

Node.jsPrismaWooCommerce

Zinzi Gestionale

Till and stock for a fashion brand

A till with category filters, a product grid with live stock and multi-method checkout, connected to the brand's WooCommerce shop.

Fit & Recovery Studio · In production

ReactTypeScriptPostgreSQL

Fit & Recovery

The dashboard of a personal training studio

Clients, appointments and studio activity in one panel for the trainers.

Sites

No filled-in templates: the structure follows what the client needs the site to do.

CarusoInvest · Live

WordPressTema su misuraPageSpeed 98–100

CarusoInvest

The site of the holding behind six brands

The site of the holding behind QuiSvapo, Nex-Evo and RevoBeauty: five pages that show at a glance who the group is, what it does and who leads it.

QuiSvapo · Live

WooCommerceE-commerce

Quisvapo.com

The chain's online shop

Catalogue by brand and flavour, search that understands what you mean, cart and checkout in a few steps. Connected to the SvaPro system.

QuiSvapo · Live

WordPressTrova negozio

Quisvapo.it

The brand site and its stores

The brand site: who they are, where the stores are, who works there. It doesn't sell: it sends people to the stores, and opens the shop to those who want to buy now.

Sartys Lab · Live

WooCommerceConfiguratore

SartysLab

A creative tailor with a made-to-measure configurator

The shop of a made-to-measure tailor: customers pick model, fabric and measurements in four steps and the garment is sewn by hand.

Linda's · Preview

HTML/CSS52 scatti

Linda's

A lookbook for a fashion brand

The collection told as a lookbook: fifty-two shots that fill the page, with text reduced to captions.

RevoBeauty · Live

WordPressPrenotazione

RevoBeauty

An aesthetic medicine clinic

Treatments explained one by one, who performs them, and booking always one tap away.

Parentesi Quadro · Preview

WooCommerceE-commerce

Parentesi Quadro

Posters and custom prints

A shop for posters, canvas prints and personalised gifts for weddings, graduations and occasions.

Why they call me

Small businesses don't lose time because they're disorganised. They lose it because nobody ever wrote the piece of software they needed, and subscription tools are built for someone else.

The result is always the same: spreadsheets nobody updates, WhatsApp used as a back office, and one good person spending half a day copying numbers from one place to another.

That's where I come in. I look at how people really work, take the repetitive work away and give it to a machine. Then I stay: the code is mine, but the business is theirs, and it has to keep running without me.

I don't sell hours: I build things that keep working when I'm not there. The stock that checks itself, the assistant that answers at eleven at night.

Four steps, always the same

  1. I come and see

    Before writing a line I look at how you work now: who touches what, where time goes, which spreadsheet is never up to date. The real problem is almost never the one you told me on the phone.

  2. I start with what hurts most

    I don't deliver the whole system after six months. I deliver the piece that removes the biggest pain right away, put it in people's hands, and we decide what comes next from there. If it isn't useful, we find out in three weeks, not a year.

  3. I make it run on its own

    A system that needs someone to press a button will stop sooner or later. Automatic checks, reminders that send themselves, scheduled backups: the boring work has to happen even when the office is closed.

  4. I hand you the keys

    Documented code, accounts in your name, nothing that depends on me to stay on. I stay to help the system grow, not because you can't do without me.

Where I come from

Portrait of Marco

This site has two worlds, like my work: switch between Struct and Flux, or drag the line at the top.

I learned to code by studying: courses, documentation and real projects delivered to people who were waiting for them. I did the same with AI: months spent understanding how it's used inside a company, not how it's described in videos.

I've worked with few companies so far, and that's a choice: few problems, solved all the way, not twenty websites a year whose names I can't remember.

If I had to say it in one word: owner-builder. Not a technician who opened a VAT number, nor a salesperson who learned to code. My unit of measure is a business that runs; software is the lever.

Self-taught

Courses and documentation, then real jobs straight away. I learned by delivering, not by watching.

Then AI, seriously

Not the toy: agents that answer customers, automations that run at night, models chosen also for what they cost.

From sites to systems

I started with websites and ended up inside back-office systems, because that's where companies really lose hours.

Today

A few companies followed closely, from the first meeting to the server that runs. On my own, end to end.

Playground

My experimental space. I test ideas, play with code and build strange things.

Let's talk

Hiring?

The CV in English, my code and the fastest way to reach me.

mtorremacco@gmail.com

Tell me what's wasting your time

Half an hour on the phone and I'll tell you honestly whether it's worth doing, whether it pays off, and what it costs. If you don't need it, I'll tell you. It has happened before and it will again.

On WhatsApp ↗