Skip to content
Nicolás Amorosi

Nicolás Amorosi

Full-stack engineer. I build the systems organizations run on — academic records, HR, accounts payable — end to end, from the legacy database to production. Remote from Argentina, working in English, Spanish and Italian.

Open to full-time remote roles. Contracts too.

Selected work

Client code is private, so these pages show problems, decisions and outcomes instead of code. Happy to walk through any of it in an interview.

  • Villa Aurora, Florence2026 – present

    Libretto

    The academic records system of a theological faculty in Florence: courses, curricula, enrollments, grades and credits, with portals for teachers and students.

    Data models
    55
    API modules
    46
    Automated tests
    ~1,200
  • Villa Aurora, Florence2026 – present

    Zero lost characters

    The migration behind Libretto: a 46-table legacy database in mixed text encodings, moved record by record without a single corrupted character.

    Legacy tables
    46
    Canonical users
    436
    Mapped records
    14,227
  • Italian Adventist Church Union2025 – 2026

    HR & admin platform

    Monthly work reports, absences, medical expenses, travel and treasury for the staff and ministers of the Union, with approval chains and three languages.

    Data models
    29
    API modules
    29
    Automated tests
    ~520
  • Universidad Adventista del Plata2026 – present

    Inherited systems

    Leading the rewrite of a Progress 4GL accounts-payable system, and taking technical ownership of a research-protocol platform built by someone else.

    Legacy code
    ~53k lines
    Revisions analysed
    5,774
    Bugs traced to root cause
    20
  • Personal project, for churches2026 – present

    WorshipApp

    A desktop projection app for church services — songs, Bible, slides and media on a second screen — built to replace EasyWorship.

    Automated tests
    ~320
    Version
    2.1 beta
    Ships as
    Windows installer

Also built

  • 2023 – present

    Dental laboratory management

    Clients, monthly billing, payments and a credit ledger for Laboratorio Dental Valdense, with PDF summaries shared on WhatsApp through signed links generated on demand. Co-developed the 2023 version and led its 2026 migration to Next.js.

    Next.js, MongoDB, Vercel

  • 2025 – present

    Real-estate visit scheduling

    A SaaS for agencies: an embeddable booking widget isolated in shadow DOM, a WordPress plugin that keeps listings in sync, reminders and Stripe subscriptions.

    NestJS, TypeORM, MySQL, Google Cloud

  • 2025 – 2026

    Radio staff absences

    Absence and on-air substitution management for a radio station, with admin-editable permissions — plus a video playlist player for Raspberry Pi screens fed by an ffmpeg pipeline to S3.

    Next.js, Prisma, PostgreSQL, ffmpeg

  • 2026

    Planner wall display

    A read-only office monitor showing the team’s Microsoft Planner tasks, rendered on the server and refreshed incrementally.

    Next.js, Microsoft Graph, MSAL

  • 2026

    Database backups to S3

    A reusable tool for dockerized databases: dump, compress, verify integrity, upload encrypted to S3, expire after 60 days. It backs up the Union’s production databases.

    Bash, Docker, AWS CLI

Experience

University, client work and freelance have run in parallel since 2023.

  1. Sep 2026 – present

    Entre Ríos, Argentina

    Universidad Adventista del Plata

    Software developer, part-time

    • Technical owner of VID, the research-protocol platform: audited the inherited codebase and traced 20 reported bugs to their root causes.
    • Leading the rewrite of the accounts-payable system from Progress 4GL (~53k lines) to a web stack on PostgreSQL.
  2. Aug 2026 – present

    Remote, for Florence, Italy

    Villa Aurora

    Freelance full-stack engineer

    • Lead developer of Libretto, the faculty’s academic records system, and of the migration of its twenty-year-old database.
  3. Jan 2025 – Aug 2026

    Rome, Italy

    HopeMedia Italia

    IT infrastructure & lead developer

    • Led a team of three developers, plus two rotating, building the HR and admin platform of the Italian Adventist Church Union.
    • Built the radio station’s absence and on-air substitution system, and a video player for Raspberry Pi screens fed by an ffmpeg pipeline to S3.
    • Ran production: Docker deploys on AWS EC2, CI/CD with GitHub Actions, encrypted database backups to S3 with 60-day retention.
    • Started Libretto, which I continued as a freelancer.
  4. Oct 2023 – present

    Remote

    Freelance

    Full-stack developer

    • Management system for a dental laboratory: co-developed the 2023 version and led its 2026 migration to Next.js.
    • A real-estate visit-scheduling SaaS: embeddable booking widget, WordPress plugin, Stripe subscriptions.
  5. Mar 2023 – Dec 2024

    Entre Ríos, Argentina

    Universidad Adventista del Plata

    Junior developer

    • Upgraded three production systems to the latest Ruby on Rails.
    • Built an internal tool to keep the university’s database organized, and started two new systems: an expense-reimbursement assistant and an early-warning system for students at risk of dropping out.
  6. Education

    Universidad Adventista del Plata

    • Systems EngineerMar 2023 – Nov 2024
    • Systems AnalystMar 2020 – Nov 2022

How I work

Habits that show up in every repository.

  • Permissions, not booleans

    Access is a registry of permissions with scopes — own, assigned, all — checked by the server on every request. The interface hides what you can’t do; the API is what stops you.

  • Tests pin the business rules

    Grades, credits, approval chains, balances: the rules people depend on get tests first. Libretto runs about 1,200 of them; the HR platform about 520.

  • Migrations with a gate

    Legacy data moves through previews, idempotent syncs and quality gates that refuse to write rather than write something wrong.

  • Docs the next developer can use

    Every repository carries its own knowledge base: decisions, gotchas, runbooks, handoffs. Libretto’s has 146 documents.

  • Strict types, shared contracts

    TypeScript in its strictest settings, and one contracts package shared by API and interface — a breaking change fails the build, not the user.

  • AI with guardrails

    I work with Claude Code every day — custom skills, MCP servers, a knowledge base per repository. It makes me faster; it doesn’t decide what ships.

Tools

What I reach for, grouped by layer.

Languages
TypeScript, JavaScript, SQL, Python, Ruby, Bash
Interface
Next.js (App Router, RSC), React 19, Tailwind CSS, shadcn/ui, next-intl
Back end
NestJS, Node.js, Express, Ruby on Rails, Prisma, TypeORM, Drizzle
Data
PostgreSQL, MySQL, MongoDB, SQLite
Identity
JWT + refresh rotation, CSRF, Microsoft Entra ID, NextAuth, Scoped RBAC, Audit logs
Infrastructure
Docker, AWS (EC2, S3), GitHub Actions, Vercel, Google Cloud Build, Linux
Testing
Jest, Vitest, Playwright
Integrations
Microsoft Graph, Stripe, Excel & PDF generation, Electron

About

I studied at Universidad Adventista del Plata — Systems Analyst in 2022, Systems Engineer in 2024 — and wrote my first production code there, upgrading the university’s Rails applications.

In 2025 I moved to Rome to run IT and development at HopeMedia Italia, the media centre of the Italian Adventist Church Union. Since August 2026 I work remotely from Entre Ríos, Argentina, for clients in Italy and Argentina. I’m an Italian citizen.

Off the clock I fly FPV drones and keep a repair log for each one, go running, self-host a home server, and I’m building an ESP32 rack that waters balcony plants on its own.

Languages

Spanish
Native
English
Full professional
Italian
Professional working
Portuguese
Limited working

Contact

Looking for a full-time remote role — contracts work too. Write to me:

nicolasamorosi@gmail.com

Entre Ríos runs on UTC−3, all year.

My working day overlaps the European afternoon and the whole US East Coast day.