ROLE
UX Designer
DURATION
3 Months
PLATFORM
Desktop Application
CodeLINK
A coding platform aimed at helping users grasp programming concepts through competition & paired programming.

CodeLink:
Elevate Your
Coding Journey
play
create your own party
practice
options
leaderboards
log out
bestCoder123
bestCoder123
Choose your difficulty
Based on your selected difficulty level, we will select an appropriate problem for you and your partner to solve.
medium
Begin to Code

easy
Begin to Code

hard
Begin to Code

PREVIEW
Unlike most case studies, CodeLink was required to be designed without prototyping & iterating in Figma!
CodeLink is a novel social computing project I did while attending UCSD. It is a platform aimed to help users grasp programming concepts through competition, gamification & is based on an existing concept known as paired programming.
But how are you going to be able to prototype & iterate without Figma or any design tool?
We were required to receive feedback, prototype, & iterate on our existing design through live sessions, also known as Live-Prototyping. We weren’t allowed to prototype past lo-fi using Figma but were allowed to use other non-design applications to facilitate our live session.
GROUP MEMBERS
Ryen Huang
Jacky Huang
Jason Artley
John Hoang
PROBLEM
Programmers lack a platform that encourages collaboration, leaving them to struggle with coding concepts in isolation
Platforms like LeetCode focus on individual problem-solving, offering little opportunity for pair programming or peer collaboration. This absence of interactive and social engagement prevents novice programmers from effectively learning concepts, gaining support, and growing together.
SOLUTION

CodeLink:
Elevate Your
Coding Journey
play
create your own party
practice
options
leaderboards
log out
bestCoder123
A gamified approach to make the experience much more fun and engaging, rather than a chore.
bestCoder123
Choose your difficulty
Based on your selected difficulty level, we will select an appropriate problem for you and your partner to solve.
medium
Begin to Code

easy
Begin to Code

hard
Begin to Code

Users will be prompted of their coding expertise, ranging from basic to advanced similar to LeetCode.

bestCoder123
Competitive
Compete head-to-head to solve 3 coding challenges! Take turns as driver and navigator, using hints at a point cost. The fastest team to complete all 3 wins!
READY!
READY!
CodeMonster123
bestcoder123
READY!
READY!
Coder123
iLove2Code
Start
Utilizes the concept of paired programming to create an effective, but competitive learning environment.
Queues up players against another paired duo. There is also a chat window and microphone accessibility for efficient communication.
Hiro
Hiro
Problem 1:
Next Problem
easy
medium
hard
Code
Console
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
8:34
Driver
Select a Language
Hiro
Hiro
Problem 1:
Next Problem
easy
medium
hard
Code
Console
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
8:34
Navigator
Select a Language
Hiro
Pairs are randomly placed into roles: Driver & Navigator,
where the driver is required to type the answer and the navigator assists the driver. This is a crucial component of the concept of paired programming and has been proven to promote retention in coding.
COMPETITIVE ANALYSIS
The competition had no collaboration feature!
I’ve analyzed two existing applications: EliteCode & LeetRooms.

EliteCode gamifies an existing platform known as LeetCode, allowing users to compete against each other in 1v1. However, it offers zero collaboration features.

LeetRoom offers multiplayer & allows multiple players to code against each other. CodeLink allows for collaboration amongst users while being on the same team.





LOW-FIDELITY PROTOTYPES
CodeLink:
Elevate Your
Coding Journey
Join CodeLink and unlock a world of online paired collaboration. Engage in challenges, connect with peers, and enhance your skills in a vibrant community. Start your journey to coding excellence today.
sign in button
sign up
user name
Choose your difficulty
Based on your selected difficulty level, we will select an appropriate problem for you to solve.
easy
hard
medium
Problem 1:
Next Problem
tags
tags
tags
Code
Coding Language Dropdown
1
2
3
Console
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Hiro
Timer
Driver
Problem:
tags
tags
tags
Code
Coding Language Dropdown
1
2
3
Console
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Hiro
Timer
Navigator
LIVE PROTOTYPING ROUND #2

