I'm Benjamin Grant, a lead frontend / Javascript engineer based in Brighton. And a lover of good food.

I'm currently working at Lean Library, a browser extension for libraries. Mostly working with Typescript, React/Vue.js, with a mix of the latest ES/ECMA spec, S/CSS. I'm currently focusing on browser extensions, with a strong knowledge of native APIs and the innards of a browser.

  • Senior Frontend Engineer

    Lean Library (A SAGE Publishing Company)

    Remote (UK)
    May 2021 - Present

    Lean Library's core project revolves around a browser extension patrons (students and researchers) can install to give them off-campus access to library holdings (material and subscriptions). We also have a feature set branded as Futures which brings the library toolings into the patron workflow.

    I joined Lean Library with the goal of taking a legacy extension codebase and turning it into a project that was enjoyable to work on. We needed to build something with better UX, that was more reliable and easier to build upon to give libraries new features.

    In my first year I focused on;

    • post-mortem and retrospective culture
    • Typescript and modern technologies
    • testing and coverage
    • identifying the need for better UI, UX, and user testing
    • identifying a need to monitor and value CPU impact
    • kick-off for an extension codebase rewrite - allowing us to build faster and better

    In my second year I focused on;

    • onboarding and peer programming with new team members
    • completing and launching the extension codebase rewrite - with major UX updates, manifest v3 support, and best practices within the code
    • building culture as the team grows and joins with other engineering teams with Technology from Sage
    • architecture for new features
    • backlog and resource allocation

  • Senior Frontend Developer (Team Lead)


    Amsterdam, NL
    December 2017 - April 2021

    During my time at Hiber I've been building and managing the internal and client facing web applications. This includes a modem management tool, satellite operational tools, a locally-running web GUI for devices in the field, and the website at

    I've also transitioned into the role of a team lead. I manage a team focusing on these web applications and the API that supports them by; running the project management, streamlining the flow for new products and features, aligning our roadmap and goals with management, managing and allowing for seemless conversation between our team, design, sales, and other stakeholders, and product owning our collection of tools. I'm also responsible for hiring and on boarding of new team members and, along with the other senior members of the team, coaching the more junior developers.

    The web applications have been built with Vue.js (ES supported) with a living styleguide, connecting via Typescript to an API built with Kotlin and GPRc. They're built organically with primary input coming from direct users, with a real focus on making the interaction as seamless as possible.

    One of the primary products we've been working on is Mission Control, as described on our website; "Mission Control (sometimes referred to as Customer Mission Control) is a modem management platform. It provides a quick overview of every device deployed anywhere on Earth. Including its health status and location. Mission control also manages Cloud services via API, webhooks or bespoke integration. 'Houston, we don't have a problem.'"

  • Frontend Developer

    Young Capital

    Amsterdam, NL
    April 2017 - November 2017

    At YoungCapital, I worked on a microteam prototyping new projects and ideas, using a mix of Vue, React, and Cordova. Alongside this, I was also part of a team that worked on a rebuild of the front end in React from the current Ruby system. I took ownership of a styleguide, wrote tests and CI runners using Docker, and built a system that future SPAs in the company will be built upon.

  • Freelance Frontend Developer

    March 2013 - April 2017

    During my time as a freelancer, I worked with a large number of international and remote teams. This taught me how to quickly adapt to a teams' work flow and code base. Only being a part of a team for a couple of month at a time allowed me to develop my ability to read legacy code, and work on my communication skills. My tasks on these projects and teams included building fast, responsive, and fluid websites and web apps. I was often given the freedom to experiment and pick my own workspace allowing me to learn new technologies and develop a wide range of skills.