App Interface Design Principles in Action: Tim Corey’s Tournament Tracker UI
In this lesson, Tim Corey walks us through the user interface design phase of building a tournament tracker app. Tim explains that this is the moment where we start to visualize what the application will look like, even before any code is written. He emphasizes that UI design helps us “cement ideas” and understand how the app should function overall.
In this article, we’ll take a deeper look at the UI design process from Tim’s video so we can understand his thought process and the way he plans the interface before coding begins. By following Tim’s approach, we can learn how to create an app interface that is clear, intuitive, and aligned with the needs of users and developers.
Starting the UI Design
Tim begins by saying the user interface design step is a fun part of app development because it lets us see a rough version of what the app will look like. He points out that he uses a whiteboard or legal pad to sketch the forms, even though he admits he is not an artist. Tim insists that the drawings do not need to be perfect or proportional—they just need to show the basic idea of what the forms should include and how they should work.
Tim’s main point here is that the UI design phase is about planning, not beauty. He stresses that the goal is to identify which forms/pages are needed and what each should contain. This approach is crucial for clarity and helps developers and designers stay aligned during the design process.
Where to Start Designing
Tim addresses a common question: “Where do I start?” He explains that it doesn’t matter where you begin. If you’re unsure about one part of the app, start with the part you are sure of. Once you complete the clear parts, you’ll often have a better idea of the uncertain sections.
He also notes that building momentum helps—after designing a few forms, you’ll feel confident and ready to continue. With this mindset, Tim chooses to start with the Tournament Viewer Form.
This method supports good user flows, because it encourages designers and developers to focus on how users will navigate from one screen to another.
Why Not Design in Visual Studio First?
Tim explains that you should not start designing in the Windows Form Builder inside Visual Studio. He warns that doing so causes two main problems:
You waste time tweaking layout and controls instead of planning the design.
- You shortcut the design process, meaning you may miss better options or leave hidden problems because you don’t want to redo your work.
Tim says designing on paper allows you to erase, try new ideas, and even test “silly” concepts that might become great solutions. This is a crucial principle in UI design because it keeps the focus on what the app should do, rather than how it looks in the first draft.
Tournament Viewer Form
Tim reveals his first rough UI: the Tournament Viewer Form. He explains that this form will display all the information about a specific tournament.
Tournament Name
Tim places the tournament name at the top, showing what tournament the user is viewing (e.g., “Women’s Basketball Tournament”). This is a simple example of a clear visual hierarchy, where the most important information is placed at the top.
Round Drop-Down and Matchups
Tim discusses how a tournament bracket would be difficult to show on a screen, especially if it’s large. Instead, he proposes a drop-down menu for rounds and a list box for matchups. The list box will show only the games for the selected round.
Tim also adds an important feature: unplayed games only. He explains that in a tournament with many games, users don’t want to scroll through completed matchups to find the remaining ones. So he adds a checkbox to show only unplayed games, which would make the list shorter as games are completed. This is a great example of designing for ease and efficiency, which is crucial for user satisfaction.
Auto-Selecting the Current Round
Tim also suggests that the round drop-down should automatically default to the current round. He admits he doesn’t yet know how he’ll implement it, but he notes it as a strong design idea. This feature would improve user experience (UX) by reducing the time needed to access relevant information.
Scoring Section
On the right side of the form, Tim designs a section where users can input scores for a matchup. He explains that the form will show the two competing teams and their scores. If the game hasn’t been played, the score boxes will be empty. After entering scores, the user will click a “Score” button to complete the matchup.
Tim notes that the score button might need a better label or layout to make it clear how it works. This is an example of how design elements should communicate purpose clearly to users.
Create Tournament Form
Tim then moves to the Create Tournament Form, which he says is likely needed after the tournament viewer.
Tournament Name and Entry Fee
The form starts with basic fields: tournament name and entry fee. Tim explains that the entry fee is the cost each team pays to participate.
Adding Teams
Next, Tim designs a team drop-down and an Add Team button. This allows users to select existing teams and add them to the tournament.
He also includes a Create New Team link, for when the team does not yet exist. Tim explains that he wants the “Create New Team” action to be visually different so users clearly understand they are creating a team, not just adding one. This is an important design practice to ensure users can navigate easily and avoid confusion.
Prizes
Tim points out that tournaments also need prizes, so he adds a Create Prize button. He explains that prizes are unique per tournament, so they will be created anew each time rather than reused.
Delete Selected Buttons
Next to each list box (teams and prizes), Tim adds a Delete Selected button. He explains that users need a way to remove teams or prizes without restarting the form. This supports better user flow and makes the app easier to use.
Missing Rounds
Tim notices one missing element: rounds. He explains that rounds are generated in code based on the number of teams, so the user does not need to input them. Therefore, rounds are not included in the form.
Create Team Form
Tim then designs the Create Team Form, which includes:
Team Name
Select Team Members
- Add New Member
Tim highlights the importance of consistency between forms. He says the team name layout should match the tournament name layout to create a cohesive design.
He also explains that this form allows users to add existing team members from a list, or create new members directly in the form. Tim says he prefers keeping the member creation within the same form to avoid deep navigation layers (i.e., opening multiple forms).
He explains that adding multiple layers would be confusing and slow. Therefore, he chooses to keep the design compact and user-friendly. This supports a simple and intuitive app interface that reduces the time users need to complete tasks.
Create Prize Form
Tim’s Create Prize Form is simple. It includes:
Place Number
Place Name
Prize Amount
- Prize Percentage
Tim notes that only one of the last two fields should be used at a time (either amount or percentage). He says the form will need validation logic later, but for design purposes, the layout is straightforward. This is a good example of how design principles help create a polished, functional interface.
Tournament Dashboard Form
Finally, Tim discusses the Tournament Dashboard Form, which he admits he is not completely happy with. He explains the challenge: Windows Forms applications typically have one main form that stays open. If the main form closes, the application ends.
This creates a problem for a tournament tracker because users may want multiple tournaments open at once. Tim initially considered automatically opening the create tournament form if no tournaments exist. But he realized that closing the create tournament form would end the application.
So Tim designs a central dashboard form that stays open at all times. This dashboard allows users to:
See existing tournaments
Load a tournament
- Create a new tournament
Tim explains that the dashboard will stay open even if other forms are closed. It acts as the central navigation point of the app. While he admits it may look “stupid simple,” he says it works, and he may later add design elements or animations to make it more visually appealing.
Conclusion
Tim wraps up the video by emphasizing that the goal is simply to identify the forms needed and decide what each form should display. He says once the UI is designed, the next step is logic planning, where he will plan how the UI elements connect to the data model and the back end.
Tim’s UI design process shows that designing an app interface is about planning, consistency, and clarity—not about creating perfect visuals early on. This approach helps developers and designers stay aligned and ensures the final application is easy for users to navigate and use.