Based off feedback from round 1, we’ve reduced teams to pairs, reinforcing the concept of paired programming. This resulted in better teamwork & collaboration. A prize incentive was also introduced increasing the motivation and competition to win.
FEEDBACK & OBSERVATIONS
The feedback was positive with people really enjoying the team reduction and incentive change. We also noted that in these group sizes, people were able to communicate more efficiently and felt more like a team. Role swaps ensured participation and encouraged learning as a whole.
REFLECTION & TAKEAWAYS
Our live prototyping sessions revealed a strong interest in competitive and collaborative learning.
By focusing on pair-programming principles, we created an environment that catered to beginners and encouraged teamwork. Despite a small number of participants, the feedback from these two sessions was invaluable, helping us identify key iterations to improve the user experience.
LIVE PROTOTYPING ROUND #1
10 Participants were split into two groups of 5. We decided to use repl.it, a programming IDE. Each team was given two beginner-friendly problems to solve.
Too many people! The large group made it difficult to collaborate and solve problems. So we decided to make some changes for round 2.
FEEDBACK & OBSERVATIONS

Switching Roles
Team Reduction
Prize Incentive
“I think each person could have a different role whether it be doing one section of the problem or debugging…”
44.4% of the responses felt that “less teammates” would be better
“Just raise the motivation & competitiveness by including a prize incentive by winning!”
USER RESEARCH
Users struggle to apply programming concepts in practical ways and seek collaborative, real-time learning environments.
Our research revealed that while users are most familiar with languages like Java and Python, they find learning new concepts and staying motivated to be the biggest challenges. Resources like tutorials, collaboration tools, mentoring, and forums are highly valued, with a strong preference for live, real-time competition over asynchronous methods.
USER FLOW
From logging in to choosing a difficulty level, users can invite friends or play solo, select programming languages, and seamlessly begin coding as either the Driver (coding) or Navigator (guiding).
CodeLINK
A coding platform aimed at helping users grasp programming concepts through competition & paired programming.


CodeLink:
Elevate Your
Coding Journey
play
create your own party
practice
options
leaderboards
log out
bestCoder123
bestCoder123
Choose your difficulty
Based on your selected difficulty level, we will select an appropriate problem for you and your partner to solve.
medium
Begin to Code


easy
Begin to Code


hard
Begin to Code


ROLE
UX Designer
DURATION
3 Months
PLATFORM
Desktop Application
GROUP MEMBERS
Ryen Huang
Jacky Huang
Jason Artley
John Hoang
PREVIEW
Unlike most case studies, CodeLink was required to be designed without prototyping & iterating in Figma!
CodeLink is a novel social computing project I did while attending UCSD. It is a platform aimed to help users grasp programming concepts through competition, gamification & is based on an existing concept known as paired programming.
But how are you going to be able to prototype & iterate without Figma or any design tool?
We were required to receive feedback, prototype, & iterate on our existing design through live sessions, also known as Wizard-of-Oz prototyping. We weren’t allowed to prototype past lo-fi using Figma but were allowed to use other non-design applications to facilitate our live session.
PROBLEM
Programmers lack a platform that encourages collaboration, leaving them to struggle with coding concepts in isolation
Platforms like LeetCode focus on individual problem-solving, offering little opportunity for pair programming or peer collaboration. This absence of interactive and social engagement prevents novice programmers from effectively learning concepts, gaining support, and growing together.
SOLUTION


bestCoder123
play
create your own party
practice
options
leaderboards
log out
CodeLink:
Elevate Your
Coding Journey
A gamified approach to make the experience much more fun and engaging, rather than a chore.
bestCoder123
Choose your difficulty
Based on your selected difficulty level, we will select an appropriate problem for you and your partner to solve.
medium
Begin to Code


easy
Begin to Code


hard
Begin to Code


