200+ positive starstarstarstarstar ratings from our clients

Senior sportsbook development power, without the senior price tag

Industry:

Sportsbook & iGaming Platforms

Timeline:

5-6 months

Impact:

200k+ dev cost savings since 2023

Tablet and mobile screens of Neon Slate sportsbook front end, navigation, promotions, and clean betslip UX

You’re here because you want a Sportsbook UI design that stays calm when the odds do their little disco and a front end that doesn’t wobble. Neon Slate is our compact, high-contrast theme and production sportsbook front end built for live moments, quick thumbs, and fewer “where did my selection go” panics. We designed it in Figma, coded it in HTML, SCSS, and Vue, and shipped it for desktop and mobile with 60 fps live updates and layouts that don’t jitter.

Dates that matter:

Started 5 April 2025, finished 29 September 2025, one hundred percent done. Multi-region, regulated markets, NDA in place.

What we owned:

UX, UI, and the entire front-end layer, hand-in-hand with the client’s backend team. No page builders here, just code that behaves.

Context and challenge

Since early 2023 we have been the external product team for this Sportsbook client for many other projects. The work started with backend development to stabilise the platform, then shifted to a dedicated frontend team that ships new features every week. Together we worked on multiple sportsbook UI templates, a browser based 3D roulette game, live in game 3D animations and an esports section. The challenge was clear, ship fast, keep quality high and avoid a bloated, expensive in house team.

Desktop listings with compact odds pills and league groups, Neon Slate sportsbook UI design.
Mobile in play tennis view and market list, Neon Slate sportsbook front end with clear filters and states.

Project at a glance

  • Scope
    Theme tokens, component library, odds and markets patterns, in-play betting UX, betslip UX, onboarding and authentication, wallet and banking, settings and preferences, performance, accessibility, localization, documentation.
  • Stack
    Vue components, HTML5 structure, SCSS theming, GSAP micro-motion, Lottie where it helps, windowed virtualization for long lists, ARIA live regions for state changes.
  • Cadence
    Two-week sprints, Notion for planning, Slack for the chatter, CI gates for health checks, code reviews as a habit.
  • Outcomes
    Faster time to first bet on mobile, lower LCP on live pages, CLS under 0.07 on listings, 60 fps during live updates, fewer support tickets about lost selections.
Mobile betslip UX with singles, multiples, system tabs, clear cash out and place bet actions, Neon Slate sportsbook UI design and sportsbook front end.
Bet placed confirmation next to live tennis markets, compact filters and market list, Neon Slate sportsbook front end with readable betslip UX.

The challenge

Sportsbooks are busy kitchens at rush hour. Data keeps arriving, prices move, markets suspend, and people decide in seconds. The older interface had three classic problems:

  1. Density without clarity
    Rows were crammed, market names wrapped like spaghetti, and quick scanning was hard. During live play, that’s a tax on every decision.
  2. Price-move drama
    Numbers changed, the layout twitched, and color cues whispered instead of speaking up. Imagine the floor nudging your feet while you pour a drink.
  3. No theme system
    Every seasonal skin meant last-minute overrides. Paint on paint, no primer. Fragile and slow.


Neon Slate had to deliver compact, readable sportsbook UI design, honest price-change and suspend cues, and a tokenized theme system so brand vibes could change without touching business logic.

Our approach

We treat the front end like the waiter and the backend like the kitchen. The waiter should glide, not trip. Neon Slate is a new waiter with better shoes.

  • Jobs to be done
    Discover a match, pick a market, add to slip, set stake, place bet, consider cash-out. We mapped these journeys like a subway plan and trimmed detours.
  • Theme tokens
    Color, spacing, radii, elevation, motion. One token map controls the vibe. Swap palette, keep structure. New skins stop being mini-projects.
  • Performance discipline
    Windowed virtualization for long lists, batched DOM writes so the browser breathes, debounced price animations at roughly 150–220 ms, skeleton loading so nothing jumps.
  • Mobile ergonomics
    Sticky bet builder, 44+ px hit targets, key actions in thumb reach, reduced-motion mode for calm users.
  • Incremental delivery
    Listings first, then betslip UX, then in-play betting UX, then accessibility and localization, then polish. Steady slices beat big bangs.
Wallet and promotions screens showing deposit, withdrawal, active bonuses and offer details, Neon Slate sportsbook UI design integrated in the sportsbook front end.

Design in Figma, from tokens to taps

