VillaVibe • 2025
Modern Villa Rental Platform
ROLE
Product Engineer
TIMELINE
December 2025
Team
4 Contributors
SKILLS
Mobile Development
Payment Integration
UI/UX Design
Overview
VillaVibe bridges the gap between the reliability of a hotel and the authenticity of a home
For too long, travelers have been forced to compromise. They either choose the sterile safety of a hotel chain or risk the uncertainty of the unverified rental market ("The Wild West"). VillaVibe was created to eliminate this trade-off. We built a platform where emotional discovery ("The Vibe") is backed by industrial-grade trust infrastructure—ensuring that every feeling of "belonging" is supported by a secure, verified transaction.


Problem
The "Wild West" of Local Tourism.
Booking a local villa shouldn't require a leap of faith. Currently, the local rental market is fragmented between Instagram DMs, WhatsApp chats, and outdated listing sites. This decentralized chaos creates a breeding ground for scams and miscommunication. Users are forced to manually verify hosts, negotiate prices via chat, and hope the villa actually exists upon arrival.
Why the current experience is broken.
The "WhatsApp" Blackbox
Most transactions happen via chat apps. This lacks legal protection, booking history, or standardized cancellation policies. Users feel like they are making a "back-alley deal" rather than a professional booking.
Transactional Anxiety (Payment)
Manual bank transfers are prone to error and fraud. Asking users to "upload transfer proof" is an archaic UX pattern that kills conversion. Users expect the instant gratification of QRIS (Gopay/Ovo), but local hosts rarely have the tech infrastructure to support it.
The Aesthetic Trap
Existing aggregators (like Traveloka/Tiket.com) are great for hotels but terrible for villas. They treat unique properties like generic inventory. The rigid photo grids fail to convey the "vibe" or atmosphere, leading to missed expectations.
Research & Strategy
Turning a chaotic market into a structured ecosystem.
We realized that the "Wild West" problem wasn't just about bad design; it was about a lack of data integrity. To solve the "WhatsApp Blackbox" and "Aesthetic Trap," we couldn't just build another pretty directory. We had to build a verification layer. Our strategy pivoted from facilitating human negotiation to engineering systematic certainty—fundamentally restructuring how villas are verified, displayed, and booked.
Our Approach
Standardizing the "Vibe"
The "Aesthetic Trap" exists because current platforms treat homes like generic inventory. To fix this, we engineered a new data model. We abandoned free-text descriptions and enforced a Mood-Based Taxonomy (e.g., Beach, Camping, Nature) as the primary search index. This turns abstract "feelings" into concrete, queryable data—ensuring that the digital promise matches the offline reality.
The "Instant-Book" Mandate
To kill the anxiety of "Is this host active?" or "Will I get scammed?", we made a decision. We adopted a Zero-Negotiation Policy. This required engineering a complex real-time sync between the availability calendar and the Midtrans Payment Gateway. By forcing instant payments, we converted a weeks-long manual negotiation into a 30-second secure transaction.
Old Vs New Flow

Technical Architecture
Engineering the "Trust" Infrastructure.
To support the "Zero-Negotiation" policy and real-time payments, a simple MVC pattern wasn't enough. I architected the application using Clean Architecture principles with a focus on Separation of Concerns. This ensures that the complex business logic (payments & booking validation) remains decoupled from the UI, resulting in a scalable and testable codebase.

I used Riverpod Providers to handle asynchronous streams from the Midtrans Gateway, ensuring the UI updates instantly (Optimistic UI) when a payment status changes from Pending to Success.
The Data Layer acts as a single source of truth, abstracting the complexity of Firebase Firestore and Google Maps API from the client-side logic.
The modular structure allows for easy addition of new features (like Reviews or Host Dashboard) without breaking existing payment flows.
Solution
VillaVibe: Where "Vibe" Meets Verification.
We translated our new data model into a fluid, visual-first interface. The final product isn't just a booking tool; it's a curated discovery engine. We stripped away the clutter of traditional dashboards to focus on high-fidelity imagery and a frictionless checkout flow.
Discovery
Search by Feeling, not just Filtering.
We replaced the standard "Location Input" with a category. Users start their journey by choosing a mood. The interface uses vertical, immersive media (inspired by social apps) to give users a true sense of scale and atmosphere before they click.


The "3-Tap" Checkout
We reduced the time-to-book from an average of 3 days (manual WhatsApp negotiation) to 45 seconds.
Reflection
What I learned from building a trust ecosystem.
Bridging the gap between "Code" and "Human Connection". VillaVibe taught me that building a product isn't just about writing clean Dart code or making pixel-perfect UIs. It's about understanding the psychology of the user.
Trust is Architectural
Trust isn't just a badge on a UI; it's a backend requirement. Integrating Midtrans taught me that "security" is actually a user experience feature. If the API response lags or the payment overlay feels glitchy, trust evaporates instantly.
Latency kills the "Vibe"
When you promise an immersive experience, performance is paramount. Dealing with high-res media required optimizing Flutter’s rendering engine and implementing aggressive caching strategies. I learned that Fluidity (60 FPS) is often more valuable than feature density.
Systems Thinking
Moving from "Text Search" to "Vibe Tags" wasn't just a UI change; it required rethinking the entire database schema in Firestore. This reinforced my belief that design decisions and engineering constraints must be tackled simultaneously, not in silos.
VillaVibe • 2025
Modern Villa Rental Platform
ROLE
Product Engineer
TIMELINE
December 2025
Team
4 Contributors
SKILLS
Mobile Development
Payment Integration
UI/UX Design
Overview
VillaVibe bridges the gap between the reliability of a hotel and the authenticity of a home
For too long, travelers have been forced to compromise. They either choose the sterile safety of a hotel chain or risk the uncertainty of the unverified rental market ("The Wild West"). VillaVibe was created to eliminate this trade-off. We built a platform where emotional discovery ("The Vibe") is backed by industrial-grade trust infrastructure—ensuring that every feeling of "belonging" is supported by a secure, verified transaction.




