Inside Pro Lab

We Started With a Tennis Question.

How David and Ethan turned a father-and-son conversation about professional tennis into a data-powered Battle Lab—and used AI to help build it.

The Idea

Pro Lab didn't begin in a classroom, a coding session, or a formal product meeting. It started during a road trip, with a casual tennis conversation between David and Ethan.

They were talking about famous professional players, their different styles, and an interesting question: why can one player repeatedly trouble another—even when the rankings suggest that the other player should have the advantage?

Instead of letting the conversation disappear when the drive ended, they used a Zoom AI transcript to capture and transcribe their discussion. The conversation itself became raw material for the initial product requirements: what the Battle Card should show, which questions it should help answer, and what would make the experience fun for a tennis player or fan.

What makes one great player able to beat another—even when the rankings or overall statistics suggest otherwise?

David and Ethan imagined a Battle Card where you could choose two professional players, put them side by side, and explore their strengths and weaknesses.

A player may have a better overall record but still struggle against a particular opponent. Another player may be especially dangerous on clay, grass, or hard courts. Rankings tell part of the story. Matchups can tell another.

The goal isn't to declare that one player is simply better. Pro Lab encourages players and families to ask: How could each player win this match?

🚗 Road-trip conversation 🎙️ AI transcript 💡 Product idea 📋 Requirements 💻 Vibe Coding ⚔️ Pro Lab
Architecture

From Tennis Data to a Battle Card

Pro Lab separates raw tennis information, analytics and the interactive website so each part can evolve independently.

🎾 Father + Son Idea David + Ethan: Why does Player A beat Player B?
Player Data Country · Age · Height · Hand
Match Data Results · Serve · Break Points
Ranking Data ATP Rank · Points · Opponent Strength
🐍 Python Analytics Pipeline pandas · validation · aggregation · JSON generation
Overall Profile Wins · Win Rate · Serve Metrics
Surface Analysis Hard · Clay · Grass
Opponent Strength Top 5 · Top 10 · Top 20 · Others
⚔️ Matchup Engine Head-to-head records + matchup-specific performance
PRO BATTLE CARD Compare players and ask: How could each player win?

The webpage is the final layer—not the beginning. Raw tennis records are processed by Python into structured player profiles and matchup data. The browser then uses those prepared files to create a fast, interactive comparison experience.

How the System Works

01 · DATA

Source Data

Pro Lab uses professional tennis match and ranking datasets, combined with player identity information. Wikimedia Commons and Wikidata provide appropriately sourced player imagery where available.

02 · ANALYTICS

Python + pandas

Python transforms match records into player profiles, surface statistics, serve performance, opponent-strength analysis and head-to-head records.

03 · MATCHUP

Battle Engine

Overall statistics answer how a player generally performs. Head-to-head statistics answer a different question: what happens when these particular players meet?

04 · EXPERIENCE

Interactive Web App

HTML, CSS and JavaScript turn the analytical output into player cards, photos, rankings, surface controls and interactive comparisons.

Data freshness

Keeping Pro Lab Current

Tennis changes every week. Rankings move, new matches are played and player statistics evolve.

Pro Lab therefore separates its source data from its analytical logic. When newer ranking and match records become available, the source dataset can be refreshed and the same analytics pipeline can regenerate the player profiles and matchup files.

New matches + rankings Update dataset Python analytics Validation New player profiles Publish

This design also makes future automation possible. A scheduled data-refresh process could update the underlying records, regenerate the analytics, run validation checks and publish new results without redesigning the Battle Lab itself.

Learning with AI

What Skills Does It Take?

AI tools such as ChatGPT and Codex can help write code, explain errors and suggest architecture. But building a useful product still requires understanding the problem, checking the data and deciding whether the results make sense.

Grades 5–8 · Guided

Young Learner

  • Percentages and averages
  • Reading tables and charts
  • Basic tennis knowledge
  • Logical thinking
  • Introductory coding concepts
  • Testing whether results make sense

With adult and AI guidance, a motivated middle-school student can meaningfully participate in defining questions, analyzing results, testing the product and learning how the code works.

High School / Early College

Independent Builder

  • Python and pandas
  • CSV and JSON
  • HTML and CSS
  • JavaScript
  • Git and GitHub
  • Basic statistics and debugging

A student with introductory programming experience can build much more of a project like Pro Lab independently with AI assistance.

Professional

Production System

  • Data pipelines
  • Frontend engineering
  • APIs and automation
  • Testing and deployment
  • Data quality
  • Licensing and source reliability

Maintaining a reliable production system requires deeper engineering judgment even when AI writes substantial portions of the implementation.

Built With AI—But Not by Pressing One Button

During development, the important questions were often not questions about syntax.

What exactly should a statistic mean? How should opponent strength be measured? How is head-to-head performance different from overall performance? What happens when data is missing? How should player photographs be sourced? How do we verify that a calculation is correct?

ChatGPT and Codex can help turn those decisions into working software. They can propose architecture, generate Python and JavaScript, explain unfamiliar code, troubleshoot errors, refactor an implementation and help iterate on the user experience.

That changes where much of the effort goes. Building an application with AI assistance does not necessarily require the same amount of manual solution design and line-by-line coding that software development once demanded. The builder can spend more time on something equally important: the idea, the problem being solved, and the experience being created for the user.

The valuable question is increasingly not just “Can I code this?” but “What would be useful, interesting or fun enough that someone would want to use it?”

Pro Lab is a small example. The technology matters, but the feature began with curiosity: wouldn't it be fun to put two famous players into a Battle Card, understand their strengths and weaknesses, and discover why a lower-ranked player might still have a path to victory?

AI helped reduce the distance between that conversation and a working product. Human curiosity, product judgment and testing determined what was worth building.

IDEA → CONVERSATION → REQUIREMENTS → DATA → BUILD → TEST → EXPERIENCE

For Ethan, that means the goal isn't to memorize every line of Python or JavaScript. A more meaningful goal is being able to explain the problem, where the data comes from, what the statistics mean, how information moves through the system and how we know whether the result is reasonable.

Every Match Is a Problem to Solve.

Rankings tell us who has performed better overall. They don't guarantee what will happen when two particular players meet.

Pro Lab was created by a father and son to explore that uncertainty—and along the way became an experiment in how families can use AI, real-world data and curiosity to learn technology together.

We didn't start by asking what programming language we should learn. We started with a tennis question. Then we built something to answer it.

⚔️ Try Pro Lab