TurfPro -

A football turf booking app

A community-first sports turf booking experience

Mobile App

Venue Booking

Material Design

“Imagine booking a sports turf as easily as you plan the game itself — quick, predictable, and built around how people actually play.”

SKIP TO FINAL DESIGN

Role

Product Designer

DURATION

Jan 2024 – Mar 2024


(Concept to high-fidelity execution)

Focus Areas

End-to-end mobile UX

Booking flow optimization

Navigation & information hierarchy

Feature prioritization & restraint

Dark mode design

The

Origin

TurfPro began with a very local frustration.

In my community, booking a sports turf usually meant calling the venue, sending messages, waiting for confirmations, and following up again to make sure the slot was actually secured. Availability wasn’t always clear, cancellations were messy, and payments were often handled separately.

While popular turf booking apps existed in other regions, they either didn’t support venues in my area or didn’t reflect how people here actually book and play.
That gap — between how people wanted to book and how the system behaved — became the starting point for TurfPro.

Patterns

I Noticed

As I looked closer at existing turf booking apps, the gap wasn’t about missing features — it was about misalignment.

In my community, there were only two real players. One had strong UX maturity and scale, but didn’t support local turfs at all. The other supported nearby venues, but struggled with usability, navigation clarity, and visual consistency. In both cases, the core job — booking a turf quickly and confidently — was harder than it needed to be.

What stood out was that neither app failed completely. They failed in different ways, leaving a clear opportunity between them.

Comparing scale, usability, and interface quality across the two dominant turf booking apps revealed a gap between local relevance and UX maturity.

From this, a few clear insights surfaced:

  • One app prioritized scale and features, but lacked local coverage

  • The other supported local venues, but fell short in navigation and visual clarity

  • Booking flows were often dense and cognitively heavy

  • Navigation didn’t consistently prioritize the primary action: booking

TurfPro didn’t need more features — it needed clearer hierarchy, simpler booking, and a locally grounded experience without inheriting existing friction.

Design System

Choice

Before moving into screens, I needed to make a foundational decision: what design system could support speed, clarity, and long-term consistency for a utility-heavy booking product.

TurfPro wasn’t meant to feel flashy. It needed to feel familiar, predictable, and fast—especially for users booking turfs minutes before a game. That pushed me toward a system that already solved common interaction problems well.

This is where Material Design made sense.

Instead of building components from scratch, I chose to work within Google’s Material Design (Material 3) ecosystem. The decision wasn’t about convenience but more about design discipline. Material provided:

  • A mature component library that scaled well across complex flows

  • Clear guidance for states, inputs, errors, and system feedback

  • Patterns that users already subconsciously understand

For a booking-focused product, this reduced friction and allowed me to focus more on flow clarity and edge cases, rather than reinventing UI behavior.

Visual Language &

Color Decisions

Once the system was locked, the next question was tone. TurfPro is rooted in sports, turf, and outdoor activity. Green wasn’t a branding decision—it was a contextual one. Using green created an immediate visual association with the physical spaces users were booking.

Rather than a single palette, I defined separate light and dark mode palettes early, so contrast, readability, and accessibility wouldn’t be afterthoughts later.

Color palettes defined early to ensure clarity, contrast, and consistency across both light and dark environments.

Bringing the System

Bringing the System

to Life

to Life

Every screen in TurfPro exists for a reason—to make booking a sports turf fast, predictable, and stress-free.

1. Onboarding:

Getting Users to the Pitch

What THESE screenS is about

For TurfPro, onboarding isn’t about explaining the product — it’s about getting users ready to book as fast as possible. Most users open the app with a clear intent: find a turf, book a slot, play.
I treated onboarding as a lightweight ramp, not a funnel. Each screen exists to remove friction before the first booking, not to sell features or overwhelm new users.

The flow balances two things:

  • Setting expectations (what TurfPro helps with)

  • Collecting only what’s necessary to personalize and proceed

Key decisions

  • Onboarding focuses on outcomes, not feature explanations

  • OTP-based login used to remove password friction

  • Personalization steps (sports, notifications) are optional, not blocking

  • Progress indicator sets clear expectations without urgency

  • Final screen reinforces readiness instead of asking for more input

