Autor · 2025
Tracker de Aplicaciones Laborales
Un tracker para aplicaciones, entrevistas, contactos y follow-ups que efectivamente uso en mi propia búsqueda laboral. Node.js + TypeScript + Fastify + Prisma con JWT auth y una máquina de estados para el status de la aplicación.
Por qué lo construí
Estaba buscando trabajo y llevando mi pipeline en una planilla. Las planillas son pésimas para recordatorios, transiciones de status y "¿cuándo fue la última vez que me respondió esta empresa?". Por eso construí la herramienta que quería — que también es el tipo de side project más defendible: uno que efectivamente uso (dogfooding).
Qué hace
- Trackea aplicaciones por empresa, con rol, fuente y notas de salario.
- Modela el status como una máquina de estados explícita:
applied → screening → interview → offer | rejected. - Registra follow-ups y marca los que están vencidos.
- Mantiene una lista de contactos (recruiters, hiring managers) vinculados a las aplicaciones.
- Muestra estadísticas de funnel simples para ver dónde se pierden candidatos.
Decisiones de arquitectura
- Fastify por sobre Express — validación basada en esquemas out of the box y una superficie tipada más ajustada, lo cual importa cuando el punto central es la corrección.
- Prisma para acceso a datos — queries tipadas y migraciones sin escribir SQL a mano.
- Status como máquina de estados, no un campo de texto libre — las transiciones ilegales se rechazan en el límite, así las estadísticas de funnel son confiables.
- JWT auth con refresh — single-user por ahora, pero estructurado para que el multi-tenant no sea un rewrite.
Status
Los flujos centrales funcionan y están cubiertos por tests de Vitest, con CI en verde. La UI está intencionalmente fuera de scope por ahora — el valor está en la API y el modelo de datos.
Más
Otros proyectos
Mnemo
Live ↗Flashcards con repetición espaciada para mi propio estudio — el contenido vive en Markdown versionado con git, el estado SRS (SM-2 de Anki) en Postgres. Live en su propio subdominio, full-serverless en el free tier.
TypeScript · Next.js 15 · Cloudflare Workers · Prisma · PostgreSQL (Neon)
Sistema de Stock de Supermercado
Backend de gestión de inventario para una cadena de supermercados, construido en Laravel con un núcleo framework-agnostic y domain-driven. El dominio se testea por completo sin Laravel — PHP puro.
Laravel 11 · PHP 8.3 · PostgreSQL · Pest · Docker