Problem
The "Wild West" of Local Tourism.
Booking a local villa shouldn't require a leap of faith. Currently, the local rental market is fragmented between Instagram DMs, WhatsApp chats, and outdated listing sites. This decentralized chaos creates a breeding ground for scams and miscommunication. Users are forced to manually verify hosts, negotiate prices via chat, and hope the villa actually exists upon arrival.
Why the current experience is broken.
The "WhatsApp" Blackbox
Most transactions happen via chat apps. This lacks legal protection, booking history, or standardized cancellation policies. Users feel like they are making a "back-alley deal" rather than a professional booking.
Transactional Anxiety (Payment)
Manual bank transfers are prone to error and fraud. Asking users to "upload transfer proof" is an archaic UX pattern that kills conversion. Users expect the instant gratification of QRIS (Gopay/Ovo), but local hosts rarely have the tech infrastructure to support it.
The Aesthetic Trap
Existing aggregators (like Traveloka/Tiket.com) are great for hotels but terrible for villas. They treat unique properties like generic inventory. The rigid photo grids fail to convey the "vibe" or atmosphere, leading to missed expectations.
Research & Strategy
Turning a chaotic market into a structured ecosystem.
We realized that the "Wild West" problem wasn't just about bad design; it was about a lack of data integrity. To solve the "WhatsApp Blackbox" and "Aesthetic Trap," we couldn't just build another pretty directory. We had to build a verification layer. Our strategy pivoted from facilitating human negotiation to engineering systematic certainty—fundamentally restructuring how villas are verified, displayed, and booked.
Our Approach
Standardizing the "Vibe"
The "Aesthetic Trap" exists because current platforms treat homes like generic inventory. To fix this, we engineered a new data model. We abandoned free-text descriptions and enforced a Mood-Based Taxonomy (e.g., Beach, Camping, Nature) as the primary search index. This turns abstract "feelings" into concrete, queryable data—ensuring that the digital promise matches the offline reality.
The "Instant-Book" Mandate
To kill the anxiety of "Is this host active?" or "Will I get scammed?", we made a decision. We adopted a Zero-Negotiation Policy. This required engineering a complex real-time sync between the availability calendar and the Midtrans Payment Gateway. By forcing instant payments, we converted a weeks-long manual negotiation into a 30-second secure transaction.
Old Vs New Flow


Technical Architecture
Engineering the "Trust" Infrastructure.
To support the "Zero-Negotiation" policy and real-time payments, a simple MVC pattern wasn't enough. I architected the application using Clean Architecture principles with a focus on Separation of Concerns. This ensures that the complex business logic (payments & booking validation) remains decoupled from the UI, resulting in a scalable and testable codebase.


I used Riverpod Providers to handle asynchronous streams from the Midtrans Gateway, ensuring the UI updates instantly (Optimistic UI) when a payment status changes from Pending to Success.
The Data Layer acts as a single source of truth, abstracting the complexity of Firebase Firestore and Google Maps API from the client-side logic.
The modular structure allows for easy addition of new features (like Reviews or Host Dashboard) without breaking existing payment flows.
Solution
VillaVibe: Where "Vibe" Meets Verification.
We translated our new data model into a fluid, visual-first interface. The final product isn't just a booking tool; it's a curated discovery engine. We stripped away the clutter of traditional dashboards to focus on high-fidelity imagery and a frictionless checkout flow.
Discovery
Search by Feeling, not just Filtering.
We replaced the standard "Location Input" with a category. Users start their journey by choosing a mood. The interface uses vertical, immersive media (inspired by social apps) to give users a true sense of scale and atmosphere before they click.




The "3-Tap" Checkout
We reduced the time-to-book from an average of 3 days (manual WhatsApp negotiation) to 45 seconds.
Reflection
What I learned from building a trust ecosystem.
Bridging the gap between "Code" and "Human Connection". VillaVibe taught me that building a product isn't just about writing clean Dart code or making pixel-perfect UIs. It's about understanding the psychology of the user.
Trust is Architectural
Trust isn't just a badge on a UI; it's a backend requirement. Integrating Midtrans taught me that "security" is actually a user experience feature. If the API response lags or the payment overlay feels glitchy, trust evaporates instantly.
Latency kills the "Vibe"
When you promise an immersive experience, performance is paramount. Dealing with high-res media required optimizing Flutter’s rendering engine and implementing aggressive caching strategies. I learned that Fluidity (60 FPS) is often more valuable than feature density.
Systems Thinking
Moving from "Text Search" to "Vibe Tags" wasn't just a UI change; it required rethinking the entire database schema in Firestore. This reinforced my belief that design decisions and engineering constraints must be tackled simultaneously, not in silos.