2. Home:

Discovery First, 

Creation One Tap Away

What this SCREEN is about

The Home screen is designed as a discovery-first surface. Its job isn’t to make users think — it’s to help them act quickly based on location, sport, and availability.

Instead of pushing users into filters or deep navigation, Home answers three questions immediately:

  1. Where am I?

  2. What can I play?

  3. What's available right now?

Search, browsing, and booking are intentionally layered so users can either explore casually or move straight into action without friction.

The floating + button exists as a deliberate escape hatch for users who already have a plan — specifically for creating a game. This prevents the Home feed from turning into a cluttered action board, while still keeping game creation instantly accessible.

Key decisions

  • Home remains read-only by default, focused on discovery

  • Search supports both turfs and games to avoid mode switching

  • Sport filters enable fast narrowing without entering a separate flow

  • Nearby turfs and nearby games are visually separated to clarify intent

  • Turf cards optimized for comparison (distance, time, rating, offers)

  • Floating + reserved strictly for Create Game

  • Creation deliberately pulled out of the main content hierarchy to avoid noise

3. Turf Card:

The Moment of Decision

What this CARD is about

The turf card acts as a compressed preview of the full turf experience.

 In one glance, users can understand the quality, relevance, and availability of a turf — and decide whether to explore further or move on.
This card needed to work equally well in fast scrolling, casual browsing, and purposeful searching.

Key decisions

  • Large visual preview to establish turf quality immediately

  • Rating and offers surfaced on the image to build trust early

  • Supported sports shown as chips for quick relevance checks

  • Distance and operating hours grouped to answer practical questions

  • Two clear paths:

Book now for confident users

More details for those who want reassurance

4. Turf Details:

From Discovery to Decision

Discovery is over. This screen shouldn't sell; it should remove hesitation. The goal is to answer one question: 'Can I trust this place enough to book right now?

4.1 Turf Identity

Making a Venue Feel Real

What this section is about

Before users look at prices or time slots, they need to recognize the turf.

 This section establishes the turf’s identity using strong visuals, location context, and social proof — turning a generic listing into a real, physical place.

The large image header isn’t decorative. It’s functional. It helps users instantly judge turf quality, lighting, openness, and overall vibe — things that matter far more than specs in local sports bookings.

Key decisions

  • Full-width imagery to build trust before interaction

  • Turf name, distance, and operating hours grouped for instant validation

  • Rating surfaced early to anchor credibility

  • No booking CTA here — identity comes before action

4.2 Quick Actions

Utility Without Distraction

What this section is about

Once trust is established, users often want to do one quick thing before booking — check directions, call the venue, share it with friends, or save it for later.

These actions are surfaced immediately, but deliberately kept lightweight so they don’t interrupt the booking flow.

Key decisions

  • Directions, Contact, Share, and Save shown as icon-based actions

  • Equal visual weight — no action feels more “important” than another

  • Actions placed above the fold to reduce back-and-forth navigation

4.3 What You Can Play & What You Get

Scannable, Not Buried

What this section is about

Instead of long descriptions, supported sports and amenities are presented as visual chips. This allows users to answer practical questions instantly — Does this turf support my sport? Do they have basic facilities?
This section is designed to be skimmed in seconds, not read line by line.

Key decisions

  • Sports and amenities shown as chips for fast scanning

  • No icons-only representation — labels prevent ambiguity

  • Grouped logically to reduce cognitive load

4.4 Offers & Social Proof

Reassurance, Not Pressure

What this section is about

Offers and reviews exist to reinforce confidence, not force urgency.

Discounts are visible, but not aggressive. Reviews are detailed, but external — pulled from Google to increase trust.

Key decisions

  • Offers shown as optional value, not flashing CTAs

  • Owner description clearly separated from system-generated content

  • Google reviews embedded to borrow third-party credibility

  • Sorting options included for users who want deeper validation

4.5 Booking Readiness

Action When the User Is Ready

What this section is about

Only after identity, facilities, and trust are established does the system ask the user to act. The “Book now” CTA is persistent, but calm — always available, never demanding attention.

