Michael Ingram Full Stack Web Developer github.com/mpingram || linkedin.com/in/mpingram
A very nice headshot of Michael Ingram

Hi, I'm Michael!

I'm a full-stack software engineer with five years' worth of experience. I live in DC, I in my spare time, and I live for the sweet rush of not knowing how to do something and then figuring it out.

Here's what I can do

Web design
Frontend web development
Web app programming
Backend web development
Cloud services
HTML5
CSS3, SASS
Illustrator
Javascript (ES6)
TypeScript
Node.js
Express.js
React
jQuery
MongoDB
Mongoose
MySQL, Postgres
Gulp, Grunt, npm
Amazon Web Services, Heroku
Git
Want to hire me?

I've been making electronic music for the past five years (and still haven't settled on a style). I specialize in house music, although I've been making ambient recently. Take a listen to my most recent work in the player or check out the rest of it (even the bad stuff!) on my bandcamp or soundcloud.

Campus North North North
view website
EventWindow app
view demo
Polichat
view demo
Like what you see? I'm available for freelance work.
EventWindow an open-source web app for nonprofit event management A screenshot of the EventWindow dashboard page.

Nonprofit organizations have a hard time when it comes to event organizing. In order to deal with common problems like keeping track of the catering needs of several events or contacting large numbers of attendees, nonprofits need to either allocate large amounts of their budget for commercial event management software or work with cheaper and less professional options, like free e-vite systems.

EventWindow is an event management web app with the goal of solving this problem by being simple, extensible, and free. Crucially, the app is open source, allowing businesses to treat EventWindow as a baseline upon which to build an event management system that suits their needs. The base EventWindow app is designed to be easy to integrate into existing websites and extended with more features by anyone with web programming experience.

Out of the box, EventWindow has two core features:

  • an event dashboard, showing a searchable timeline of upcoming events—intended as a tool for tracking resources and meeting the needs of each event, like room setup, cleaning, and audio-visual equipment.
  • event pages, which provide a stable link to each event. On an event's event page, event organizers can submit requests for resources for their event, which administrator users can approve or edit.

The app is designed to interact with a minimal REST API, and can run on any server environment which implements one. (See the github documentation for more details about that.) The distribution includes an example server implementation using Node.js, Express, and MongoDB.

This project is in early development.

view interactive demo view project on github
Acrobat Mailmerge an Acrobat Javascript extension for variable data printing

If you've ever had the occasion to send a letter to a thousand different people, you likely know what a mailmerge is—a functionality in MS Word and other word-processing software, also known as variable data printing, that allows a template document to be filled in with data from another source, allowing for automation of tasks such as, for example, printing a thousand envelope labels from a list of addresses.

Unlike Word documents, however, .pdf documents are (generally speaking) not editable, and Adobe Acrobat has no support for word processing features like mailmerging. So, if you want to mailmerge anything to a .pdf document, the only way to do that is to create and save a different .pdf file for each address, like an animal.

The Acrobat Mailmerge script adds that support by making creative use of Acrobat's form fields, updating them with data from a .csv file and silently printing each document using the default printer settings.

view project on github