🎾 Rally School ← Back to Rally School

Our Story

How We Built Rally School with AI

A father-and-son experiment in tennis, technology, and learning in the Generative AI era

It started with time on the court, questions at home, and the belief that learning is better when we do it together.

It Started with Tennis

Rally School did not begin as a software project. It began with tennis and a simple question:

“How can we make learning tennis easier for junior players and their parents?”

As Ethan developed as a junior tennis player, David and Ethan spent considerable time learning about tennis together: technique, practice, equipment, junior development, competition, the mental game, movement, and the many questions junior players and their parents encounter.

Ethan is a dedicated junior tennis player who also enjoys helping younger children learn the game. He has helped introduce younger children—including first-time players around ages 6–7—to simple activities and drills that help them learn the sport and build confidence.

That experience inspired another question:

“What if we could organize some of what we are learning into a simple online resource that could help other junior players and families?”

That idea became Rally School — Junior Tennis Fundamentals.

How the Project Developed

Each stage raised a better question—and gave us something new to learn.

  1. 🎾
    01

    Tennis Experience

    David learns alongside Ethan as Ethan develops as a junior player.

  2. 💡
    02

    An Idea

    Can we organize what we are learning into something useful for other junior players and parents?

  3. 💬
    03

    Brainstorm with Generative AI

    Use conversations with ChatGPT to define users, problems, learning pathways, and website structure.

  4. 🧭
    04

    Design the Learning Experience

    Decide what a beginner, developing junior player, tournament player, and parent should be able to find.

  5. ⌨️
    05

    Build with Codex

    Translate the product requirements into HTML, CSS, JavaScript, and a working website.

  6. 🔎
    06

    Test & Review

    Look at the site as a parent, junior player, and beginner. Is it clear? Is it useful? Is something confusing?

  7. 🛠️
    07

    Improve

    Refine navigation, beginner guidance, player levels, technique content, and practice materials.

  8. 🌱
    08

    Beginner Training

    Create Ethan's Easy First Tennis Lesson, red-ball drills, practice plans, Ethan's Tips, and carefully selected video examples.

  9. 🚀
    09

    Publish & Keep Learning

    Deploy Rally School online and continue improving it as we learn more about tennis and technology.

We Didn't Start with Code

One of our biggest lessons was that an AI-assisted project does not need to begin with programming. We started with questions.

Who are we trying to help?
What problems do junior tennis parents encounter?
What does a first-time child actually need?
How should learning progress?
What information is genuinely useful?
What creates unnecessary complexity?
What should someone do next?
Real ExperienceQuestionsIdeasRequirementsAI-Assisted ImplementationTestingImprovement

The requirements came before the code.

Human Ideas + AI Implementation

David + EthanPeople
Experience / Ideas / Feedback
ChatGPTBrainstorm / Organize / Product Requirements
CodexBuild / Modify Code
Rally School
David + Ethan ReviewFeedback → Improve → Repeat

“AI helped us build the website. It didn't decide why the website should exist.”

We still needed to define the problem.

Understand the users.

Decide what was important.

Provide clear requirements.

Review AI-generated work.

Test whether the site worked.

Identify errors or weak ideas.

Decide what to improve next.

Building Incrementally

Rally School grew in phases. Each version gave us a foundation for the next question.

Phase 1

Build the Foundation

We developed Rally School branding, Junior Tennis Fundamentals, “New to Tennis? Start Here,” “Explore Player Levels,” About Rally School, and the creator credit.

  • Clearer entry points
  • Useful paths for different players
  • A welcoming place for families
Goal Create a clearer entry point for different types of junior players and families.
Phase 2

Think Like a Beginner

We asked what someone playing tennis for the first time actually needed.

  • Equipment, junior racquets, and low-compression balls
  • Court layout, scoring, first strokes, and movement
  • Simple 20–30 minute practice and parent guidance
  • A clearer distinction between beginner development and tournament competition
Goal Reduce confusion and make tennis more approachable.

How Generative AI Changed Development

The starting point can now move closer to the idea—but technical understanding still matters.

Traditional Entry Path

  1. Learn HTML
  2. Learn CSS
  3. Learn JavaScript
  4. Learn Git
  5. Learn hosting
  6. Build something

Generative AI Era

  1. What problem should we solve?
  2. Who are we solving it for?
  3. What should the experience look like?
  4. Describe it clearly
  5. AI helps implement it
  6. Test it
  7. Understand what is wrong
  8. Improve it
Technical skills still matter.