Figma is our bakery, tokens are the flour, components are the cookies, and QA is the picky customer who sends the cookie back if the chocolate chips aren’t symmetrical.

  • Libraries and tokens
    Color scales, typography ramps, semantic roles like price-up, price-down, success, danger. Tokens export to JSON and SCSS so design and code sing from the same sheet.
  • Components and states
    Odds pills with default, hover, selected, suspended, price-up, price-down. Event cards with clocks and indicators. League groupers that collapse. Filter chips, quick coupons, and crisp header utilities for search and locale.
  • Interaction specs
    Motion timings, focus order, keyboard paths on desktop, thumb paths on mobile, empty states, error states, loading states. If you can see it, we specified it.
  • Accessibility
    At least 4.5:1 contrast on actionable text, visible focus, screen-reader announcements for price changes and suspensions, big targets for big thumbs.
  • Handoff
    Redlines where helpful, property tables, clickable prototypes with demo data, and a tidy component inventory. Less “what did you mean here,” more “copy, paste, commit.”

Our role and financial impact

Across all phases and all projects we delivered more than 6,800 hours of development, roughly 274k euros in total at about 40 euros per hour. If the client had hired local senior developers at 70 to 100 euros per hour, the same work would have cost around 200k to 400k euros more over this period. In practice that means roughly 6k to 12k euros saved per month, while still working with a stable senior team that knows the platform inside out.

Odds pill states, selected, suspended, price change indicators, Neon Slate.
Odds pill states, selected, suspended, price change indicators, Neon Slate.
Odds pill states, selected, suspended, price change indicators, Neon Slate.

Front-end development, the part you feel

Frameworks are like cake mix—follow the recipe, get a good sponge, don’t eat the batter. We used Vue because reactive components suit odds that never sit still.

  • HTML and ARIA
    Semantic lists and tables, ARIA live regions that announce price changes and suspensions. The reader and the screen reader see the same story.
  • SCSS architecture
    BEM-ish naming, tiny utilities, tokens compiled to CSS. You switch theme vibes without touching component logic.
  • State handling
    Price moves animate with transforms so the GPU helps. Suspended markets go visibly inert. The slip uses optimistic updates, so edits feel instant.
  • Virtualization
    Only visible rows render. Everything else naps politely until scrolled into view. Hello 60 fps on typical mid-range phones.
  • Quality gates
    Unit tests for UI logic, Web Vitals thresholds in CI, visual snapshots for components, manual passes for motion and reach. QA is the picky customer you absolutely need.
Mobile view of sign in and sign up screens
Desktop view of sign in and sign up screens
Clean authentication flow with clear errors and success messages.
Clean authentication flow with clear errors and success messages.

Onboarding and authentication, quick and kind

Our designs include full sign-in, sign-up, and success states. We trimmed friction, kept labels clear, and made errors human.

  • Simple forms with honest microcopy
  • Optional 2FA patterns prepared
  • Success confirmations that push you forward
  • Clear routes to forgot password and help


Signing in should feel like opening your door, not solving a riddle.

Wallet and banking, tidy and trustworthy

You gave us a sea of My account, bank screens, deposits, withdrawals, bank details, verification, limits, and history. We packaged them like a proper banking app.

  • Deposit and withdrawal
    Reassuring copy, clear statuses, predictable errors. Big buttons that mean what they say.
  • Bank details and verification
    Masked fields, inline guidance, pleasant steppers so you always know where you are.
  • Limits and responsible controls
    Daily, weekly, monthly, described in plain language. If a choice has consequences, we state them.
  • History and receipts
    Timestamps, amounts, statuses. No treasure hunt.
Wallet and banking flows with deposits, withdrawals, and verification steps, Neon Slate.
Wallet and banking flows with deposits, withdrawals, and verification steps, Neon Slate.
Wallet and banking flows with deposits, withdrawals, and verification steps, Neon Slate.

Settings and preferences, power without clutter

Your packs show deep settings across desktop and mobile. We grouped options so power users can fine-tune without getting lost.

  • Sport and league preferences
  • Notifications and live alerts
  • Language and odds format
  • Personal data, privacy, security
  • Responsible gambling tools


Think toolbox, not attic. Everything labeled, nothing buried.

Settings and preferences for language, odds format, notifications, and RG controls.
Settings and preferences for language, odds format, notifications, and RG controls.

In-play betting UX, calm in the chaos

This is where in-play betting UX earns its keep. Neon Slate uses compact density and friendly cues so your eyes do less work.

  • Quick filters for sport and league, favorites and pins
  • Group headers that collapse to cut scroll while keeping context
  • Price moves that blink politely, then settle
  • Keyboard shortcuts on desktop, muscle-memory thumb paths on mobile


You get signal, not noise. You move fast without guessing.

