Software engineer · Buenos Aires

Hago simple lo complicado.

@react@nextjs@gsap@typescript
Mobile banking
Splash
Yield305
Maturoscope
FindFund
Mercado Pago Point

Software engineer especializado en frontend. Llevo productos de la idea a producción en rubros muy distintos, como banca, pagos, real estate y deporte, con tecnologías modernas potenciadas por IA.

Proyectos seleccionados

Problemas complejos, interfaces claras.

Banca, pronósticos deportivos, inversión inmobiliaria, innovación, fondos europeos y pagos. Seis productos reales: abrí cualquier carta para leer el caso.

Sobre mí

Soy José. Ingeniero de formación, frontend por elección.

Me importan los detalles que se sienten y casi nadie nombra:

  1. 01El timing de una transición.
  2. 02Un layout que aguanta cualquier ancho.
  3. 03Una página que carga antes de que parpadees.
6+años construyendo productos en producción
UTNIngeniero en Sistemas de Información
EN · ESInglés todos los días con clientes europeos
Buenos AiresHíbrido o presencial
CV ↗CV completo, PDF
Proyectos seleccionados

Productos reales para decisiones que importan.

Point

Mercado Libre

El checkout del lector de Mercado Pago, desde elegir el dispositivo hasta el pago, en cinco países.

ReactNode.jsSSRCheckout

FindFund

Synopp

Usa IA para encontrar, entre miles de convocatorias de la UE, las que una empresa europea puede ganar, y explica por qué encaja cada una.

Next.js 16React QueryZustandnext-intl

Maturoscope

Synopp

Una autoevaluación que le muestra a innovadores de cualquier sector qué tan lista está su solución para el mercado, con un reporte descargable.

Next.js 15RadixRechartsi18next

Yield305

Litebox

Plataforma de inversión inmobiliaria embebida en Salesforce: cargás una propiedad y ves si conviene fix and flip o rental.

Next.js 14NestJSPostgreSQLAuth0

Splash

Litebox

Juegos de pronósticos y trivia deportiva white label para operadores de apuestas: más de 10 apps sobre una misma base, en 8 idiomas.

ReactReact NativeMongoDBAWS

Mobile banking

Banco de Corrientes

MásBanCo, la app de un banco provincial con onboarding biométrico y pagos, construida en React Native codo a codo con diseño. Más de 500.000 descargas.

React NativeAdobe XDGenexus
Herramientas
Herramientas × agentes

Tu stack, ya en mis manos.potenciado con agentes.

Las que uso todos los días. Y si tu proyecto pide otra, la aprendo.

Cada herramienta cae con el agente que la usa. Yo defino la tarea, ellos construyen, yo reviso.

  • React
  • Next.js
  • TypeScript
  • Tailwind
  • React Query
  • Zustand
  • GSAP
  • Framer Motion
  • NestJS
  • PostgreSQL
  • MongoDB
  • React Native
  • Jest
  • Figma
  • Radix / shadcn
  • next-intl
  • Node.js
  • AI coding agents
  • Clerk / Auth0
  • React Testing Library
  • GitHub Actions
  • Docker
  • Kubernetes
  • Argo CD
Flujo de trabajo con IA

Construyo con un equipo de agentes. Yo soy el editor.

Un agente de IA funciona como orquestador y reparte el trabajo entre agentes especializados en UX, desarrollo y QA. Sirve cualquier proveedor: Claude, GPT, Gemini, el que mejor encaje con el proyecto. Comparten archivos de memoria, así el contexto sobrevive entre sesiones. Yo marco la dirección, reviso cada diff y respondo por lo que sale.

Funciona con cualquier modelo: Claude, GPT, Gemini. El proceso es el mismo.

  • El contexto vive en archivos
  • Diffs chicos, revisión humana
  • La calidad es un rol, no una etapa
agents.log · corrida de ejemplo
  1. you → brief: "un toggle de modo oscuro con una transición divertida"
  2. orchestrator → plan: 3 tareas · contexto guardado en memoria
  3. ux → reveal circular desde el botón, respeta reduced-motion
  4. dev → View Transitions API + fallback · 48 líneas
  5. qa → ✓ contraste AA ✓ teclado ✓ sin layout shift
  6. you → diff revisado · mergeado ✓
  7. ops → pipeline → Argo CD sync · en producción ✓
Debajo de la superficie

Cada pixel tiene una razón.

Lo que ve quien usa FindFund.

Lo que lo hace funcionar: datos, sesión, estado en la URL y el agente de IA que puntúa cada convocatoria.

