Sunny YuenFrontend Engineer / Full Stack Engineer / Software Engineer

/projects/stayops

StayOps

active2026 — now

Chat-first property-operations app for short-term-rental owners, where the agent is the only way state changes.

The problem

Short-term-rental owners run their portfolio across disconnected tools — bookings originate on Airbnb and Furnished Finder, turnovers are coordinated by text, contractors submit work with no verifiable evidence, and guests ask the same questions every stay. StayOps unifies booking ingestion, turnover work orders, contractor checklists, and guest concierge behind a single agent, with three tokenized surfaces (owner, guest, contractor) and no app install for guests or contractors.

My role

Solo engineer — architecture, schema and protocol design, backend, frontend, design system, test and eval harness, multi-agent delivery orchestration.

Highlights

  • UI design thesis: a paradigm shift that fuses chat and web into a cohesive melting pot where the same contract-validated component catalog renders both inside the conversation and as page surfaces, making the graphical layer the agent's primary output medium.
  • Designed a typed A2UI protocol and froze a 12-component catalog as a contract, with Zod validation at the dispatch boundary and a safe fallback mechanism to prevent malformed model outputs from crashing the stream.
  • Implemented a multi-agent orchestration pipeline for project delivery, utilizing parallel implement-and-adversarially-verify loops where every acceptance criteria verdict is backed by a verified test run or in-browser evidence.
  • Built a high-integrity two-way iCal sync engine: UID-keyed upsert with hash short-circuiting, tokenized per-unit export feeds, and turnover side-effects that auto-create on checkout and auto-cancel unstarted tasks.
  • Engineered a 'changes via agent' lock chip UX pattern, ensuring the conversation is the sole mutation path and dashboard tiles act as agent launchers that stage requests rather than mutating inline.
  • Shipped an eval harness with a golden owner-scenario suite that validates confirm-gating invariants in CI without model calls, supported by 150+ tests across contract, service, ingestion, and agent-pipe layers.
  • Enforced server-side trust invariants: a submit gate refusing work orders with missing required artifacts, immutable booking dates for synced records, and a mandatory confirmation handshake for all destructive agent actions.

Architecture

StayOps is a personal property management platform that synchronizes short-term rental bookings via two-way iCal feeds and enriches guest data through Gmail API ingestion. The system is built on Next.js 16 and Neon Postgres using Drizzle ORM, featuring a chat-first SPA architecture powered by the A2UI protocol and a custom Tailwind 4 component catalog. Engineering patterns prioritize a prescribed, checklist-based workflow for contractors and a conversational guest concierge integrated via the Vercel AI SDK and Gateway for model-agnostic reasoning. The architecture deliberately avoids payment processing to focus on operational validation, maintaining a strict audit trail of tool invocations and persisting state within a single-tenant environment.

Stack

Next.js 16React 19TypeScriptTailwind 4shadcn/uiDrizzle ORMNeon PostgresClerkVercel AI SDKVercel AI GatewayVercel BlobVitestZodNext.jsReact

Ask the agent about this project →