Ricky Romero sitting on a chair turned around backwards


Hi. I'm Ricky Romero, a designer in engineer's clothing. I live and work in Silicon Valley. This is my personal project site.

I like to work on small hobby projects. My current side projects are Shut Up and OpenEmu.

My professional career started in the early 2000s at CityStar, where I was a designer on lots of websites for local businesses in Colorado. I also started learning JavaScript in 2003, with a desktop Widget engine called Konfabulator, to help automate grunt work in the office.

During this time, I was also designing and coding lots of Widgets to decorate my desktop. This was a pretty novel concept at the time, to be able to skin any information as a Widget with beautiful alpha transparency and share it with other users on the Konfabulator forums and Widget Gallery. I enjoyed it a lot!

Eventually, Arlo Rose – the designer of Konfabulator – took notice of the Widgets I'd created. He asked me to help out with administrative tasks on the Widget Gallery, as well as updating the Konfabulator website and moderating the forums. When Yahoo! bought Konfabulator in 2005, he brought me on the team in California. At Yahoo!, I designed and built lots of Widgets, designed and maintained the Widget Gallery, moderated the forums, designed and built pages on the website, and did some initial design work on the smart TV project. You can learn more about my time at Yahoo! on my professional portfolio.

I joined Intuit in early 2008 as a designer on a product called Customer Manager Online. It was a CRM tool which integrated with QuickBooks. After that, I joined the Grow Your Business team, working on products such as SiteBuilder, Grow Guide, and an email marketing tool.

I moved to the small business marketing team at Intuit in 2011, where I was responsible for designing the main intuit.com homepage, global navigation, and Intuit's first mobile site. I worked on that team for 6 years, where I designed marketing pages and signup flows, and created production-quality prototypes. I also worked closely with the engineering teams to deliver fast page performance.

In 2016 I switched roles, working under a brand-new Design Technology team in the Small Business/Self-Employed Group at Intuit. As a design technologist, I delivered many high-fidelity prototypes alongside production-quality code across both product and marketing.

In late 2022, I joined Amazon's Prime Video team as a design technologist.

If you'd like to learn a whole lot more about me and my day jobs, take a look at my professional portfolio.

My Tools & Methods

Shut Up

I taught myself Swift to create Shut Up. I wrote it from scratch in Xcode. For the design, I created a rough mockup in Photoshop before doing most of the work in Xcode's interface builder. I used Photoshop and Illustrator to create the art assets. The comment blocking mechanism is based on shutup.css by Steven Frank, which the app translates into Apple's proprietary blocklist JSON format.


All of the work I've done on OpenEmu has been extending from David McLeod's original contribution to the project. While he designed the original interface and the first controller artwork, I designed the version for Retina displays and contributed 10 more controllers.

I used Photoshop and Illustrator to design all of my interface artwork for OpenEmu. All of the controller artwork is done from scratch. I illustrated most of it in Photoshop from the beginning using vector shapes and layer effects, avoiding bitmap layers wherever possible for true resolution independence. Some of it is modeled in Blender, then imported to Photoshop for the final render. For each controller, I used lots of reference photos, but Evan Amos's photos are by far my most-used reference.

This Site

I started work on this site with some rough explorations in Photoshop, and also nailed down a typographic system, layout grid, and base color palette before setting to work on it.

I hand-coded this site in Jade and Sass. Everything is compiled in Grunt by a series of scripts on my local machine before it hits the server. I use no server-side script interpreters nor frameworks, because I have no need for them, nor the vulnerabilities they create.

For the frontend, Grunt takes care of all of my performance optimization tasks. The only frontend libraries I use are Font Face Observer (for more control over webfont loading) and lazysizes (to queue image loads until they're needed).