Frontend development
Experience with multiple frameworks
My preferred stack is React + Next.js + Tailwind, but I stay up-to-date on multiple frameworks so I can choose the right tool for the job.
Experienced with Tailwind CSS
I'm currently using Tailwind in a client project as well as my personal site. I'm a fan of its underlying principles, which align with my own development practices.
I'm also using it for this site! View the source to see my custom group-even and group-odd plugin.
Multiple CSS-in-JS frameworks
I helped evaluate several CSS-in-JS libraries for the design system we're building at NIBR. I have extensive experience in JSS/Material UI and Styled Components and have also worked with Framer Motion and Emotion.Deep experience in React
I've worked with React professionally for about 4½ years now. I use it to build applications for NIBR, and I'm also a maintainer and community manager for our internal React-based toolkit. I also have experience with Next.js, Gatsby, and Redux, having contributed to the latter two open-source projects.
Component strategy
- At my current job, I’ve designed a workflow to allow any team to publish components from their application so that others may use them. This includes a build step, versioning, continuous delivery, and publishing. Even though our internal architecture is somewhat fragmented, this strategy has allowed people to share code in ways they couldn’t before.
- My team wanted to distribute a paid icon library without distributing and rotating a key. To get around this, I implemented a CI job, triggered weekly, that checks whether our internal npm repository has the latest version of the package, and mirrors the package if it doesn’t.
Component development
- I’m currently working on a design system for Novartis Institutes for BioMedical Research. I co-wrote a blog post for the PISTOIA Alliance to help teams make the case for design systems to their stakeholders, as well as explain why we were pursuing a design system at NIBR.
Tooling
- I’ve created plenty of tools to enhance the development experience, including Babel plugins, ESLint rules, and Markdown/MDX plugins.
- Wrote
mdx-utils– a set of tools for working with MDX, Prosemirror, and Storybook.js. - Added a feature to
gatsby-transformer-remarkallowing content creators to use custom React elements directly in their Markdown files (this was before MDX took off) - Experimented with converting Vue templates into Shopify Liquid syntax
- Wrote