agustin-demarco.service — init v0.4.2
[ init ] mounting /srv/portfolio…
0%arrancando servicios…

agustin@prod:~$ whoami

Diseño y construyo backends que escalan.

Microservicios, contratos inteligentes e infraestructura cuidada.

Ingeniero en Sistemas de Información (UCEL). Seis años en fintech y operaciones, liderando equipos y migraciones a cloud. Hoy me muevo entre NestJS, Node y AWS — el tipo de trabajo que nadie ve pero todos usan.

6+años enviando código
7proyectos productivos
4apps productivas
99.9%uptime promedio
01

Arquitectura

El tipo de sistema que construyo: un BFF delante de servicios chicos, Postgres como fuente de verdad y AWS para colas y storage. Cada punto es una request real viajando por el grafo.

topology.svg — live traffic
Client, BFF NestJS, microservicios, PostgreSQL y AWSClientweb · mobileBFFNestJS · auth · rate-limitsvc-catalogprojects · skillssvc-bookingturnos · slotssvc-notifymailer · jobsPostgreSQLsource of truthAWSSQS · S3 · CloudWatch
requestrespuesta / evento
02

API Explorer

Elegí un endpoint y disparalo. La respuesta sale de los datos reales de este portfolio, con latencia simulada.

endpoints
response
Elegí un endpoint para ver la respuesta.
03

git log

Seis años de commits. Del más reciente al más viejo, con lo que cambió en cada release.

commit 1c0de42HEAD → main2025 →

Nave Negocios

Full-Stack Developer

Arquitectura backend, microservicios y cloud en un entorno fintech.

NestJSNext.jsAWSTypeScript
commit a91f3c22024 – 2025

Banco Galicia

Full-Stack Developer

Arquitectura de microservicios con NestJS (BFF + services). Lideré la migración de un sistema legacy on-prem a AWS. CI/CD y optimización de recursos cloud con equipos cross-funcionales.

NestJSAWSCI/CDTypeScript
commit 7be04d92024

Welook.io

Backend Developer

Lideré el desarrollo backend. Introduje IA para aumentar engagement. Pipelines de CI/CD y monitoreo cloud.

Node.jsPostgreSQLAIAWS
+40%eficiencia
−30%tiempo de deploy
+25%engagement
commit 3d8a1f62021

Onlines&Co.

Full-Stack Web Developer

Soluciones web con PHP, Node y React. Optimización de MySQL: −15% en tiempos de carga. +20% en satisfacción de clientes.

PHPNode.jsReactMySQL
commit e5c7b202021

Axyoma

Full-Stack Web Developer

Web responsive con PHP y SASS. Colaboración estrecha con diseño y producto. +10% en retención.

PHPSASS
04

Stack

Nivel de dominio (barra) y años de uso. Abajo, el mapa de calor: cuanto más brillante, más dominio.

Languages

TypeScript5a
JavaScript6a
PHP4a

Backend

Node.js6a
NestJS3a
Next.js3a
React4a

Data

PostgreSQL5a
MongoDB3a
MySQL5a
Firebase2a

Infra

AWS3a
Docker4a
Git6a
CI/CD3a
skill-matrix.heatintensidad = nivel (1–5)
TypeScript
JavaScript
PHP
Node.js
NestJS
Next.js
React
PostgreSQL
MongoDB
MySQL
Firebase
AWS
Docker
Git
CI/CD
05

docker ps

Todo lo que tengo corriendo. Cada contenedor es un proyecto real.

Up desde 2024c4f1a7e2 · :3001

Preci

Comparador de precios

Plataforma de comparación de precios para el mercado argentino. Indexación de productos, búsqueda en tiempo real y alertas de precio para consumidores y pymes.

Node.jsNext.jsPostgreSQLRedis
image: preci:latestpreci.ar ↗
Up desde 20229a2d5b81 · :3002

Anestrack

Gestión hospitalaria

Plataforma para registro y seguimiento de procedimientos anestésicos. Historial de pacientes, reportes clínicos y alertas en tiempo real para equipos médicos. +30% de precisión en reportes.

Node.jsPostgreSQLReact
image: anestrack:latestinst.anestrack.com.ar ↗
beta · Up desde 20235e7c30d9 · :3003

Goleros

Estadísticas de fútbol

Plataforma de estadísticas y seguimiento del fútbol argentino. Posiciones, rendimiento de jugadores, historial de partidos y análisis de temporada en tiempo real.

Node.jsMongoDBReactNext.js
image: goleros:latestgoleros.com.ar ↗
Up desde 20237c19e0a4 · :3004

Zetta

ERP + ecommerce freelance

ERP a medida con módulo de ecommerce integrado. Gestión de stock, ventas, clientes y facturación electrónica vía AFIP. Pagos online con MercadoPago y panel de administración propio.

Node.jsNestJSPostgreSQLNext.jsMercadoPagoAFIP
image: zetta:latestzetta.ar ↗
Up desde 2024b83e6f04 · :443

