Greg Siekman

Greg Siekman

Automation & Systems Engineer

Using code and digital tools to automate tasks and make work easier.

Open to opportunities in education technology and beyond.

About

I started my development career inhereting a web extension that automated tasks in Canvas LMS. Working on that laid the ground work for how I understand the capacity of software to make work easier. I continue to carry that ethos in my work. Whether I’m setting up auto-deploy practices or implementing documentation-as-code, I try to limit the amount of tedious work involved in the work getting done.

I fundamentally believe technology should be centered on user value— a model that, by-and-large, tech companies have turned away from.

Tools

TypeScriptGitHub ActionsPythonREST APIWeb Extension DevDocumentation

Experiences

2025

Solution Developer · Unity Environmental University

Expanded on an internal browser extension and suite of automation tools used to manage 130+ courses, focusing on eliminating manual friction for educators and staff.

  • Extended TypeScript and React automation pipeline to automate boilerplate content and settings across multiple academic levels
  • Implemented robust CI/CD pipeline, replacing manual publication scripts with automated testing, PR-based preview builds, and GPO-based device updates.
  • Built one-click workflow tools that bridge internal data sources (Canvas, Salesforce, and Trello)
  • Led the rollout of a version-controlled "documentation-as-code" platform to keep documentation with the code
  • Developed data-driven dashboards to surface insights from ticket feedback and course logs, shifting curriculum design toward evidence-based improvements
  • TypeScript
  • React
  • Python
  • Node
  • Zustand

2023

Learning Technology Support Specialist · Unity Environmental University

As inaugural LTSS, set procudes for ticket handling, video production, LTI tool audits, and Canvas maintenance.

  • Acted as the primary technical authority for Canvas LMS, resolving Tier 1 & 2 issues regarding course design, rubrics, and platform settings
  • Defined and implemented protocols for ticket lifecycle management, LTI tool compliance audits, and academic video production
  • Collaborated with learning design teams to translate complex technical requirements into actionable, user-friendly solutions
  • Served as the bridge between end-user frustrations and technical implementation, identifying recurring pain points that informed course development
  • Canvas LMS
  • Salesforce
  • LTI
  • HTML/CSS

2022

Technology Integrator/IT Support Specialist · MSAD #58

Provided hands-on technical support and infrastructure maintenance for a K-12 school district, ensuring reliable hardware and software environments for faculty and students.

  • Executed large-scale summer device rollout and fleet maintenance across four campuses, maintaining operational standards through complex logistical challenges
  • Resolved Tier 1 support tickets, covering end-user identity management, software troubleshooting, and classroom A/V issues
  • Implemented physical network infrastructure upgrades, including the installation and cabling of security cameras and wireless access points across the district
  • Evaluated emerging educational technology tools to ensure alignment with K-12 curriculum and district-wide security standards
  • Ticketing
  • Jamf
  • macOS
  • Clever

Blog

Automating Sprint Summary Reports

2026-07-23

For a few months, I was tasked with leading the sprint process on our team. This including running our debrief and planning meetings, and developing a summary write-up of what happened in the previous sprint for leadership on other teams. Despite leading the meetings, I wasn't always as sharply abreast on the specific details of what people were working on, which made it a bit tough to write the sprint summary from memory. Every two weeks, I could've opened up our Trello board and scrolled through cards and lists to write up this summary. That felt slow and tedious to me. So, I opened up me IDE and built a Python script that automated a little bit of this work. Using the Trello API, I pulled cards from the relevant lists in our board. The script dumped the cards into a csv, generated a data file, and created a template markdown file to draft into. The data file is my favorite part of the project. It attempts to establish keywords from the sprint by counting words from the titles and descriptions of cards. For example, one of the data files has a keyword "Field." It was in five cards, and then below the keyword, it lists the titles of each card. This section used a rudimentary filter list to filter out common words that weren't useful descriptions of the work being done(people's names.) It also attempts to use a frequency filter to determine relevancy. A word that is in 9 cards, for example, is assumed to be a common word and not a descriptive word of the work being done. The data sheet does this for completed items, and then in a separate list for active and planned items. At the bottom of the data file is then a 'Quick Scan Index' of the cards, which is just the card titles in a text list corresponding with the lists in Trello. With those files on hand, I was able to write the sprint summaries faster. I could use keywords to prompt what we got done and what we planned to get done. I could scan the cards to catch anything I missed. Once I was done drafting, I could run a formatter script that converted the markdown file into HTML; as that was a friendlier format for Outlook, and copied it to my clipboard. If I were going to pick this project up again, I would put more work into that formatter script. Outlook was a little fidgety with it's formatting preferences, and I always had to spend some time formatting it manually. I could also do more work on how it determines what a keyword is and surfacing relevant information from the cards.

Porting my Personal Website from Astro

2026-07-16

A picture of Greg Siekman's personal website.

A few years ago, I built my website: siekmang.com. I wrote it with vanilla HTML, CSS and JavaScript because that is what I knew at the time. Since then, I've been battling with layout shift on first load of the site. Recently, when I decided to build out my developer site, I decided to use Astro. I was captivated by the speed at which pages load. After finishing that site(or this site, I guess,) I was intrigued if I could get similar performance on my personal site by switching over to Astro. I thought it was going to be a whole refactoring journey, building out components and layouts, but I was able to drop my existing site into an Astro project, change .html to .astro, move a few things around to the right places in the directory and have a functioning site. Better yet, the performance gains were already clear! The biggest issue I had in the port over had to do with my use of document selectors in some of my JavaScript. The solution was to use script tags for my existing JS files. Another thing that took some reworking was my header generator. What it currently does is pull the slug from the page, if that slug is privacy, sets the header to Privacy Policy, and if it's not, defaults the header to my name. How I was doing that in my old code: var page = window.location.pathname.split("/").pop(); In the Astro build of the site, that kept turning up blank. After a little bit of troubleshooting, I figured out that it was easier to just peel away any back-slashes and just leave the slug using removeAll. That got the header generator working. At that point, I merged the astro code into main, and Cloudflare Pages built and shipped it. As a side note, I really gained an appreciation for Cloudflare Pages in the process. It's integration with GitHub is so effortless and it built every push in a preview environment, which helped increase my confidence that what I was going to eventually ship to main was going to work. Another tip: astro dev is great for visual changes on your site, but I got tricked a few times by things not working in that environment. astro build and astro preview swooped in to save the day on that. I still plan to move toward components and layouts for that site eventually, as well as replacing my bloated css with Tailwind, but having the performance upgrades from the jump with Astro was a really nice quality of life upgrade for my site.

View Full Blog Archive