Users will be prompted of their coding expertise, ranging from basic to advanced similar to LeetCode.


bestCoder123
Competitive
Compete head-to-head to solve 3 coding challenges! Take turns as driver and navigator, using hints at a point cost. The fastest team to complete all 3 wins!
READY!
READY!
CodeMonster123
bestcoder123
READY!
READY!
Coder123
iLove2Code
Start
Utilizes the concept of paired programming to create an effective, but competitive learning environment.
Hiro
Hiro
Problem 1:
Next Problem
easy
medium
hard
Code
Console
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
8:34
Driver
Select a Language
Hiro
Hiro
Problem 1:
Next Problem
easy
medium
hard
Code
Console
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
8:34
Navigator
Select a Language
Hiro
Pairs are randomly placed into roles: Driver & Navigator,
where the driver is required to type the answer and the navigator assists the driver. This is a crucial component of the concept of paired programming and has been proven to promote retention in coding.
COMPETITIVE ANALYSIS
The competition had no collaboration feature!
I’ve analyzed two existing applications: EliteCode & LeetRooms.


EliteCode gamifies an existing platform known as LeetCode, allowing users to compete against each other in 1v1. However, it offers zero collaboration features.


LeetRoom offers multiplayer & allows multiple players to code against each other. CodeLink allows for collaboration amongst users while being on the same team.
USER RESEARCH
Users struggle to apply programming concepts in practical ways and seek collaborative, real-time learning environments.
Our research revealed that while users are most familiar with languages like Java and Python, they find learning new concepts and staying motivated to be the biggest challenges. Resources like tutorials, collaboration tools, mentoring, and forums are highly valued, with a strong preference for live, real-time competition over asynchronous methods.








USER FLOW


From logging in to choosing a difficulty level, users can invite friends or play solo, select programming languages, and seamlessly begin coding as either the Driver (coding) or Navigator (guiding).
LOW-FIDELITY PROTOTYPES
CodeLink:
Elevate Your
Coding Journey
Join CodeLink and unlock a world of online paired collaboration. Engage in challenges, connect with peers, and enhance your skills in a vibrant community. Start your journey to coding excellence today.
sign in button
sign up
user name
Choose your difficulty
Based on your selected difficulty level, we will select an appropriate problem for you to solve.
easy
hard
medium
Problem:
tags
tags
tags
Code
Coding Language Dropdown
1
2
3
Console
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Hiro
Timer
Navigator
Problem 1:
Next Problem
tags
tags
tags
Code
Coding Language Dropdown
1
2
3
Console
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Hiro
Timer
Driver
LIVE PROTOTYPING ROUND #1


10 Participants were split into two groups of 5. We decided to use repl.it, a programming IDE. Each team was given two beginner-friendly problems to solve.
FEEDBACK & OBSERVATIONS
Too many people! The large group made it difficult to collaborate and solve problems. So we decided to make some changes for round 2.
LIVE PROTOTYPING ROUND #2


Based off feedback from round 1, we’ve reduced teams to pairs, reinforcing the concept of paired programming. This resulted in better teamwork & collaboration. A prize incentive was also introduced increasing the motivation and competition to win.
FEEDBACK & OBSERVATIONS
The feedback was positive with people really enjoying the team reduction and incentive change. We also noted that in these group sizes, people were able to communicate more efficiently and felt more like a team. Role swaps ensured participation and encouraged learning as a whole.
REFLECTION & TAKEAWAYS
Our live prototyping sessions revealed a strong interest in competitive and collaborative learning.
By focusing on pair-programming principles, we created an environment that catered to beginners and encouraged teamwork. Despite a small number of participants, the feedback from these two sessions was invaluable, helping us identify key iterations to improve the user experience.
Switching Roles
“I think each person could have a different role whether it be doing one section of the problem or debugging…”
Team Reduction
44.4% of the responses felt that “less teammates” would be better
Prize Incentive
“Just raise the motivation & competitiveness by including a prize incentive by winning!”