About me

Long story short

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).

Currently: Amba Health and Care - Front-end lead

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:

Technologies

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:

merge_attributes

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).

View Component concerns

Reflexion and helper modules around recurring patterns when using [View Component: having a unique root element, computing its attributes, computing IDs/class names...

Previously

Nov. 2017 - Jan 2022: CookiesHQ - Front-end developer/lead

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

Caption.Ed

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)

Stornaway

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)

Big Clean Switch

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)

Patternbank

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)

Update existing ecommerce sites

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)

Mar. 2020 - Sep 2020: Personal explorations

I left CookiesHQ for a while to do some personal explorations. I developped some experimental projects as well as more complete pieces of work.

Personal site

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

To/Fro

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)

Before Nov. 2017

Other projects

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:

Harvrest

A Svelte pomodorro app (sources on Gitlab) where you accrue more rest if your working session goes over 25min.

express-mount-files

An ExpressJS middleware to declare routes through folders and files, nostalgia of PHP's early days.

implicitjs

Twisting JavaScript syntax with Babel to try and turn it into a templating language. Highly experimental.

An experiment with Bezier curves

A Svelte app illustrating an idea for drawing a Bezier spline passing through a list of points

Taskfight

A(n oldish) React app (sources on Gitlab) where tasks fight against one another to sort their priorities

Writings

I learnt a lot from what others shared, so it's only normal to try and reciprocate (with varying success at regularity):