Skip to main
James jumping in front of large rocks in the ocean.

James Stuckey Weber

Front-end developer @ OddBird since

James (he/him) is a front-end developer focused on user-friendly solutions for complex problems.

James is an experienced front-end developer and tech lead.

He is passionate about developer experience and its impact on the end result. His expertise lies in simplifying big data and crafting mobile and web apps that enhance user experiences. Many of James’ side projects relate to his hobbies as a homebrewer and birder.

Open Source

OddContrast

Color contrast checker with Oklch, Oklab, P3, and more

OddContrast is a color format converter, featuring newer color formats like Oklch, Oklab, and the Display P3 color space. It’s also a color contrast checker to help designers meet WCAG 2 accessibility standards.

HTML & CSS Polyfills

Cascade Layers, CSS Anchor Positioning, Popover

Along with our work for the W3C developing specifications for the CSS language, OddBird has started and maintains a number of powerful polyfills for new web platform features including Cascade Layers, CSS Anchor Positioning, and the Popover attribute.

Herman

Automated style guides

Design systems streamline development, communication, and consistency – but often rely on dedicated teams and extended budgets. We wanted a tool that helps create and maintain living style guides & pattern libraries in an agile process, and on a budget. Herman helps you keep your development process simple – and your UX consistent – as you scale over time.

Accoutrement

Integrated design-system management in Sass

OddBird’s Accoutrement tools help keep design tokens meaningful to both humans and machines – opening the door for automation, while improving readability. These tools also integrate with Herman, our automated pattern-library generator.

2024 Posts

  1. Article post type

    Generating Frontend API Clients from OpenAPI

    API changes can be a headache in the frontend, but some initial setup can help you develop and adapt to API changes as they come. In this article, we look at one method of using OpenAPI to generate a typesafe and up-to-date frontend API client.

    see all Article posts
  2. Winging It post type

    Streamline Your API Development with FastAPI

    Join us for a dynamic exploration of FastAPI, a modern Python framework for API development.

    see all Winging It posts
  3. Stacks of a variety of cardboard and food boxes, some leaning precariously.
    Article post type

    Setting up Sass pkg: URLs

    A quick guide to using the new Node.js package importer

    Enabling pkg: URLs is quick and straightforward, and simplifies using packages from the node_modules folder.

    see all Article posts
  4. A dark vintage accessory store lit by lamps and bare bulbs, with bags, jewelry, sunglasses and a bowler hat on the wooden shelves and carved table.
    Article post type

    Proxy is what’s in store

    You may not need anything more

    When adding interactivity to a web app, it can be tempting to reach for a framework to manage state. But sometimes, all you need is a Proxy.

    see all Article posts

2023

  1. Winging It post type

    Align Designers and Developers with OOUX

    An object map is a place to document information about objects in your digital system, keeping everyone involved on the same page. During our conversation, we walk through examples and discuss the benefits of using object maps.

    see all Winging It posts
  2. Winging It post type

    Intuitive Web Design with OOUX

    During our conversation we look at 3 examples of unintuitive web design, and learn how to create websites and apps that are more intuitive using object-oriented user experience (OOUX) design strategies.

    see all Winging It posts
  3. A close up of the hands of a person handing a package
to another person.
    Link post type

    Sass Package Importer (Request for Comments)

    A new proposal for importing from NPM packages in Sass

    UI libraries like Vuetify and Bootstrap make it easy to extend their themes by providing Sass source files with their NPM packages. Now, Sass is requesting feedback on a simpler way to import those libraries into your Sass styles with e.g. @use "pkg:bootstrap".

    see all Link posts