React · Next.js · TypeScript

Luz PerezFull Stack Developer

I build web products with React and Next.js, from the screens people use to the systems behind them, and I use AI tools to ship faster without cutting corners.

Currently at Melt Studio, building a CMMS for renewable-energy field service.

Profile

Luz Perez•Managua, Nicaragua

I'm a full stack developer with more than four years of experience building software that teams rely on every day. My main focus is React and Next.js, and I'm comfortable working across the whole product, from the interface to the systems behind it.

At Melt Studio I've worked on more than seven client products, including a maintenance platform used by more than 12 organizations. I enjoy taking a feature from idea to release, reviewing my teammates' work, and using AI tools to plan, build and review code with care.

Selected work

Professional and personal builds. Every codebase is private, so each one is presented as a case study.

Private codebase

FeaturedProfessional · Melt Studio

Field-Service CMMS

Fleet and asset maintenance for solar, wind and storage operators.

Problem

Renewable-energy field teams manage work orders, preventive maintenance and dispatch across many sites, often with no connectivity on site, and each customer workspace must stay isolated.

Approach

I contribute across all three layers: a Vue 3/Nuxt 3 web app with Vuex, a NestJS backend built on CQRS and event sourcing over MongoDB with Redis + Bull for background jobs, and a Flutter app (Riverpod, Drift) that lets technicians work offline and sync later. Shipped through Docker, GitLab CI and AWS.

Outcome

Work orders, preventive-maintenance plans, dispatch scheduling and multi-tenant workspace features that technicians and supervisors use every day. The client and codebase are confidential.

Stack

  • Vue
  • Nuxt
  • NestJS
  • MongoDB
  • Redis
  • Bull
  • Flutter
  • Drift
  • Riverpod
  • Docker
  • AWS
  • GitLab CI
Personal project

Family Financial Ledger

Event-sourced trust accounting with exact money.

A household needed a shared ledger where every balance is derived instead of stored, across owners, bank accounts and credit cards, in USD and NIO.

Read case study +

Approach

I built an event-sourced PWA: FinancialEvent rows materialize into signed LedgerEntry rows via a single posting engine. Money uses Postgres NUMERIC and decimal.js end-to-end. Credit purchases accrue ownership immediately; card payments settle cash without double-counting.

Outcome

Balances stay correct on any day of the billing cycle. The core posting, money, and balance logic is covered by unit tests. The live app and repo remain private.

  • Next.js
  • Prisma
  • PostgreSQL
  • decimal.js
  • Zod
  • Vitest
  • PWA
Personal project

Wedding & Events Platform

From a single-event RSVP app to a multi-tenant events product.

My own wedding RSVP site worked well, and other hosts wanted the same thing: personalized bilingual invitations, guest management and gift registries, without one codebase per event.

Read case study +

Approach

I evolved the Next.js + Firebase app into a multi-tenant platform: per-event data and settings, feature tiers, guest CRUD with CSV/Excel import, seating with PDF export, gift registries, and an EN/ES invitation experience built with Radix UI and i18next. Most recently I generalized it beyond weddings so it also runs birthday celebrations.

Outcome

One platform now serves several weddings and birthdays instead of one-off sites. Source and guest data stay private.

  • Next.js
  • Firebase
  • Firestore
  • Radix UI
  • i18next
  • TanStack Table
Personal project

Spende

Mobile-first expense tracker with dual-currency cashflow.

I needed a personal PWA to track expenses across USD and NIO with monthly budgets, category colors, and trustworthy FX conversion.

Read case study +

Approach

Next.js 16 + Supabase with Zod at every API boundary, historical exchange rates snapshotted onto transactions, USD as the aggregation currency, and a Twitter-dark mobile UI.

Outcome

Installable on phone, with period-scoped cashflow, CSV import and charts, and business logic kept out of components. Repo stays private.

  • Next.js
  • Supabase
  • TanStack Query
  • Zod
  • Recharts
  • PWA
Personal project

Multi-Tenant CRM Activities

Tenant isolation enforced by the database, not the UI.

A CRM activity log shared by several organizations must make it impossible for one tenant to read another tenant’s records, even if application code has a bug.

Read case study +

Approach

Next.js with Supabase Row-Level Security policies keyed to the tenant, Prisma for the data model, and Zod schemas validating every input at the API boundary.

Outcome

Isolation is enforced in Postgres itself, so every query is scoped to the tenant by default. Repo stays private.

  • Next.js
  • Supabase
  • Row-Level Security
  • Prisma
  • Zod
Personal project

Debt & Order Manager

Orders, profits, debts, and receipt uploads in one place.

An operation needed to track purchase and shipping orders, profit, outstanding debt and payments, and store receipt images, without a separate backend server.

Read case study +

Approach

Next.js App Router with Supabase as the only backend: validated forms (Zod + React Hook Form), debt and payment flows, profit tracking, and receipt uploads to Supabase Storage, with bilingual UI.

Outcome