Aureva

Medicina estética + turnos online

Sitio institucional y sistema de turnos online para la Dra. Micaela Figini (Rosario). Catálogo de servicios, promociones y panel admin para gestionar reservas y confirmaciones.

Next.jsNode.jsPostgreSQLTailwind
image: aureva:latestaureva.com.ar ↗
Up · en vivod17a9c3b · :8080

Aprende SQL

Curso interactivo

Curso con lecciones, ejercicios y examen final, más un playground de SQL que corre en el navegador con sql.js (WebAssembly) y un modal con el esquema de datos.

SQLsql.jsWebAssemblyJavaScript
image: aprende-sql:latestabrir curso →
Up · en vivof06b4e78 · :5173

Portfolio 3D

Experiencia WebGL

Hero 3D interactivo con react-three-fiber y Command Palette (Ctrl+K) para navegar todo el sitio desde el teclado.

Reactreact-three-fiberWebGLTypeScript
image: portfolio-3d:latestver abajo ↓
06

Aprende SQL

Un curso interactivo que construí: lecciones, ejercicios con corrección automática, examen final y un playground de SQL que corre en el navegador (sql.js / WebAssembly). Acá va una versión liviana para probar: escribí una consulta o resolvé un ejercicio.

Lecciones

Examen final: 10 ejercicios. Aprobás con 70%.
playground.sql — sqlite in-memory
Ejercicio 1/5. Listá el nombre y el estado de todos los proyectos.
idnombrestackestado
1PreciNode.jslive
2AnestrackNode.jslive
3GolerosNode.jsbeta
4ZettaNode.jslive
5AurevaNext.jslive
6Aprende SQLSQLlive
7Portfolio 3DReactlive
7 filas
schema.sql
CREATE TABLE proyectos (
  id INTEGER,
  nombre TEXT,
  stack TEXT,
  estado TEXT
);

CREATE TABLE skills (
  nombre TEXT,
  categoria TEXT,
  anios INTEGER,
  nivel INTEGER
);
07

Laboratorio

Cosas donde el frontend también se luce: un hero 3D y una paleta de comandos de teclado.

Portfolio 3D interactivo

Hero WebGL con react-three-fiber: una escena 3D que reacciona al mouse y al scroll. Acá corre la escena real: movelo con el cursor.

react-three-fiberWebGLThree.jsReact

Command Palette (Ctrl+K)

Navegación completa por teclado, búsqueda y acciones. Probala acá mismo: es la de este sitio.

08

AurevaRewards.sol

Contrato inteligente en Solidity que reparte recompensas a los stakers de forma proporcional. Mínimo, legible y con eventos para indexar off-chain.

contracts/AurevaRewards.sol
1// SPDX-License-Identifier: MIT
2pragma solidity ^0.8.24;
3
4/// @title AurevaRewards
5/// @author agustin.demarco
6/// @notice Distributes rewards to stakers pro-rata.
7contract AurevaRewards {
8 address public immutable owner;
9 uint256 public totalStaked;
10 mapping(address => uint256) public stakeOf;
11 mapping(address => uint256) public rewardDebt;
12
13 event Staked(address indexed user, uint256 amount);
14 event Claimed(address indexed user, uint256 reward);
15
16 constructor() { owner = msg.sender; }
17
18 function stake() external payable {
19 require(msg.value > 0, "zero stake");
20 stakeOf[msg.sender] += msg.value;
21 totalStaked += msg.value;
22 emit Staked(msg.sender, msg.value);
23 }
24
25 function claim() external {
26 uint256 pending = _pending(msg.sender);
27 require(pending > 0, "nothing to claim");
28 rewardDebt[msg.sender] += pending;
29 (bool ok,) = msg.sender.call{value: pending}("");
30 require(ok, "transfer failed");
31 emit Claimed(msg.sender, pending);
32 }
33
34 function _pending(address u) internal view returns (uint256) {
35 if (totalStaked == 0) return 0;
36 return (stakeOf[u] * address(this).balance) / totalStaked - rewardDebt[u];
37 }
38}
solidity ^0.8.24MITstake() · claim() · _pending()
09

tail -f

Los logs de este sistema, en vivo. Sí, el portfolio también tiene observabilidad.

journalctl -u portfolio -f
--:--:--INFO[bootstrap] server listening on :3000
--:--:--INFO[db] connected — [email protected]
--:--:--INFO[worker] scheduled 4 cron jobs
--:--:--OK[request] GET /api/projects → 200 (12ms)
--:--:--OK[request] GET /api/skills → 200 (7ms)
--:--:--INFO[ws] client connected id=c_8f31
--:--:--WARN[cache] miss key=skills:all — rebuilding
--:--:--OK[request] GET /api/experience → 200 (9ms)
--:--:--OK[appointments] slot booked — dr.perez 15:30
en vivo
10

POST /api/contact

Estoy abierto a roles de backend y plataforma. Escribime y te respondo en menos de 24 horas.

GitHubLinkedIn