In-play center with price-change indicators and collapsible league groups.
In-play center with price-change indicators and collapsible league groups.
In-play center with price-change indicators and collapsible league groups.

Odds and markets, compact and readable

Market names can be essays. We clamp at two lines with tap-to-expand so rows stay tidy. Odds pills are chunky enough to hit, small enough to pack. Price up and price down get clear color and icons. Suspended markets grey out and ignore clicks. The layout doesn’t wobble when data changes.

Promotions, helpful not hijacking

Desktop uses a right rail for promos, mobile tucks them below the main flow. Frequency caps avoid repetition. Promos never block odds or steal focus. Useful extras, not pop-up clowns.

sports and casino sections with the same Neon Slate design language.

Esports and casino, same polish, same rules

Your sets include esports and casino tabs. Navigation stays consistent, attention stays on the current task, and the same token system keeps everything related without cloning layouts.

Performance and stability
  • 60 fps during live odds updates on typical devices
  • CLS under 0.07 on live listings, so layouts stay put
  • Lower LCP thanks to skeletons and virtualization
  • Faster time to first bet on mobile because navigation is clear and the slip is one thumb away


We can show more detailed graphs privately to respect the NDA.

Accessibility and localization
  • Decimal, fractional, moneyline, switch in one tap
  • Currencies and locales, token-aware spacing and type
  • Responsible gambling banners sit in consistent slots
  • Reduced-motion option for peace and quiet
  • Logical focus order and ARIA labels, so keyboard and screen-reader users feel welcome

Results and impact
  • Faster first bet on mobile
  • Lower support load about lost selections
  • Lower LCP on live pages, CLS under 0.07
  • 60 fps live updates on mid-range phones and everyday laptops

What we delivered
  • Figma libraries, token JSON and SCSS, interaction specs, component property tables, prototypes
  • Production Vue components with HTML and SCSS, unit tests, a Storybook-style catalogue, API notes and fallbacks
  • Rollout plan and training for the client’s front-end team

Why this helps your team

  • Design speed
    Tokens and components mean new skins ship quickly. Swap palette, keep structure.
  • Code safety
    Tests and snapshots catch surprises before users do.
  • Lower support
    Clear states cut “did the app eat my selection” moments.
  • Happier bettors
    Clean sportsbook UI design, calm in-play betting UX, sensible betslip UX, and a front end that just… behaves.

Collaboration and setup

The client works with one Studio Ubique team, Dutch communication and project management, development in India. They have two to three dedicated developers on the project at any time, with the option to scale up when a release requires more capacity. No recruitment, no HR overhead, no gap when someone is sick, just a long term team that keeps the sportsbook, 3D games and new features moving forward.

Designer reviewing sportsbook UI design sketches with coffee, concept notes open by the window.
Project lead relaxing after sportsbook front end release, bright studio with plants.

FAQs

Can you show the real brand

No. This is an NDA case. We show sanitized screens with fake data and Neon Slate tokens. The real brand stays private.

Do you use page builders

No. We do custom WordPress or Shopify or WooCommerce for sites, and for apps like this we build components by hand.

How do you keep 60 fps on live pages

Virtualized lists so only visible rows render, batched DOM writes to avoid hiccups, and transform-based animations so the GPU lends a hand.

What if our stack isn’t Vue

The patterns carry over. We used Vue here because odds are reactive, but the same tokenized design works in React, Svelte, or a custom setup.

How long does a pilot take

Two to four weeks is typical for a focused slice like listings and slip, assuming your APIs are ready.

Can you work with our backend team

Yes. We pair daily, keep notes tidy, and sync on data contracts so the waiter and the kitchen speak the same language.

How do you test this

Automated tests for logic, Web Vitals in CI, visual snapshots for components, and manual passes for motion and accessibility.

Can we help you?

Book a quick 30-min video call, we’ll show you exactly what to fix. Want to avoid surprises in your next release, let’s talk, no pressure. We’ll tell you what’s holding your site back, in plain language.

Two colleagues discussing a project at a desk with laptops
Two coworkers chatting over laptops in an open office, one wearing a turban
Two coworkers reviewing work together on a desktop monitor Team meeting around a table with snacks in a modern office
Colleagues planning on a glass wall with sticky notes Two teammates working side by side with a laptop and tablet
Two colleagues reviewing a laptop together at a desk
Two colleagues collaborating at a laptop in a bright workspace

Let’s make your next
project a success story.

Request a quotation

Tell us what’s stuck, what you want to build, or what needs fixing. We reply within 24 hours.

    Note: We’re not for sale, only for hire. Acquisition hunters, this button isn’t for you.

    Book a Call