Key decisions

  • Single primary CTA to avoid choice paralysis

  • CTA anchored at the bottom for reachability

  • No secondary booking actions competing for attention

5. Booking Flow:

The Heart of TurfPro

This flow represents the core promise of TurfPro: booking a turf should feel fast, predictable, and impossible to mess up.

Instead of spreading decisions across multiple screens or hiding context behind modals, the booking experience is designed as a single, progressive flow — where users always know what they’ve selected, what it costs, and what comes next.

The inspiration here comes from Google’s Play Store checkout patterns: clear hierarchy, minimal friction, and constant reassurance without unnecessary explanation.

5.1 Sport, Date & Time Selection

Clarity Before Commitment

What this section is about

This screen lets users configure their booking in one place — without bouncing between steps. Sport type, date, time slot, and court size are treated as inputs, not separate flows.

The goal is to reduce mental overhead by keeping everything visible and editable before payment enters the picture.

Key decisions

  • Sport selection uses assistive chips for quick scanning

  • Time slots are presented as discrete buttons instead of sliders

  • Unavailable slots are visibly disabled to avoid false hope

  • Court size is framed as a simple binary choice (Half / Full)

  • Payable amount updates instantly as selections change

5.2 Review & Pricing

Nothing Hidden, Nothing Surprising

What this section is about

Before payment, users see a clean, summary-style review — similar to a Play Store order confirmation.

This screen exists to build trust. It answers one question clearly:

“Is this exactly what I want to book?”

Key decisions

  • Booking details grouped in a single bordered container

  • Offers shown as applied, not promotional

  • Price breakdown clearly separated (subtotal, discount, payable)

  • Advance vs full payment presented as explicit choices

  • No editing buried here — changes happen earlier in the flow

5.3 Payment

Familiar, Fast, Reassuring

What this section is about

Payment follows familiar Android payment patterns to minimize hesitation. The interface avoids novelty and instead leans on recognition — wallets, saved methods, and a single primary CTA.

Key decisions

  • Turf details and amount remain visible during payment

  • Loyalty points shown as a passive reward, not a distraction

  • Primary action stays singular and dominant (“Pay”)

  • Legal text is present but visually de-emphasized

  • No secondary CTAs competing with completion

5.4 Booking Confirmation

Proof, Not Celebration

What this section is about

Once booked, the system immediately shifts from action to assurance. The QR code becomes the primary artifact — a tangible proof of booking that users can rely on at the venue.

Key decisions

  • QR code placed front and center

  • Booking details summarized for offline reference

  • Language stays functional, not celebratory

  • Download option prioritized over sharing

  • Clear instruction on how the QR will be used

6. Game Cards:

Turning Bookings Into Shared Play

What this SCREEN is about

The Game Card acts as a lightweight invitation — not a full event page.
Its job is not to explain the game in depth, but to help users quickly answer, “Do I want to join this?”

By keeping the card compact and scannable, users can browse multiple games without friction and commit only when something feels right.

Key decisions

  • Host identity is shown first to establish trust

  • Turf name, distance, and time are grouped as secondary context

  • Sport type, price per head, and participation count are visually separated for quick scanning

  • “Join game” is the primary action, visually dominant

  • “More details” exists but does not compete with joining

  • Participation shown as 4/10 Going instead of abstract availability

7. Game Details

Context for Commitment

What this screen is about

The Game Details screen exists to help users commit with confidence.

While the game card answers “Should I look at this?”, this screen answers “Is this the right game for me?” It expands on the core details without introducing new complexity, keeping the experience familiar to users who’ve already seen the Turf Details screen.

Instead of reinventing patterns, the layout intentionally mirrors the turf detail structure — reinforcing consistency and reducing cognitive effort during decision-making.

Key decisions

  • Reused the Turf Details layout to maintain familiarity and reduce learning curve

  • Host identity and game context placed above the fold to establish trust

  • Sport type, court size, price, and participation shown as quick-scan metadata

  • Queries section included to replace external coordination (no WhatsApp dependency)

  • Host replies visually distinguished to maintain clarity and authority

  • “Join now” remains the single primary CTA

  • Secondary actions (Directions, Contact, Share, Save) kept lightweight and non-blocking

