Technologies
Rails, View Component, HTML (HAML), CSS (Bootstrap, SCSS), JavaScript (Turbo, Stimulus, Lit), tooling (Webpack)
A condensed version is available, but if you're looking for details, please read away!
Hello, I'm Romaric and I've been building websites for more that 14 years now. Along the way, I've come to care about accessibility and performance to offer a good experience to the widest audience.
I focus on writing semantic templates and components, as well as maintainable CSS (from scratch or on top of libraries like Bootstrap), in support of various backends whether server-side like Rails or Django, or client-side like React or Vue.
I'm attached to the privacy of data, but a big believer in the sharing of knowledge. This is why I try to keep the code of my personal projects open and share what I learnt.
When not looking after code, you'll likely find me drawing or painting, playing board or video games, or running (sometimes after a frisbee).
Since CookiesHQ's acquisition by Amba, I'm carrying on the responsibilities of my previous role, only on a unique project facilitating the care for elderlies rather than a variety of applications:
Rails, View Component, HTML (HAML), CSS (Bootstrap, SCSS), JavaScript (Turbo, Stimulus, Lit), tooling (Webpack)
I'm also trying to open-source non-sensitive pieces of code, mostly in relation to the use of components. Hopefully I'll be able to release them as proper Ruby gems as soon as I can, but in the meantime, you can find their repositories:
A Rails helper to merge hashes to be used as attributes for HTML elements, with special handling of class
or other, configurable, attributes (like Stimulus data-controller
or data-action
, or ARIA's aria-labelledby
).
Reflexion and helper modules around recurring patterns when using [View Component: having a unique root element, computing its attributes, computing IDs/class names...
Excluding Mar. - Sep. 2020
Conception and development of front-end components for various applications, coordinating with the backend developers and designers. Alongside development, I also helped support the team when front-end issues arose. I also raised awareness about accessibility through:
He was a key member of our team, leading the front-end development on many projects. He was our accessibility and ethics champion. He has challenged us more than anyone else, pushing us to constantly improve our processes and the way we approach projects.
We have learnt a lot from him. I think that, going forward, Nic and I will always have a little Romaric's voice in our heads but above all, we're very grateful for the 2 years that he has spent with us.
Nathalie Alpi - Co Founder and Managing Director at CookiesHQ
Component system to structure the UI and its future development
To provide structure the software's UI and help abstract the complexity of some front-end patterns, I created a set of components relying on View Component and Tailwind. From generic UI component (link/buttons, forms, data tables...) to "business" ones rendering information specific to the application, they presented a mix of levels of abstraction:
Rails, View Component, HTML (ERB), CSS (Tailwind, BEM), JavaScript (Turbo, Stimulus, Preact), tooling (Webpack)
Development of a graph editor to facilitate the creation of interactive video.
Aside from general styling, I mostly got involved with the implementation of the graph editor. It allows creators to map the stories they're building: which scenes make part of the story, which options viewers can take at the end of the scenes and how that affects the scene they're led to. They can then upload the video for each scene and export their story to play in the app's interactive video player.
This included:
Rails, HTML (HAML), CSS (Bootstrap, SASS, SCSS), JavaScript (RappidJS), tooling (Webpack)
Development of a "block editor" to help create variations of a green energy supplier switching form
To help Big Clean Switch customize the journey their users go through when looking for a new green energy provider, I helped:
This involved:
Rails, HTML (HAML), CSS (SASS, PostCSS), JavaScript (Vanilla), tooling (Webpack)
Development of a block editor to facilitate the creation of content pages to alongside ecommerce site.
To help Patternbank publish content next to their ecommerce site, I helped implement a "block editor" that allows to build pages through a combination of configurable sections. Due to high importance of visuals for this site, particular attention had to be paid to:
On a more technical level, this project included:
Rails, HTML (HAML), CSS (SASS, PostCSS), JavaScript (Vue, Vanilla), tooling (Webpack)
Implement design updates and new features on ecommerce sites already in production
On ecommerce sites like Good Sixty, Patternbank or Roughtrade, I implemented updates to the user interface especially:
Rails, HTML, CSS (SASS), JavaScript (jQuery, Turbolinks)
I left CookiesHQ for a while to do some personal explorations. I developped some experimental projects as well as more complete pieces of work.
Explore static site generation, internationalisation and steady writing.
Starting back from scratch, I rebuilt this website using a static site generator, implementing features to publish both in English and French. The whole process is documented through blog posts, from the JavaScript implementing the features to the CSS patterns used for the styles, as well as accessibility fundamentals.
JavaScript (NodeJS), Metalsmith, HTML, CSS, Markdown
Volunteer collaboration to an app that coordinates Knowle West Alliance volunteers who support isolated people during the Covid-19 crisis.
I took part to the EUvsVirus hackathon to kickstart the project and continued growing the project afterwards. Due to the small scale of the team, I got involved in most areas of the build: setting up the front-end build process, implementing Django templates and their styling using Bootstrap, but also using Django's ORM to query the necessary data or customizing Django admin, authentication and emails.
Django, HTML, CSS (Bootstrap, SASS), JavaScript (jQuery), tooling (Parcel)
Outside of client work, and this website, I also tinker with various little projects: small apps, tooling or just experiments with concepts or technology that feel interesting to me. Here are a selected few:
A Svelte pomodorro app (sources on Gitlab) where you accrue more rest if your working session goes over 25min.
An ExpressJS middleware to declare routes through folders and files, nostalgia of PHP's early days.
Twisting JavaScript syntax with Babel to try and turn it into a templating language. Highly experimental.
A Svelte app illustrating an idea for drawing a Bezier spline passing through a list of points
A(n oldish) React app (sources on Gitlab) where tasks fight against one another to sort their priorities
I learnt a lot from what others shared, so it's only normal to try and reciprocate (with varying success at regularity):