↔ Scrolleá o arrastrá la cortina
<Sidebar/> client
FFindFund◔
HomeAnalysesValue propositionsFavouritesCompany profileInvoices
// Sidebar.tsx
const t =
  useTranslations('nav');

return NAV_ITEMS.map((item) => (
  <NavLink {...item}
    key={item.href}
    label={t(item.key)} />
));
JC
José C.Admin · Calvano & Commits
// middleware.ts · Clerk
export default authMiddleware({
  publicRoutes: PUBLIC_ROUTES,
});
Sunday · 25 Oct
Hey José, 3 calls fit you today.
<CreditsCard/> client
Your credits
0Analyses left
3Value propositions
// hooks/useCredits.ts
export const useCredits = (orgId: string) =>
  useQuery({
    queryKey: creditKeys.byOrg(orgId),
    queryFn: () => creditsApi.get(orgId),
  });
Analyse an open call anytimeBuy single report
// optimistic: the UI updates before the server confirms
onMutate: () => credits.increment(1),
onError: (_err, _vars, snapshot) => credits.restore(snapshot),
<OrgCard/> client
Your organisation
⌘Calvano & Commits
SME · Buenos Aires · est. 2 a.m.Manage
// types/organisation.ts
export interface Organisation {
  id: string;
  name: string;
  size: 'STARTUP' | 'SME' | 'LARGE';
  plan: Plan;
}
<AnalysesList/> client
Recent analyses
Europe fundingInterreg funding
// tabs live in the URL: shareable, back-button safe
const [tab, setTab] = useSearchParam('programme');
5 September 2026
Up to 97% match
// services/matching.ts
const candidates = prefilter(calls, profile);
const ranked = await agent.rank(profile, candidates);
return ranked.filter((m) => m.score >= MIN_SCORE);
5 September 2026
Up to 62% matchClosed call
// domain/call.ts · derived, never stored
export const isClosed = (call: Call, now = Date.now()) =>
  call.deadline.getTime() < now;
+ New analysis
// poll while the analysis runs, stop when it's done
useQuery({
  ...analysisQuery(id),
  refetchInterval: (q) => isRunning(q.state.data) && 4_000,
});
<ValueProps/> client
Value propositions
HORIZON EUROPENo days left
Energy performance of smart buildings
HORIZON-CL5-2026-09-D4-01
HORIZON EUROPE115 days left
Valorising Horizon results via innovation ecosystems
HORIZON-BRIDGING-2027-06-02
el lado luminosoel lado oscuro
Experiencia

Cada trabajo dejó una marca.

Un banco, un estudio de producto, la consultora que cofundé y hoy Mercado Libre. Cada lugar me dejó una forma de construir.

Hoy

Mercado Libre

Software engineer · Buenos Aires

Estoy en el equipo de checkout de Point: el flujo renderizado en el servidor donde los comercios compran el lector de tarjetas de Mercado Pago, desde elegir el dispositivo hasta confirmar el pago, en cinco países de Latinoamérica y en estrecha colaboración con el equipo de backend.

  • React
  • Node.js
  • SSR
  • Redis
  • Datadog
En curso

Synopp

Cofundador y tech lead · París / Buenos Aires

Consultora tecnológica para clientes europeos, con productos propios. Lidero arquitectura, estimaciones y entregas: FindFund, nuestro buscador de fondos europeos con IA, y Maturoscope, cuyo despliegue GitOps a Kubernetes armé yo.

  • Next.js
  • NestJS
  • AI agents
  • Docker
  • Kubernetes
  • Argo CD
2022 – 2025

Litebox

Software engineer · Remoto

Estudio de producto con clientes internacionales. Primero Splash, una plataforma white label de pronósticos y trivia deportiva para operadores de apuestas, en React y React Native. Después Yield305, una plataforma de inversión inmobiliaria embebida en Salesforce, en Next.js 14 y NestJS, que convierte los datos de una propiedad en su ROI proyectado, para fix and flip o rental.

  • Next.js 14
  • React Native
  • MongoDB
  • AWS
  • Jest
2020 – 2022

Banco de Corrientes

Frontend developer · Corrientes

MásBanCo, la app móvil del banco, en React Native y codo a codo con diseño en Adobe XD. Integré onboarding biométrico, validación de identidad y pagos con el core bancario. Más de 500.000 descargas.

  • React Native
  • Adobe XD
  • Genexus

Abierto a nuevos desafíos.

↘ agarrá uno y tiralo.

a base de mate
remoto ok
deploya los viernes
contratame →
obsesivo del píxel
dark mode primero
EN · ES

Construyamos algo.

josecalvano1546@gmail.com
Abrir app de mail