A production-ready ops tool for orders and receivables. Source and data stay private.

  • Next.js
  • Supabase
  • Zod
  • React Hook Form
  • i18next
Personal project

Ticket Inbox

A small, complete full-stack ticketing system.

I wanted a compact project that covers the whole loop (data model, API and UI) without heavy infrastructure.

Read case study +

Approach

Next.js App Router on top of SQLite: ticket creation, status changes and an inbox view, kept intentionally minimal.

Outcome

A clean, self-contained example of end-to-end full-stack work. Repo stays private.

  • Next.js
  • TypeScript
  • SQLite
  • Tailwind
Personal project

Personal Portfolio

Bilingual case-study site for private full-stack work.

I needed a deployable portfolio that shows professional and personal work without exposing private repositories or sensitive live apps.

Read case study +

Approach

Next.js 16 + Tailwind with next-intl (EN/ES), content-driven case studies kept in config and message files, and a separate CV page.

Outcome

A Vercel-ready public site that tells the story of the work while every product codebase stays private.

  • Next.js
  • TypeScript
  • Tailwind
  • next-intl

Technical skills

Grouped by where I use them. Architecture lists the patterns I’ve shipped in production or personal builds.

◆Frontend16

  • TypeScript
  • JavaScript
  • React
  • Next.js
  • Vue
  • Nuxt
  • Vuex
  • Tailwind
  • Radix UI
  • shadcn/ui
  • React Hook Form
  • Zod
  • TanStack Query
  • React Router
  • HTML
  • CSS

◆Backend & data13

  • Node.js
  • NestJS
  • Express
  • TRPC
  • MongoDB
  • Mongoose
  • PostgreSQL
  • Prisma
  • Redis
  • Bull
  • Supabase
  • Firebase
  • SQL

◆Mobile10

  • Flutter
  • Dart
  • React Native
  • Expo
  • Riverpod
  • GetX
  • Drift
  • Freezed
  • dart_mappable
  • Codemagic

◆Cloud & DevOps12

  • AWS
  • S3
  • ECS / ECR
  • Lambda
  • CloudFront
  • RDS
  • Docker
  • GitLab CI
  • semantic-release
  • Turborepo
  • Git
  • GitHub

◆Quality & tooling7

  • Jest
  • Vitest
  • Husky
  • Swagger
  • Sentry
  • i18next
  • next-intl

◆AI-assisted development8

  • Claude Code
  • Cursor
  • ChatGPT
  • Plan mode
  • Agent skills
  • AGENTS.md guardrails
  • MCP
  • AI code review

◆Architecture & practice10

  • CQRS
  • Event sourcing
  • Multi-tenancy
  • Row-Level Security
  • Offline-first sync
  • Exact decimal money
  • PWA
  • Monorepos
  • Agile / Scrum
  • CI/CD

◆Languages

  • SpanishNative
  • EnglishFluent
  • JapaneseBasic

Experience

Full Stack Developer · Melt Studio

Jun 2022 – Present

Maintenance & field-service platform (Dec 2024 – present)

  • Deliver features across a Vue 3/Nuxt web app, a NestJS API (CQRS, event sourcing, MongoDB, Redis + Bull) and an offline-first Flutter app used by field technicians across 12+ organizations.
  • 780+ merge requests merged across all Melt projects and 300+ approvals of teammates' work; built a senior-level AI code-review agent that drafts verified findings as inline GitLab comments.
  • Built an AI-assistant integration that fills out job forms from what a technician types or dictates, routing every write through CQRS commands with user confirmation and site-scoped permissions.
  • Led the outage-management module from scoping to release (web register, offline sync, branded emails, legacy-data migrations), plus invoicing improvements.
  • Shipped 15+ mobile releases through Codemagic and got builds back under the 60-minute limit by trimming a 5.46 GB cache below the 3 GB cap.

Operations-log product, took ownership (Feb 2025 – Apr 2026)

  • Authored about 70% of the merged MRs on a Next.js + MongoDB operations-log product: shift turnover, check-in/out, audit history, multi-site timezones and SendGrid reports on AWS Lambda.

Earlier work (2022 – 2024)

  • Returns product (2022 – 2023, 230+ merged MRs): scheduled functions that parsed purchase emails into orders, items and totals, plus React Native/Expo flows and a React admin panel.
  • AI work (2023 – 2024): survey components feeding an AI activity matcher, and an internal chatbot with a Shopify integration.

Software Engineer Intern · GBM

May 2021 – Mar 2022

  • Built a React Native app for training results with authentication and image uploads, integrated with backend services in a Scrum team.

Quality Engineering Intern · SIMA-ITS

Jun 2020 – Apr 2021

  • Tested web and mobile apps across development and production with test cases and exploratory testing, documenting bugs for developers.

Education

Software Engineering · Universidad Americana

Jan 2017 – Mar 2022

Contact

Want to talk about a role or a build? Reach out.

Location

Managua, Nicaragua

LinkedIn

LinkedIn→

GitHub

GitHub→

Profile only. Project repositories are private.