Sustainable StoryMaps

A Case Study in Staticization with StoryMapJS

Joey Takeda, SFU DHIL

GIS Day, November 17, 2021


Developer at the Digital Humanities Innovation Lab at Simon Fraser University Library

The lab works with researchers from across the university on various projects (small, experimental, large-scale, grant-funded, etc)

Collaborates with various units across the library


Researcher working on a narrative map of maricultural sites across the Pacific

Included illustrations by local artist as icons for each location


StoryMaps JS

Northwestern University's Knight Lab

Open-source JavaScript library and associated authoring interface for creating lightweight narrative maps

Used by academics, journalists, et cetera

StoryMaps JS

Less robust than other mapping / storytelling platforms

Easy to use and setup

Some ability to customize, especially when self-hosted

Hell is other servers

How best to preserve the intellectual labour and research outputs for projects?

How best to underscore long-term thinking from the outset?

Static Websites


No server-side dependencies




Static StoryMaps

Hosted on GitHub:

Small node library for creating a static snapshot of a Knight Lab StoryMap

Includes all images and content

Uses a stable version of the StoryMaps JS library


All content edited using the Knight Lab WYSIWYG

Researcher triggers a rebuild of the map

All content deployed to GitHub pages


Some resources (especially the map tiles) are externally hosted (but robust)

Allowed for greater control over the data

But still not a "no code" solution

Final Thoughts

An experiment in testing if we can and should work to create static snapshots of research products created by third party software

Software versions are difficult to manage

Open-source code can still be obfuscated and difficult to wrangle



Sarah Zhang; the DHIL team; Research Commons; Heather Earle and the Coastal Marine Ecology and Conservation Lab