Full-Stack Developer
Experiencia demostrada en React.js 19.
Experiencia demostrada en Next.js.
Experiencia demostrada en TypeScript.
Experiencia demostrada en Tailwind CSS.
Experiencia demostrada en Shadcn/UI.
Perfil profesional
Built the interface of an LLM-based conversational assistant natively integrated with Databricks Genie, running in production.. Contributed to a multi-root architecture with a Backend-for-Frontend (BFF) in Node.js (Fastify), TypeORM and strict input validation.. Implemented response and query caching with Redis, plus rate limiting to protect the API and control AI service usage.. Built interfaces with React 19, Vite, Tailwind CSS 4 and TanStack (Form and Table).. Integrated AWS Cognito (Lambda-based authentication) and managed microservice dependencies with AWS CodeArtifact.
End-to-end development with React 19, Next.js, Shadcn/UI and Python/FastAPI (SQLModel, Alembic).. Built and maintained business-critical modules: financial management (CIF payments, debt tracking, balances), contracts with Word templates and signing, bulk client import via Excel/ZIP, import workflows, compliance and a roles and permissions system.. Object storage with MinIO, real-time notifications over WebSockets and internationalization (i18n).. Extended FullCalendar for the appointments module.
Backend with NestJS 11, Prisma 6 and PostgreSQL; frontend with Next.js 15, React 19 and TypeScript, in a pnpm monorepo.. Integrated a CalDAV client syncing to the local database through Redis job queues processed in the background, plus Nextcloud import (calendars, events and bookings).. Implemented event and availability caching in Redis and designed RESTful APIs for events and tasks.. Delivered global time zone support, a year view, drag & drop sortable calendar lists, calendar publishing and sharing, and i18n.. Implemented error handling and server-side reporting; improved Lighthouse scores during the frontend refactor.
Built an app to upload PDFs and ask questions in natural language, with answers cited by document and page. pnpm monorepo with React 19, Vite and TanStack on the frontend, and Fastify + TypeScript + Zod on the API.. Implemented authentication with opaque, rotating refresh tokens (SHA-256 hashed, never stored raw): reusing a rotated token is treated as theft and revokes the whole token family.. Implemented database-level per-user isolation: every MongoDB query filters by user in the same predicate and returns 404 without revealing whether the resource exists in another account.. Implemented real file validation (magic bytes and structural parsing with pdf-lib) and random storage keys in MinIO to prevent collisions and path traversal.. Set up asynchronous ingestion queued with BullMQ on Redis; vector search in MongoDB Atlas (Vector Search) with embeddings and answer generation through the Claude API.. Set up CI on GitHub Actions with two parallel jobs (fast checks and integration against a MongoDB container), an 80% minimum domain coverage and a full environment via Docker Compose.
Developed an offline-first mobile app (iOS and Android) with Expo SDK 54, React Native and strict TypeScript: 21 screens over SQLite with Drizzle ORM. In beta and used daily by a real business.. Implemented inventory derived from movements (an event sourcing-like approach) with weighted average cost, allowing sales to be voided and profit recalculated without inconsistencies.. Put business rules in a standalone domain package, with 92 Jest tests and a 95% minimum coverage enforced in CI, plus Husky hooks (lint, types and coverage).. Set up CI/CD with GitHub Actions: code produced with AI agents is merged only if it passes these checks.. Used agent-assisted development (Claude Code) with versioned specifications and custom skills.
Sole frontend developer of an ORY-based identity and user management system (IDP), with Next.js, TypeScript and Tailwind.