Sunwoo and Wontae both picked up programming to make their respective workplaces more efficient with code. They’ve only recently graduated from Flatiron’s full-time Ruby course, but they’re already able to save other programmers a lot of time, too. As students, they built a development tool called GemifyJS to help developers create and manage Rails gems. And it seems to be useful.
Sunwoo was a marketing intern who’d traveled around Asia teaching English, and Wontae worked as an architect for 5 years before deciding to start programming full-time. Both initially started to fill in gaps in non-technical positions.
“I started learning Ruby on Rails, so my company could roll out features faster,” Sunwoo explained. After learning enough on his own to take an internship in web development, he realized that getting the fundamentals weren’t as hard as he’d thought. “It’s made out to be incredibly difficult and inaccessible,” he explained. “It is sometimes, but I didn’t realize that if you can understand the basics, you actually already know enough to make a web app that does something cool.”
As an architect, Wontae was tasked with creating a database of building materials. He signed up for Codeacademy, and enjoyed a new, more objective way of approaching problems. “I like programming because there are a lot of ways to get to the same solution, but in the end it’s either solved or not solved,” he explained.
Because they both started coding to make their jobs easier, it seems natural that they’d work together on a project that can help programmers be better at theirs.
Initially developed over two weeks, GemifyJS simplifies this often-frustrating process of sharing front-end assets. Users just drag and drop their files into the application, which then packages them into gems that are compatible with the Rails asset pipeline, and pushes them to the user’s Github repository. The gem is then instantly available for developers to add to their projects with just one line of code.
Work on GemifyJS naturally divided between front-end and back-end. Each area came with its own challenges—like learning how to manage problematic gems and how to build the app so that it naturally felt like one page. Sunwoo and Wontae had to work through a lot of technical problems that extended beyond what they were studying, but even less technical challenges come with big learnings.
Wontae drew on his experience as an architect to inform the UX for GemifyJS, and found that it didn’t always apply. “Like in designing for the web, architects are always very worried about a user’s flow through a space, but in programming, the medium is very different.” With user feedback rolling in, he had to adopt a new way of thinking about design and adjust the front-end to reflect what users were actually expecting. “I found it quite challenging,” he added, “It was a fun experience.”
Since they graduated from Flatiron School, Wontae and Sunwoo both started working as full-time developers at Cardflight and AlphaSights, respectively. So making improvements to the app (rather than growing its user base) is now a side project. “At the moment it does what it’s supposed to do well, but it’s not perfect,” said Sunwoo. Once the two finish their improvements, they’d like to start actually marketing it. “Honestly, it’s useful app that can save people time,” said Sunwoo, “I use it, and we had a lot of fun making it.” As the library of gems they maintain grows, GemifyJS will only get more useful.
GemifyJS is also open source, so feel free to fork and contribute!
Ruby on Rails, including a custom Rails generator