Freelance position: Frontend developer to design and implement new features in Allmaps platform

Developer sought for NEH-funded project on georeferencing and digital humanities

The Leventhal Map & Education Center (LMEC) at the Boston Public Library and the Allmaps project seek to contract a creative software engineer with interests in the digital geohumanities and a strong background in front-end web development for the role of Allmaps UX/UI Developer. Please apply before Wednesday, October 18 at 12:00 pm ET.

An LMEC atlas in the Allmaps Viewer application

About the job

Allmaps is an open-source, web-based platform for creating, curating, and viewing georeferenced maps. We’re looking for an experienced and creative UX/UI developer who can both design and implement user interfaces to help us refine existing features in the Allmaps platform, incorporate design feedback from user testing, and ultimately design and implement new user interfaces within the Allmaps ecosystem. You’ll design and create user interfaces that are simple and fun to use, both on desktop computers and smartphones and you’ll work on a design system and reusable components that will be used throughout the Allmaps project. As the Allmaps UX/UI Developer, you will work closely with Bert Spaan (Allmaps Lead Developer).

This contract work will be undertaken as part of a Digital Humanities Advancement Grant, Making Open-Source Georeferencing Technology Collections-Ready with the Allmaps Platform, awarded to the LMEC by the National Endowment for the Humanities. The project aims to polish existing functionality, as well as create new features, throughout the Allmaps platform with the goal of making it easier for map-holding institutions across the world to incorporate Allmaps into their digital collections.

Contract details

This contracted position is renewable on a task-by-task basis. The project runs for 3 years, though we expect the UX/UI Developer to complete the majority of their work during the 2024 calendar year. The successful candidate can expect to work about 300 hours during the project duration at a rate of about $100/hour. The contract will be denominated in $USD. This is a freelance position—candidates are not required to live in the United States or have U.S. citizenship.

Technology & principles

Allmaps is built using the following technology:

  • IIIF APIs - The International Image Interoperability Framework (IIIF) is a set of open standards that are used by cultural institutions to publish high-resolution images and their metadata. Allmaps uses the IIIF Image API and Presentation API to access digitized maps.
  • TypeScript - All Allmaps apps and modules are written in TypeScript.
  • SvelteKit & Tailwind CSS - All Allmaps apps are built using SvelteKit and Tailwind CSS.
  • OpenLayers - Many parts of Allmaps use OpenLayers to display interactive maps and IIIF images.
  • PostGIS - We store data about georeferenced maps in a PostGIS database and we run a small REST API that is built using Express and Drizzle ORM.
  • WebGL - Allmaps uses WebGL to transform georeferenced IIIF images of maps in such a way that they align with the geographic area that is depicted on these maps. See Allmaps Viewer for examples.
  • GitHub & Render - We publish our source code on GitHub, and we run our static sites and services on Render.

During the project, we are also focusing on the following principles:

  • Open data - Data about georeferenced maps produced by the various components of Allmaps is published as open data.
  • Accessibility - Incorporating accessibility features in conformance with the W3 Accessibility Guidelines will be an important aspect of the successful UX/UI Developer’s role.
  • Internationalization - Currently, we only use English in our user interfaces. In the future, we plan to translate our web apps to different languages.
  • Responsive design - All Allmaps apps should work on small smartphone screens, on tablets, on laptops and on desktop computers.
  • Documentation, examples & tutorials - While the UX/UI Developer is not expected to write documentation, they should be able to help develop working code snippets and examples (e.g., Kaggle/Jupyter/Observable notebooks).

Applying

The last day to apply for this position is Wednesday, October 18 at 12:00 pm ET. Please direct any questions to Ian Spangler and Bert Spaan.

Submit an application online