Skip to content
Leonardo
Sports techReal-time layer communicationAdmin toolsMobile-adjacentDesign systemsReact

Case study

LaneTalk

Product UI for live scoring, stats, admin tools, and cross-platform bowling data.

I designed and built interfaces across LaneTalk's product ecosystem, focusing on live scoring, admin tools, ticketing, and mobile-adjacent workflows. The work combined product UI decisions with frontend implementation for real-time, data-heavy bowling experiences.

Role
Lead Frontend Developer & Product UI/UX
Period
Recent work, concentrated over the last 3 years
Ownership
Frontend ownership and product UI/UX across live scoring, admin tools, ticketing, mobile-adjacent workflows, cross-platform consistency, and production handoff.

35%

average load-time reduction

38%

faster product delivery

40%

faster legacy-app load times after Angular-to-React migration

88+

Lighthouse scores achieved consistently

LaneTalk stats interface across mobile screens
LaneTalk stats interface across mobile screensMobile stats surfaces showing score history, radar data, and bowler-facing performance views.
LaneTalk radar stats screen
LaneTalk radar stats screenA dense mobile stats screen organized around comparison, averages, and performance breakdowns.
LaneTalk bowler comparison screen
LaneTalk bowler comparison screenComparison UI for bowler performance, averages, and score patterns.
LaneTalk comparison workflowInteraction flow for comparing bowler stats and moving through dense performance data.
LaneTalk arsenal workflowProduct flow for adding bowling equipment inside the mobile experience.
LaneTalk tagging workflowA compact tagging interaction for organizing bowling data and equipment context.

Problem

Make dense bowling data readable in real time

Bowling data is complex and easy to make unreadable. A single surface can include frame-by-frame scores, players, lanes, centers, rankings, tournaments, league standings, historical stats, and performance breakdowns.

The design and frontend problem was to make this information feel immediate, readable, and consistent across public live-scoring pages, internal/admin tools, ticketing, and mobile-adjacent workflows.

Users / context

Bowlers, centers, followers, operators, and mobile users

LaneTalk serves casual bowlers, competitive players, league participants, bowling centers, tournament followers, admins, operators, and Android/iOS users interacting with app-adjacent flows.

Public product context includes connected bowling centers, live scoring, league standings, automatic game tracking, manual game entry, stats, and comparison workflows.

  • Bowlers track games, progress, stats, and live results.
  • Centers need reliable scoring and center-facing tools.
  • Followers need live standings, rankings, and tournament context.
  • Operators need clear workflows for data, events, ticketing, and product operations.

Constraints

Real-time data, domain logic, responsive density, and reliability

Score changes needed to appear quickly and remain understandable as games updated. Bowling-specific concepts such as frames, pin leaves, rankings, averages, and league logic required domain-specific UI decisions.

The interfaces had to stay coherent across web, admin, and mobile-adjacent surfaces while supporting dense layouts, operational reliability, and performance expectations on an active public product.

Design decisions

Prioritize live readability and separate public from admin needs

Current score, player, lane, and game state took priority over secondary metadata. Dense stats stayed available through progressive disclosure instead of competing for the first view.

Public views emphasized clarity and status. Admin views emphasized control, scanability, filters, tables, and error prevention.

  • Use reusable score rows, player cards, leaderboard tables, filters, empty states, and state indicators.
  • Design from dense desktop and table views down to compact mobile states.
  • Handle no games, offline centers, empty leaderboards, loading, partial data, and long player or team names.

Interaction / UI system

Reusable score, leaderboard, admin, and state patterns

The system can be shown through live scoring boards, player score rows, frame-by-frame displays, center selectors, leaderboard tables, tournament views, admin dashboards, ticketing flows, and empty states.

The design-system angle is the repeated structure behind the UI: shared typography and spacing for dense data, status colors and icons, table/card hybrid layouts, filters, and loading/empty/active/completed/error states.

Implementation collaboration

Frontend architecture for live product surfaces

I worked as designer and Lead Frontend Developer with a PM, backend developers, and mobile app developers.

My contribution included frontend architecture and implementation for public and internal LaneTalk interfaces, including a WebSocket-based live-results library, React/Next.js interfaces, responsive UI, performance work, component reuse, handoff improvements, and Angular-to-React migration support.

Outcome

Faster interfaces, clearer operations, and more consistent delivery

Confirmed outcomes include improved real-time data display and responsiveness for live scoring interfaces, 35% average load-time reduction, Lighthouse scores above 88, 38% faster product delivery, and 40% faster legacy-app loading after Angular-to-React migration.

Qualitatively, the product experience became easier to maintain across surfaces and admin workflows became clearer to operate.

Asset slots

Planned visual evidence

The page is structured for public or anonymized visuals that show the interface system without exposing private operational data.

  • Hero visual: public live scoring screen or polished mockup using non-sensitive data.
  • Dense UI proof: leaderboard, live score table, or score card layout.
  • Admin proof: blurred admin structure with filters, tables, or workflows.
  • Mobile-adjacent proof: app or app-store screenshots showing scoring and stats.
  • System proof: score rows, filters, empty states, icons, and status colors.

Stack

Tools and implementation context.

ReactNext.jsTypeScriptWebSocketsTailwind CSSSCSSStorybookFigmaAfter EffectsFirebasePerformance optimization