Web developer interested in accessibility and simplicity. I love building systems that make it easier for people to do their jobs. Trying to solve big problems.
Published an Open Source Project
Converting Word documents to HTML with Eleventy
The most accessible way to share information online is to publish it as a webpage. While it's possible to make Word documents and PDFs accessible for people with disability, they do not match the flexibility, speed and shareability of a well-structured webpage. Webpages are better for all users.
In the communications sector, it's becoming more common for organisations and government departments to publish information as HTML webpages, usually as an alternative to a print PDF.
To make it easier for people to publish Word documents as webpages, I created the open-source Eleventy plugin eleventy-plugin-docx. This makes it possible to use Word documents as 'input' in your Eleventy site, and generate accessible, simple static HTML files for online publishing.
I'm keen to work on the plugin more, and create some example projects that show the potential of this workflow, as I believe Eleventy for building + Word for content is a really powerful combination.
Writing Internal Documentation
Standardized an internal process
Documenting shared knowledge and encouraging behaviour change with an internal wiki
From March to May 2021, I led a Documentation Working Group whose job was to find the best way for our team to share knowledge internally. This meant documenting concepts and processes that we use in our day-to-day work, and encouraging team members to write things down rather than keeping them in their heads.
Before this project, most of our shared knowledge was scattered across Word documents on a shared filesystem and group email threads.
After some brainstorming sessions, we landed on setting up our own internal wiki. I researched a few different options and landed on using the open-source MediaWiki project, which is the same software that Wikipedia uses.
This project gave me:
- a passion for sharing knowledge and encouraging others to do so
- a love for connecting information through hyperlinks - linking from specifics to the broader contextual information, and vice versa
- important experience in pushing for behaviour change, especially when the rest of the team is busy.
Automated document publishing workflow
In our work at the Information Access Group, we need to make sure every PDF we publish is accessible. After exporting a PDF from Microsoft Word or Adobe InDesign, there are a number of things that we need to fix up before we can share the PDF.
In 2019, I created a small web app, using the open-source pdfassembler library, that performs a few repetitive tasks in the structure of the PDF file. This includes:
- "stripping" the table structure of layout tables - this means moving the content out of <Table> tag
- setting empty paragraphs as artifacts
- setting table header rows.
This tool has also allowed me to write short scripts that perform certain tasks in PDFs - working with the structure of a PDF programmatically has helped in a number of large document projects, for example changing footer content in every page of a 500 page document. When you're working on huge documents, this feels like a superpower!
Launched a Web App
Designed a database
Easy Read image database with Django
In 2018, I designed and developed a Django web app that works as a document database for our team at the Information Access Group.
At the Information Access Group, we create Easy Read documents. These are documents that use images and icons to illustrate the meaning of the text, specifically for target audiences with low literacy.
To create these documents, we use Microsoft Word. While Word is easy to use for our editors and graphic designers, it doesn't remember the location of image files after they are inserted. This means that if a graphic designer wants to re-use an image from a document, they need to manually track down the image file on our shared filesystem.
In 2018, I had an idea for a better way to organise our documents and images - a Django web app that would act as a database of our Easy Read content.
To make a tool that would help the rest of the team, I:
- designed the backend database structure, including documents, images, image instances, word list terms and definitions
- designed the front-end user interface for adding documents, and searching for images.
- integrated the imagehash open source library to store a hash of each image, so that the database would be able to identify duplicates, and show the designer where an image had been used across multiple documents. This also made it possible to link up an image in a Word document with an original source file on our shared filesystem.
- allow the user to search by image alternative text - as we add image descriptions to all of our documents, this means that a designer can quickly search across thousands of images to find exactly what they're looking for.
Since 2018, the Easy Read database has become an integral part of our workflow for the team. It's one of my proudest achievements, to be able to turn an idea into a real web app that has been so useful for the team.