External Publication
Visit Post

Building Innward: A B2B Hospitality Operating System with Vercel and Amazon Aurora

DEV Community [Unofficial] June 29, 2026
Source

This blog post is created for the purposes of entering the Hack the Zero Stack with Vercel v0 and AWS Databases hackathon. #H0Hackathon

Building Innward: A B2B Hospitality Operating System with Vercel and Amazon Aurora

The hospitality industry is notorious for relying on "legacy" software—clunky, slow, and disconnected. For the Hack the Zero Stack hackathon, I set out to build Innward , a modern, AI-ready Property Management System (PMS) that proves you can build enterprise-grade B2B tools in record time using Vercel v0 and AWS Databases.

The Vision: Moving Beyond the Spreadsheet

Hotel managers don't just need a place to store "Room 101: Occupied." They need to solve the "Hidden Math" of revenue management. This means:

  1. Relational Complexity: Linking dates, room groups, and individual stays.
  2. Dynamic Pricing: Deriving rates based on occupancy and logic-based rules.
  3. Market Intelligence: Real-time benchmarking against competitors.

The "Zero Stack": Vercel + Amazon Aurora

To handle this complexity, I chose Amazon Aurora PostgreSQL (Serverless v2).

Why Aurora for B2B?

In a B2B SaaS environment, data isolation and relational integrity are non-negotiable. Aurora provided the robust relational power needed to join complex pricing tables while scaling automatically as more hotels (tenants) join the platform.

The Zero-Secret Architecture

One of the most rewarding parts of this build was implementing the AWS RDS Signer. Following the "Zero Stack" philosophy, I moved away from static database passwords. Innward uses IAM-based authentication to communicate between Vercel and AWS.

By utilizing the @aws-sdk/rds-signer, the application generates short-lived tokens on the fly. This means even if an environment variable were leaked, the database remains locked tight.

// lib/db.ts snippet
const signer = new Signer({
  credentials: awsCredentialsProvider({
    roleArn: process.env.AWS_ROLE_ARN!,
    clientConfig: { region: process.env.AWS_REGION },
  }),
  region: process.env.AWS_REGION,
  hostname: process.env.PGHOST!,
  username: process.env.PGUSER || "postgres",
  port: 5432,
});

const pool = new Pool({
    password: () => signer.getAuthToken(),
    ssl: { rejectUnauthorized: false },
});

Scaffolding with v0: Designing for Information Density

B2B users don't want "simple"—they want clarity. I used v0 to scaffold a high-information-density UI using Next.js 15 and Shadcn.

The Custom Gantt Grid

A highlight of the project is the Reservation Timeline. Most calendar libraries fail at showing "Half-Day" turnovers (where one guest leaves at 11 AM and another arrives at 3 PM). I used v0 to build a custom CSS Grid implementation with horizontal insets, accurately reflecting the physical reality of hotel room turnovers.

Financial Volatility with Candlestick Charts

Innward includes a background worker built with Playwright that scrapes competitor rates. I visualized this data using Recharts Candlestick components. This gives revenue managers a "Volatility Pulse," showing the spread between the cheapest and most expensive rooms in their city.

Overcoming the "Serverless Ceiling"

During development, I hit a major hurdle: the Vercel 300s timeout. Scraping market data for multiple cities across a 14-day window was a heavy task.

I solved this by building a "Timeout-Aware" algorithm. The sync loop monitors its own execution time. If it reaches 280 seconds, it stops gracefully, saves a "checkpoint" to Aurora, and returns a partial success response. The next Vercel Cron run simply picks up where it left off.

B2B Granular IAM via JSONB

Security is the heart of B2B software. I leveraged PostgreSQL’s JSONB capabilities to store a map of 15+ granular permission keys per staff member. This allowed for a highly flexible "Manage Access" UI where hotel owners can toggle specific permissions (like revenue.kpis or stays.check_in) without needing a new database column for every feature.

Building with the Zero Stack has been an eye-opener. The speed of Vercel combined with the enterprise reliability of AWS Databases allowed me to focus 100% on solving the business logic of hospitality.

Check out the project: https://aurastay-pms-build-five.vercel.app/ Built with: Next.js 15, Vercel v0, Amazon Aurora PostgreSQL.

#H0Hackathon #Vercel #AWS #FullStack #NextJS #PostgreSQL

Discussion in the ATmosphere

Loading comments...