Simon Fish

Engineering and educating for a free and open web.

Currently at FreeAgent

Ruby logo Ruby on Ruby on Rails logo Rails developer with over two years of industry experience.
Experienced with Turbo logo Hotwire, ViewComponent logo ViewComponent, React logo React, and more.

Check out my CV/resume .
Thanks for checking out my work. You can always head back home if you want!

ViewComponent

GitHub 31 Mar 2021
I am a trusted committer on a promising Rails frontend library from GitHub.

During my time at Raise.dev, I investigated ways to break the frontend down into components. In base Rails at the time, the situation here was fraught - partials and views had access to controller-level instance variables and were difficult to test. ViewComponent, a project released from within GitHub, sought to resolve these issues. I developed a love for ViewComponent after applying it within the Raise.dev codebase.

At Raise.dev, I had started out with a view model pattern. ViewComponent replaced this over time. Small, central items like links, buttons, and headings were all backed by the same component code, and even some views became fully encapsulated components.

ViewComponent was at an early stage when I started to use it. That meant there was a lot of opportunity to set patterns, add features, and resolve upstream issues. Most of all, I found that my experience with the library was best applied in helping others resolve their own issues. This earned me a place on the triage team in June 2021, and is a responsibility that I continue to take seriously.

I reached out to Joel Hawksley, who is a leading figure on the project, to express my interest in being a core part of ViewComponent. After contributing a number of test cases, significant documentation updates, features, and fixes, I later joined the commit team in December 2021.

Here's my PR history and issue history for github/view_component.