Senior Product Engineer

I build and operate production SaaS.

From domain rules and API boundaries to deployment and release ownership — I ship systems that stay correct under real business load.

Hospitality SaaS with booking integrity, payments, multi-tenant delivery, and operational tooling. One person across product architecture, implementation, and infrastructure.

Product architecture
Domain modeling and system boundaries
Production engineering
APIs, data integrity, and release ownership
Cloud operations
Deployment, DNS, SSL, and infrastructure

Flagship case study

aloja.casa

A multi-tenant hospitality SaaS I design, build, deploy, and operate — protecting availability and revenue for operators who sell across direct and OTA channels.

Product Engineer / Full Stack Owner

I own the product architecture, guest booking flow, operations dashboard, backend API, deployment model, and the domain rules that prevent double-booking and pricing drift.

Visit aloja.casa
Production request flow
Operations dashboard showing revenue, occupancy, and cancellations Multi-property availability calendar Guest booking date and guest selector

Problem

Operators need a direct booking channel without losing availability consistency across Airbnb, Booking.com, VRBO, and on-site reservations.

Constraints

  • Inventory cannot overlap when payment confirmation is async.
  • Pricing evolves, but historical reservations need stable snapshots.
  • One platform must serve multiple brands, domains, and visual identities.

Outcome

Multiple hospitality brands run from one codebase with payments, OTA synchronization, and day-to-day operational tooling operators rely on.

Engineering decisions

Each decision exists because a business invariant had to hold in production — not because a framework was available.

Availability engine

Why: Operators cannot sell the same night twice across channels. The engine searches feasible night-by-night combinations, ranks results to reduce property switches, and respects occupancy, blocked dates, holds, and existing reservations.

Booking holds

Why: Payment confirmation arrives asynchronously. A temporary hold during checkout lets the system wait for webhooks without letting two guests reserve the same dates.

Pricing engine

Why: Operators need explainable totals, not black-box quotes. Weekday base rates, date overrides, guest surcharges, early check-in, late check-out, and minimum price rules produce the same total in the UI and API.

Multi-tenancy

Why: Forking per brand does not scale operationally. Hostname resolution delivers brand-specific behavior from one platform without duplicating the codebase.

Authentication

Why: Operational users need scoped access, not a single admin gate. JWT sessions, refresh rotation, Redis-backed invalidation, two-factor authentication, and role-based access control protect internal workflows.

Deployment

Why: Separate public and operations surfaces optimize for different users. Docker and Nginx route traffic to Next.js for SEO-sensitive guest flows and SolidJS for a dense operator calendar — each tuned for its job.

Cloud infrastructure

Why: The product has to run reliably without a separate ops team. I manage DNS, SSL, Linux servers, AWS SES email delivery, Route53 records, Lightsail hosting, and Amplify deploys — and own release troubleshooting when something breaks in production.

Tradeoffs

A custom booking domain model took longer than a reservation plugin, but made availability, pricing, and OTA rules explicit and testable.

JSON snapshots plus normalized booking rows add write complexity, but protect historical financial records while keeping availability queries efficient.

Two front-end apps increase deployment surface, but let each optimize for its user: conversion for guests, density and speed for operators.

Engineering highlights

What I own in aloja.casa production

Architectural choices, implementations, and operational responsibility for the flagship platform — not every project in the portfolio shares this depth.

Multi-tenant SaaS

Hostname-resolved brands from one codebase — each with its own domain, visual identity, and operational configuration.

Booking domain modeling

Availability, holds, reservations, and OTA sync modeled as explicit invariants instead of ad hoc database flags.

Payments

MercadoPago integration with webhook-driven confirmation tied to hold sessions so inventory stays consistent.

RBAC

Role-based access for operational users — scoped permissions across dashboard, calendar, and configuration workflows.

API design

NestJS REST boundaries with shared TypeScript contracts so public booking, operations UI, and backend agree on domain models.

Virtualized data grids

Multi-property calendar over years of booking data — grid virtualization, cache-window quantization, and fine-grained SolidJS updates for operator confidence at scale.

Cloud infrastructure

AWS SES, Route53, Lightsail, and Amplify — plus DNS, SSL, and Linux server operations when the product needs to stay online.

Docker

Containerized deployments with Nginx routing — repeatable releases across public and operations applications.

Redis

