Full Stack Developer working with React, TypeScript, Node.js and PostgreSQL/Supabase. I build software that real businesses use every day, including the app that runs the dog grooming salon I co-own in Chile.
Before code I was a veterinarian and farm manager, so I'm used to sitting with the people who will use the product, learning how they work and shipping something that fits.
Based in Chile (UTC−3) · Open to remote roles
| Project | What it is | Stack | Links |
|---|---|---|---|
| Vigía SMS | Safety management system for airline operators, structured on ICAO Annex 19. Occurrence reports, risk matrix, corrective actions and a tamper-evident audit log (SHA-256 hash chain). | Next.js 15 · TypeScript · Zustand · Vitest | Demo · Code |
| Pet Fashion Gestión | The app my business runs on: appointments, dog directory, pricing rules and finances. Two people use it at once from their phones, synced in real time. | Next.js 15 · TypeScript · Supabase (RLS, Realtime) · PWA | Private app · Code |
| VetGest | Multi-tenant SaaS for veterinary clinics, in pilot. Patients, inventory and sales in two currencies, with an offline queue that syncs in order when the signal returns. | React · Vite · Supabase (RLS) · PGlite | Demo · Code |
| Arpegios | Tool for llanero harp players: repertoire by key, a microphone tuner and a key transposer. | React 19 · Vite · Web Audio API · Vitest | Demo · Code |
| Portfolio | Bilingual site (English and Spanish) with my apps, client websites and case studies. | Astro · Tailwind CSS | Site · Code |
- Tests on the business logic, plus ESLint, Prettier and CI on every pull request.
- Small pull requests with a preview deploy, reviewed before merging.
- A README in every repo that explains what the project does and how to run it.
Frontend: React, Next.js, TypeScript, React Native, Tailwind CSS, Framer Motion
Backend: Node.js, Express, Ruby on Rails
Data and infrastructure: PostgreSQL, Supabase, Firebase, Vercel, Railway, AWS Amplify
Testing and tooling: Vitest, Testing Library, RSpec, GitHub Actions



