With the web as one of the major frontiers and resources of our day, promoting accessibility and ease of navigation is key. In order to gain practice in so-called responsive web development, I redesigned the news section of YCombinator's website, Hacker News. I chose to redesign YCombinator’s Hacker News section in particular because it was interesting to me that a site that is by and for software developers–people whose job is to design simple, intuitive systems–fails to follow so many integral design principles. My redesigned site can be found here. Below, I detail the development process that allowed me to transform a website with poor usability and accessibility into a site that is more user-friendly (for all user!) and responsive. This is a photo of the original site:
I began this project by making detailed note of the usability and accessibility problems I saw with Hacker News, listed here:
After noting these problems, I also employed WAVE to identify more acessibility issues. WAVE identified the same issues that I did, as well as a few additional ones. Some detected accessibility issues were not visible to the naked eye, such as having many empty links (could be bothersome for people using screen readers), images without alt text, use of layout tables (often don’t work w screen readers), lack of heading structure (no clear hierarchy for assistive tech users); this shows the disparity of web accessibility between people with disabilities and people who don’t. WAVE did note that the site's HTML had the language attribute set to English, which is a good start, as it helps those who use screen readers.
The next step was to create low-fidelity wireframes in Balsamiq with the intent of addressing the various usability issues identified. These are presented below for the following sizes: phone, tablet, and desktop. Wireframes are annotated with magenta callouts, which correspond to this list of fixes to usability issues:


Before moving on from creating wireframes to high-fidelity prototypes, I created a style guide in Figma to enforce consistent conventions across prototypes.

Lastly, I developed high-fidelity prototypes for phone, tablet, and desktop screen sizes (below). The desktop prototype is annotated with information regarding the CSS and HTML needed to produce the prototypes such that they are responsive. A large portion of the HTML/CSS for this project can be made simpler using Bootstrap, a library that provides pre-built HTML/CSS elements, javascript plugins, and more. I used Bootstrap for a majority, but not all, of this project.



Though there are some small differences between my final layout and my wireframes/prototypes, overall this project was a success. I was able to identify and address the usability issues that I had identified, and I was able to create a responsive layout that is easy to use and looks good on all screen sizes. Moreover, it gave me an appreciation of the effort that goes into designing a site that is truly responsive.