Short-lived booking holds, session state, and token invalidation — operational state that should not live in PostgreSQL.

PostgreSQL

Relational booking data with normalized rows for availability queries and snapshots for historical pricing integrity.

Performance optimization

Rendering strategies chosen per surface — SEO and conversion for guest flows, virtualization and cache discipline for operator tools handling large datasets.

Production operations

Release ownership and troubleshooting when deployments or integrations fail — monitoring through operational use, not passive dashboards.

Previous engineering work

Reusable React component library

Previously built and maintained a reusable React component library with Storybook, Chromatic, Rollup, and TypeScript. Although it is no longer part of the current production stack, it demonstrates experience designing reusable UI contracts, documenting component APIs, and maintaining shared frontend infrastructure.

Documented component APIs

Storybook made behavior inspectable — forms, layout, feedback, navigation, and data-display primitives with TypeScript-first contracts instead of hidden implementation details.

Portable packaging

Rollup bundling and versioning let independent applications consume the same primitives without copying source files across repositories.

Visual review discipline

Chromatic supported review of interface changes before they spread across consumers — a workflow for keeping shared UI trustworthy as it evolved.

Why it mattered

The library was private infrastructure for reducing duplicated UI decisions. It has since become outdated and is not used by the current aloja.casa production apps — but the engineering patterns remain relevant.

Production work

Software in production

aloja.casa is the deepest engineering work. Other projects are smaller in scope — marketing sites and community platforms — and are presented at the depth they actually have.

Multi-tenant SaaS

Production implementations of aloja.casa

These hospitality businesses run on the same platform — shared booking integrity, payments, availability control, and operations tooling, with hostname-resolved branding per tenant. They are not unrelated standalone builds.

My role
Platform owner — product architecture, API, deployment, and domain rules behind every tenant.

Other production work

Marketing MVP

Ruta Vida

Problem
A guided electric bike tour business needed a simple web presence to validate demand before investing in a fuller product.
My role
Built the landing page with HTML and CSS — intentionally lightweight, not a booking platform.
Why it exists
A marketing MVP that supports direct customer inquiries and explains the offering — not a production reservation system.
Visit rutavida.com ↗

Hospitality

Cute Studio Xamira

Problem
A vacation rental property in Tulum needed a fast, mobile-friendly website to present the property, explain amenities, and support both short-term and long-term rentals.
My role
Designed and built the public marketing website, focusing on responsive layouts, performance, and a frictionless browsing experience.
Why it exists
Provides a professional online presence that helps guests explore the property before contacting or booking through the owner's preferred channels.
HTMLCSSResponsive DesignPerformance
Visit cutestudioxamira.com ↗

Community

Huellas de Emi

Problem
A local adoption organization needed public profiles and lightweight content management.
My role
Full build — responsive UI and content architecture with Astro.
Why it exists
The community can share adoption stories and information without managing a complex CMS.
Visit huellasemi.org ↗

Engineering expertise

Technical ownership by responsibility

Grouped by what I am accountable for in production — not a technology bingo card.

Product & domain

Booking rules, pricing logic, multi-tenant behavior, workflow translation from business needs to system design.

  • TypeScript contracts
  • Domain modeling
  • Figma-to-code

Application layer

Public booking surfaces and operations dashboards on aloja.casa — rendering strategies matched to guest conversion vs. operator density.

  • React
  • Next.js
  • SolidJS
  • Redux Saga

Backend & data

APIs, authentication, payments, relational data integrity, and integration boundaries between channels.

  • NestJS
  • PostgreSQL
  • Redis
  • MercadoPago

Infrastructure & operations

Deployment, DNS, SSL, container routing, email delivery, and release troubleshooting when production misbehaves.

  • AWS
  • Docker
  • Nginx
  • Linux

Visibility & reporting

Operational dashboards for occupancy, revenue, and cancellation behavior — connected to decisions operators make weekly.

  • D3.js
  • Data visualization
  • Dashboard design

Shared UI infrastructure

Previously built a private React component library — Storybook documentation, Chromatic visual review, and Rollup packaging. Not part of the current aloja.casa production stack.

  • Storybook
  • Chromatic
  • Rollup

Contact

Let's talk about production software.

Open to remote Senior Full Stack, Product Engineer, Frontend Architect, and founding engineering roles where end-to-end ownership matters. Spanish native, English advanced.

josenanodev@gmail.com / +52 3313296314