They help people communicate requirements, recognize errors, understand limitations, evaluate AI output, and build safer, better solutions. Generative AI can dramatically lower the barrier between an idea and a working prototype; it does not remove the need to understand and evaluate what gets built.

Learning How to Learn

Traditionally, someone interested in technology might ask, “How do I code this?” That question remains useful. But more questions are becoming increasingly important.

What should I build?
Why should it exist?
Who does it help?
How do I explain the problem clearly?
How do I know whether AI's answer is correct?
What assumptions is AI making?
How can I improve the result?

These questions build curiosity, communication, critical thinking, judgment, creativity, experimentation, domain knowledge, and persistence.

Junior Player → Contributor → Builder

Ethan was not simply the subject of the site. His experiences as a developing junior player helped shape the resource.

What junior players need
What beginners may find difficult
Which concepts need simple explanations
What practice activities feel engaging
How a junior can communicate tennis to younger children

His experience helping younger beginners also contributed to the Beginner Tennis Training section. Working on Rally School became a learning experience involving tennis, teaching, communication, product thinking, technology, and Generative AI.

Two Kinds of Learning

🎾

Tennis

  1. Learn fundamentals
  2. Practice
  3. Make mistakes
  4. Understand mistakes
  5. Adjust
  6. Practice again
  7. Improve
💻

Generative AI / Building

  1. Have an idea
  2. Describe the problem
  3. Build
  4. Test
  5. Find problems
  6. Debug / refine
  7. Improve

Same Mindset

CuriosityPersistenceExperimentationLearning from mistakesContinuous improvement

AI Did Not Always Get It Right

Using AI did not mean every answer or code change was correct. We still had to investigate what was really happening.

ProblemObserveCheck the Actual EvidenceUnderstand the CauseMake a Small ChangeTest Again

Local and hosted sites showed different versions.

Two similar GitHub repositories had to be distinguished.

We determined which repository powered rallyschoolonline.com.

Browser caching sometimes required a hard refresh.

GitHub Pages had to deploy the correct version.

YouTube IDs needed verification—not blind trust.

Embeds behaved differently locally and in production.

Checklist storage keys and JavaScript hooks needed protection.

AI suggestions still had to improve the real user experience.

Learning to debug AI-generated work was itself an important skill.

What Rally School Is Today

A growing collection of practical paths for junior players and their families.

🌱

Start Here

Orientation for players and families new to tennis.

🏆

Player Levels

Development guidance for players progressing in junior tennis.

🎾

Techniques

Fundamental tennis skills and educational content.

👟

Footwork

Movement and court-positioning concepts.

🧠

Mental Game

Resources for the mental side of tennis.

Checklists

Development checklists players can use to reflect on progress.

🔴

Beginner Training

Red-ball drills and Ethan's Easy First Tennis Lesson.

▶️

Video Examples

Selected YouTube demonstrations supporting drills.

👨‍👩‍👧

For Parents

Guidance for families navigating junior tennis.

📈

Track Progress

Connection to the existing progress-tracking experience.

ChatGPT vs Codex

💬

ChatGPT Helped With

  • Brainstorming
  • Understanding user needs
  • Structuring the website
  • Product thinking
  • Tennis-content organization
  • Reviewing wording
  • Development planning
  • Debugging strategy
  • Deciding what to build next
⌨️

Codex Helped With

  • Modifying HTML
  • CSS implementation
  • JavaScript changes where needed
  • Preserving existing functionality
  • Adding sections and responsive layouts
  • YouTube embedding
  • Repository work
  • Git/GitHub workflow
  • Deployment-related changes

AI did a large amount of the implementation work, but we still had to decide what to build, test whether it worked, identify problems, and decide what should happen next.

Still Learning

Rally School is not intended to replace tennis coaches, clubs, parents, or the experience of learning on the court.

It is a small project created by a father and son who enjoy tennis, technology, and learning together. Generative AI helped us turn ideas into something real much faster than would have been possible for us before.

But perhaps the most important lesson was not how much AI could do for us. It was realizing how much we still needed to learn ourselves.

For Ethan and other young people growing up in the Generative AI era, knowing today's technology will not be enough, because technology will continue changing. What may matter even more is curiosity to explore something new, the ability to ask good questions, judgment to evaluate answers, willingness to learn from mistakes, persistence to keep improving, and the ability to use powerful tools responsibly.

You do not become a better tennis player from one perfect swing.

You practice. You make mistakes. You understand them. You adjust. You try again.

Learning with AI can work the same way.

Keep playing. Keep building. Keep learning.

Built by David & Ethan for the junior tennis community.