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:
- Relational Complexity: Linking dates, room groups, and individual stays.
- Dynamic Pricing: Deriving rates based on occupancy and logic-based rules.
- 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
Top comments (0)