8. Creating a Game:

Lowering the friction to play together

What this SCREEN is about

Creating a game in TurfPro is a coordination flow, not a setup-heavy form. If a user knows where and when they want to play, the system helps them open that slot with minimal effort. By mirroring the booking mental model, users can define their game and set privacy—without learning a new interaction pattern.

Key decisions

  • Game creation follows the same structure as turf booking to reduce learning overhead

  • Assistive sport, time, and court selectors avoid unnecessary navigation

  • Availability toggle separates already booked vs not booked scenarios clearly

  • Discoverability (Public vs Invite Only) is surfaced early to set expectations

  • Host details are collected at the end to avoid breaking momentum

  • No advanced options or pricing complexity in the initial flow — defaults do the work

  • Designed to work whether the turf is booked inside or outside TurfPro

ProPoints: &

A lightweight loyalty system to reward repeat play

ProPoints is TurfPro’s built-in loyalty layer designed to reward users for doing what they already come to the app for—booking turfs, creating games, and playing regularly. Instead of discounts feeling random or hidden, rewards are made visible, progressive, and easy to understand.

Users earn points through clear actions (bookings, games, referrals) and can redeem them directly as credits toward future bookings. The system introduces a sense of progression (Amateur → higher levels) without turning the app into a game-first product. It stays supportive, not distracting.

The goal here wasn’t heavy gamification—it was retention through clarity, fairness, and small wins that actually feel useful.

A lightweight loyalty system that rewards bookings and games

Final Screens:

Account, history, and everything that follows play

These screens handle everything that comes after play—profile, bookings, games, rewards, and support. They’re designed as a quiet, predictable space where users can review activity, manage their profile, and track progress without friction. No noise, no clutter—just clarity and continuity when users aren’t actively booking or playing.

Profile and account surfaces that give users visibility into their activity, rewards, and settings

Designed for

Designed for

low-light moments

low-light moments

Designed for late-night bookings and low-light environments, Dark Mode maintains clarity and contrast while preserving TurfPro’s calm, sport-centric visual identity.

Inside the

Inside the

Working File

Working File

Design decisions in motion—layouts, iterations, and structure as they evolved.

Expected

Impact

While this project wasn’t shipped or tested at scale, it was designed with clear behavioral outcomes in mind—based on local usage patterns, competitive gaps, and real-world turf booking constraints.

1. Less friction in turf discovery and booking

By surfacing only what matters in the moment, users don’t have to jump between airline apps, Wallet, Maps, and notes to understand what to do next.

2. Action-first guidance, not passive updates

Assistive sport filters, time-slot pills, and court size selectors minimize cognitive load, allowing users to move from intent to confirmation in just a few steps.

3. Higher trust through transparency

Clear pricing breakdowns, visible offers, Google-sourced reviews, and booking confirmations (QR-based) help users feel confident about where, when, and what they’re paying for.

4. Stronger social play through game creation

By enabling users to create and join public games, TurfPro shifts from a pure booking utility to a social sports platform—making participation easier even without a full group.

5. Increased retention via lightweight rewards

ProPoints introduce a simple incentive loop—book, play, earn—encouraging repeat usage without turning the experience into a complex loyalty system.

6. Accessibility for local communities

By supporting smaller, local turfs often ignored by larger platforms, TurfPro creates visibility and structure for venues that previously operated offline.

Closing

Thoughts

TurfPro came from a very real place — watching friends struggle to book turfs through calls, WhatsApp messages, and half-reliable promises, & realizing how unnecessary that friction was.

Working on TurfPro also taught me the value of restraint. Instead of copying everything competitors were doing, I focused on what mattered for a local community — clarity, speed, and trust. The goal wasn’t to do more, but to do the essentials well.

Thanks for stopping by

Feel free to reach out anytime.

Thanks for stopping by

Feel free to reach out anytime.

Thanks for stopping by

Feel free to reach out anytime.

Create a free website with Framer, the website builder loved by startups, designers and agencies.