UI/UX Passion Project | Summer 2018



Students starting out in their tech career with little experience have a difficult time discovering tech companies to apply to. Since knowing what companies and positions are out there is the first step on the application process, this is a pain point is an important one to address.

The challenge is to design a platform for students to easily discover tech internship positions at tech companies, and keep track of their application process.

My Approach.

Although I was tempted to jump into sketching and wireframing given the short amount of time I had to work on this project, in order to come up with the best design for a consumer facing product like this one, I had to first understand:

  1. Research
  2. Testing
  3. Setting the stage
  4. Designs
  5. Final considerations


The goal is to design a simple web app that focused on:

  1. Reducing complexity — Limit the number of actions on each component and steps in the user’s workflow.
  2. Balancing UI and UX — Not everything needs crazy visuals and animations. Although I wanted pleasing visuals, I was primarily concerned with intuitive workflows and UX.


User Research.

Although I knew I wanted to make this platform for tech internships, it didn’t necessarily mean only one user type fit into those needs. While thinking of the possible user problems, I began developing some questions I needed to learn from users. For example, I wondered how users are currently looking for tech internships and if they’ve developed workarounds. I also wondered what they valued most in a job (e.g. location, size, experience, pay, etc.). I decided to conduct extensive interviews on 10 of my colleagues and friends who are in the tech space currently in an internship.

Here’s what I discovered:

Although I was used to creating personas, I wanted to look into user needs from a Jobs-to-be-Done framework, and finding what users would “hire” my product to do. Therefore, instead of having various personas in specific user segments that ranges from a computer science student to a business grad that’s looking to switch careers, I created a focus point with the job-to-be-done:

To know which companies are out there and if they are currently hiring in a specific position.

Competitive Analysis.

I did an in depth review of the current market leaders in finding internships: LinkedIn, Glassdoor, Internships.com, Indeed, Intern.supply, and AngelList.

To summarize findings:

Hierarchical Task Analysis.

I conducted a hierarchical task analysis to better understand and map out how users might go about the process of finding an internship broken down into its simplest steps.



Knowing one of the major pain points of existing platforms is the amount of clutter and almost overwhelming amount of information on each page, I wanted to reduce that to a minimal experience. Although there are benefits of having everything on one page (filters, list of jobs, job descriptions, apply buttons, etc.) the way that most existing platforms have, I saw greater benefit in grouping actions and splitting them up, so that a user has a limited number of actions on each clear and it’s clear when to move on to the next page to perform another “group” of actions.


I focused on layouts and hierarchy of information when planning my sketches. I wanted information to be presented left to right in order of importance and users can get all the information they need at a glance and have a decision of what action to perform next when action buttons presented themselves. I also focused on limiting at-a-glance information to reduce complexity and confusion. This included hiding filters and carefully choosing what’s most important to the user and only display that.



I chose purple as the primary theme colour because it “combines the calm stability of blue and the fierce energy of red”, and is often associated with ambition. Since green and red will be used for success and failure, and blue for information, purple was the colour that best contrasted the standardardized colours and was still highly accessible.

I drew inspiration from Dropbox design by finding simple ways of dealing problems without any distractions. I also opted for a clean almost minimal look without taking away from necessary information and options, you can see this in the spacing of components and simplicity of the decision-making process for users.

I hyper-analyzed iconography to be friendly, welcoming, and contrast existing platforms by being “young and relevant” (it's a smiling briefcase).

Final Wireframes.

After refining sketches, finalizing scope/feature set and putting my ideas on the computer, here are the results.

Onboarding/Landing page

Jobs Dashboard

Jobs Dashboard - The Details

Company & Position Profile

Account Settings

Saved Jobs


Design Decisions/Iterations

I quickly iterated based on both user feedback and guerrilla usability testing by asking current students looking for tech jobs as well as eating my dog food. From that I made some design decisions that took out pain points and complexity, narrowed scope, and things that I didn’t realize made no sense at all the first time around. Here’s some design decisions and iterations that came from this process.



A major takeaway, although it sounds obvious here, is to take time at every stage of the design process to ask yourself (or even better, test it on potential users!) if your workflows and decisions make sense, because sometimes things just don’t the first time around.

I also admit to sometimes hastily jumping to visual design and putting components together in sketch before I’ve really thought them out. Mockups that didn’t go through iterations of sketching and wireframing just don’t work, and frankly takes up a lot of time.

Scope creep is real!

Future Work.

I’d like to spend the next little while before continuing design, to user test on potential users (and non-users) to find pain points and what questions they have at each step of the workflow. I think formal user testing with a high fidelity prototype is very valuable before moving on to adding details. From that I hope to potentially kill features before setting resources to build them (e.g. do users manage their application status on this app or is that an example of where the product ends?).

There’s so much more work to come: empty states, errors and dead ends, onboarding, edge cases…

Stay tuned!