- MLIS Library & Information Science, University of British Columbia, Vancouver, 2025
- Tech skills: Python, HTML5, CSS 3.0, Javascript, MySQL, Figma, Miro, SlideDoc design, database design, website design
- PhD. Literature & Creative Writing, University of Southern California, 2015
- Critical Dissertation: Nineteenth-Century Artificial Intelligences: Thinking Machines, Mechanical Minds, & The Victorian Detective
- Creative Dissertation: Babbage's Dream (poetry)
- MFA Creative Writing, University of California, Riverside, 2006
- Thesis: The Lost Country of Sight (poetry)
- BS Computer Science, Brigham Young University, Provo, 1999
- Research Interests: Application Development, Algorithm Optimization, Artificial Intelligence
- Tech skills: C, C++, Java, Pascal, Javascript, LISP(Scheme), Assembly
- Data Librarian @ Map and Data Library, University of Toronto (Feb 2026 - Present)
- Duties: Support faculty and student researchers through consultations, tutorials, problem-solving, and reference work
- Areas: Text and data mining (TDM), data cleaning, OCR/text-extraction, Python, Github
- Digital Projects Specialist @ Digital Scholarship in the Arts, University of British Columbia (Mar 2024 - Dec 2025)
- Development: Python, Javascript, HTML, CSS, Markdown, Github
- Tools: Leaflet, Document Intelligence (AI Transcription)
- Platforms: WordPress, Omeka, Scalar, Jekyll
- Project Experience: data cleaning; text AI-aided transcription for large text corpus; batch file conversion; automation; GUI development; sentiment analysis; website prototyping; troubleshooting WP updates, installs, and plugins
- Collection Development Researcher (Professional Experience) @ UBC Library (_Sep 2024 - Apr 2025)
- Informal interviews with faculty and student researchers interested in the teaching, study, and creation of speculative fiction
- Developing online resources and indices to aid faculty in making informed decisions about current holdings of relevant materials
- Writer-in-Residence @ Regina Public Library (Sep 2021 - May 2022)
- Programs Developed: Authors in Conversation Series; Generative Creative Writing Workshops; Introduction to Dungeons & Dragons Workshops
- Mentorship: One-on-one writing consultations (in-person and via Zoom)
- Programmer @ Knowledge Adventure/Vivendi Universal Games (Jan 2000 - Aug 2004)
- Development: C++, Director Lingo, in-house game engines & scripting languages
- Projects: 7 completed kids' entertainment/edutainment titles (lead programmer on 5), created external scripting language and collaborated on creating a level editor
- Programmer II @InsurQuote Systems (1998 - 1999)
- Development: Pascal, in-house engine, module writing
- Projects: auto insurance underwriting modules for different insurance companies in various states
- Doctoral Writing Consultant @ Centre for Writing & Scholarly Communication, UBC (Aug 2023 - Mar 2024)
- Writer-in-Residence @ Regina Public Library (Sep 2021 - May 2022)
- Virtual Writer-in-Residence @ Saskatchewan Writers' Guild (Sep 2020 - Dec 2020)
- Writing Coach & Manuscript Consultant (Jun 2019 - Present)
- Teaching Assistant (General Education/Humanities) @ University of Southern California (Sep 2012 - Apr2015)
- Assistant Lecturer (Critical Reasoning & Writing) @ University of Southern California (Sep 2008 - Aug 2012)
- Teaching Assistant/Instructor (Creative Writing) @ University of California, Riverside (Sep 2005 - Jun 2006)
- Spatial Analysis for Digital Humanities, DHSI 2025, University of Montreal (21.5 hrs)
- Engaging Play, DHSI 2024, University of Victoria (21.5 hrs)
- DH for Librarians, DHSI 2024, University of Victoria (21.5 hrs)
- Preserving Your Digital Scholarship Projects, Sherman Centre, McMaster University (1.5 hrs)
- Introduction to Machine Learning: Neural Networks, University of British Columbia (2 hrs)
- The Hermit Poetry Series (2020-2023)
- a YouTube series where I read a poem from a contemporary poet or a poet from the past
- created using OBS Studio and OpenShot
- 398 episodes
- The Lit Fantastic (2016-2018)
- a two-season author interview podcast series where I interviewed authors about their favorite or strangest obsessions
- also broadcast on KBOO 90.7 Portland, Oregon
- recorded at KBOO Community Radio and edited with Audacity
- 20 episodes
- pyDatasetGen (2024)
- free and open-source library for producing customizable randomly generated datasets to be used in testing and development
- configurable through external files
- can generate numbers, alphanumeric patterns, view counts, names, dates, addresses, phone numbers, emails, urls, book titles, isbns, issns, book call numbers (both Library of Congress and Dewey Decimal)
- written in Python
- A Little Assistance (group project / Cardigan Mouse Games). 2025
- choice-based game and instructional tool around ethical and responsible AI use
- the player is a new university student navigating various scenarios related to AI use in an academic setting
- written in Twine 2.10.0/Harlowe
- The Lost Temple of Pythongoras (group project). 2024
- parser-driven text adventure game in the style of Zork.
- developed a custom game engine, object-oriented architecture, external scripting language, graphical interface, and command buffer handling.
- led a project team of 2 other classmates as part of Intro to Python class
- written in Python
- The Last Librarian (in development)
- choice-based adventure set in a dystopian Northwest Territories in the 1980s
- you play as the last librarian in a community and must take the bookmobile out to the northernmost settlements
- written in Twine 2.81/Harlowe
- Into the Dark Woods (in development)
- choice-based fantasy adventure game drawing on multiple literary sources exploring roads taken and not taken
- you wake in a forest clearing at dusk and must find shelter and fire to survive the night
- written in Twine 2.81/Harlowe and Javascript
- 737+ passages
- The Cave (2020)
- choice-based fantasy adventure game/character generator with procedurally generated narrative elements
- you find yourself in a cave system without a light source and must find your way out
- written in Twine 2.0/Harlowe and Javascript
- 2020 Interactive Fiction Competition Entry
- 139 passages
- Boxcar Poetry Review (2006-2021)
- an online literary journal featuring poetry, reviews of first books of poetry, and interviews with first-book poets
- created as a static site using HTML, CSS, and Javascript
- 41 issues
- De-Canon (2017-Present)
- a literary social practice art project that centers the works and voices of writers of color
- in addition to co-directing the project, I also wrote numerous research articles for the blog
- site designed and hosted at Squarespace
- Have Book, Will Travel (2015-Present)
- a Wordpress site featuring a searchable database of authors willing to travel, reading series currently seeking guest writers, and venues available for booking events
- 400+ author, venue, and reading series profiles
- Star Singer. Composer: Juhi Bansal. Produced by Beth Morrison Productions. Debuts late 2027 (Los Angeles).
- Edge of a Dream. Composer: Juhi Bansal. Performed by Los Angeles Opera. 2020
- Babbage's Dream. Sundress Publications, 2017. (poetry).
- The Lost Country of Sight. Anhinga Press, 2008. (poetry).
- Leviathan. Hyacinth Girl Press, 2016. (poetry).
- “Imagining Home: Creating Literary Spaces of Change” in How Dare We! Write. 2nd Edition, Modern History Press, 2022.
- Guest Editor. Write Magazine (Writers' Union of Canada). Summer 2021 Issue.
- Editor-in-Chief. Boxcar Poetry Review. 2006-2021.
- Contributing Editor (Chinese-English Translation). Poetry East West. 2010-2019.
- Co-Editor-in-Chief. CRATE: A Journal of Borders & Boundaries (UC Riverside). 2005-2006.
- Digital Strategy Working Group. University of British Columbia. 2024.
- Chair, Nominating Committee. Writers' Union of Canada. 2021-2023.
- Regional Representative (Saskatchewan). The League of Canadian Poets. 2021-2023.
- Regional Chair (International). Kundiman. 2021-Present.
- ACH (Association for Computers and the Humanities)
- ALA (American Library Association)
- APALA (Asian Pacific American Librarian Association)
- ASCAP (American Society of Composers, Artists, and Publishers)
- AWP (Association of Writers & Writing Programs)
- BCLA (British Columbia Library Association)
- LCP (League of Canadian Poets)
- SWG (Saskatchewan Writers’ Guild)
- TWUC (The Writers’ Union of Canada)