The next project i’m showcasing from the list of projects i’ve built this year isThe next project i’m showcasing from the list of projects i’ve built this year is
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
The next project i’m showcasing from the list of projects i’ve built this year is a full-featured hotel website with direct bookings, booking management and lots more👇🏾
Why are hotels still losing 15-25% of their revenue to Booking. com and Expedia commissions?
To solve this, I designed and engineered a custom, enterprise-grade Direct Booking Engine & Property Management System (PMS) from the ground up.
I set out to build a highly optimized, 5-star luxury website, but it quickly evolved into a full-scale hospitality machine capable of automating a hotel's entire front desk.
Here is a look under the hood at the architecture and features:
The Tech Stack: Built for blazing speed and SEO using Next.js (App Router), TypeScript, Tailwind CSS, Framer Motion, and Firebase (Firestore, Auth, Storage, & Admin SDK).
Key System Features:
Smart Automation (Cron Jobs): Built secure Next.js API routes that run hourly to auto-cancel unpaid 24-hour holds, trigger 12-hour payment reminder webhooks, and alert staff of no-shows.
Live Inventory Matrix: Engineered a real-time, visual room availability grid that maps active bookings to physical room numbers, managing walk-in constraints to absolutely prevent double-booking.
Dynamic Offers Engine: A complex checkout algorithm that monitors date-picker data (like minimum-night requirements) to dynamically calculate and apply conditional discounts before writing strict payloads to the database.
Premium Media Architecture: Built a custom media component that seamlessly renders videos as silent, auto-playing background elements for a high-end luxury aesthetic.
Guest CRM & Analytics: Tracks Guest Lifetime Value (LTV), actual check-in/check-out stay history, and dynamic revenue trend charts.
I focused heavily on creating an "app-like" mobile UX, utilizing native iOS-style bottom sheets and horizontal scroll-snap masonry galleries to make the direct booking experience feel incredibly premium.
Whether you're a hotel owner tired of clunky third-party booking software, or a developer interested in Next.js/Firebase architecture, I’d love to hear your thoughts!
Recent work for Avallon AI, a YC-backed startup building AI infrastructure for hospitality.
The challenge was explaining a technical product in a way that feels clear to hotel operators, partners and technical teams.
The website was structured around the product story, core capabilities, use cases and proof. Each section helps visitors understand what Avallon does, where it fits and why it matters.
Framer was used to move quickly while giving the team full control after launch. Reusable components and CMS collections make it easier to publish new content, expand the website and keep everything consistent.
The scope included:
• Website design
• Framer development
• Responsive layouts
• CMS architecture
• Custom code
• SEO setup
• Analytics and conversion tracking
The result is a clearer product story and a flexible marketing system that can grow with the company.
I’ve been building SabiFlow for a while, and honestly, the most interesting part of the project isn’t the code.
It's the problem.
Because it's personal.
I've experienced that thing where money comes in and somehow, without you really noticing, it starts disappearing.
Not because you don’t earn enough.
Not necessarily because you're irresponsible either.
Sometimes money simply has no job when it arrives.
And as an engineer, that got me thinking:
What if the problem isn't budgeting? What if the problem is that we’re asking people to make too many good decisions at the exact moment they have the most temptation to make bad ones?
That question became the foundation for SabiFlow.
Instead of telling someone, "You should save 20% of your income," I started thinking about what would happen if the system simply helped assign every inflow a purpose the moment it arrived.
That led me down a rabbit hole.
Funnels.
Automated distribution.
Wallet infrastructure.
Virtual accounts.
User behaviour.
Transaction flows.
KYC.
Compliance.
Even the psychology behind notifications.
And this is probably my favourite part of being both an engineer and a founder.
I don’t just ask:
"How do I build this feature?"
I ask:
"Why does this problem exist, and what kind of system could make dealing with it easier?"
Then the engineer in me comes along and asks:
"Okay… but how do we actually make this work reliably?" 😂
That tension between the founder thinking about the problem and the CTO thinking about the system is probably what I enjoy most about building SabiFlow.
I’m still figuring a lot of it out.
But I'm curious:
What’s a problem you’ve experienced personally that eventually made you want to build something around it?
The framing around “why does this problem exist?” is exactly the kind of product thinking that keeps a financial tool from becoming another dashboard. SabiFlow sounds strongest where the behavioral insight meets the practical system design—especially around notifications and reliable follow-through.
Does someone on your team lose a day or two building the sales report every week or month?
That was the starting point at Mokobara, the premium travel brand. Pulling sales across all their stores, checking returns, reconciling the numbers and emailing each manager took 1 to 2 days every cycle, with 8+ hours of that spent just reconciling.
I built them an automation on Make.com a few months ago. It has run on its own ever since, weekly and monthly:
Make pulls every sales record from BigQuery, 100K to 250K per cycle. That is too many for one request, so it reads them page by page and stitches them back together.
It calculates the numbers the team actually uses: net sales per store after returns and discounts, return rates and the change against the last period.
It builds a CSV with the full breakdown and a short email summary you can read in 60 seconds.
It reads a Google Sheet of store representatives and emails every one of them the report for their own store.
The result: the reporting problem is gone. The report went from 1 to 2 days of manual work to fully automatic, and the 8+ hours of reconciliation dropped to zero.
Two things I would do the same way again:
Calculate "net sales" in the automation, not in the warehouse. The business rule for what counts as a net sale is not what the raw data stores.
Send people their slice, not the whole report. One report for everyone gets skimmed by everyone.
The figures in the image are placeholders, the real ones stay with the client.
What report is your team still building by hand? Tell me where the data lives and I will tell you how I would automate it.