Patrick Kaipainen

Full-stack developer

👨🏻‍🔧 Bio

I'm an inquisitive full-stack developer. I love seeing how all the pieces fit together to create a whole, and a part of me always wants to take a look at how some taken for granted feature is implemented under the hood.

As a former visual artist and instructor at Western University, I bring an intuitive feel for design, a soft touch, and a sensitivity to the non-technical aspects of production. From my time as a licensed electrician, I've imported an ability to solve logical problems honed by troubleshooting circuits, and a 'nothing personal' philosophy when it comes to receiving critical feedback.

I am open to full-stack and front-end opportunities.

☎️ Contact

👨🏻‍💻 Experience

Electrical Trades Job Calls Database Dashboard

React Chart.js Data Visualization CSS in JS

January 2021 - Present

Built with Chart.js and React.js this dashboard displays trends in demand for the various different trades represented by the IBEW in Toronto, giving the user an at-a-glance index into construction activity in the city.

Electrical Trades Job Calls Database API

PostgreSQL Node Express Scraping

November 2020 - Present

Using Puppeteer I built a scraper that populates an archive of jobs available to members of the Electrical Workers Union in Toronto. After parsing the DOM the scraper archives the daily job call information in HTML and JSON files.

A separate script reads each JSON file, performs some validation, and inserts the data into a PostreSQL database.

Information about jobs for specific member classifications and electrical contractors is returned from a server built with Express.js, which handles requests to several endpoints.

React Pixel Text Renderer

React Webpack Babel NPM

November 2020 - Present

A reusable React component that renders a string to a canvas element. The output can be customized in several ways by passing props to the component. A companion utility, the Pixel Character Editor can create, read and update user customized character definition files in JSON format.

Canvas Destroyer

Algorithms Canvas API Vanilla Javascript HTML / CSS

January 2021

An image processing script that directly manipulates the pixel data of two images to insert a 'secret' image into a background. The pixel data of the background is mapped into a new context, the width of which can be varied. When the width of the new context does not match that of the original image, the resulting picture resembles television 'static.' When the width of the new context does match the original, the picture resolves.

The 'secret' image gets inserted into the pixel array of the background, but the point at which it will resolve can be modified. The result is a kind of parallax effect where a different image will be visible depending on the width of the new context the data is mapped into.

Course Instructor at Western University

Teaching Mentorship

2010 - 2012

I guided students in the development of their own creative practices as a contract faculty member at the Western University Visual Arts Department. This included technical instruction in photography, photoshop, and Adobe Creative Suite, discussions around art theory, and facilitation of 'critiques' - loosely structured open forums in which students present their work to peers and faculty. The purpose of these conversations is a kind of discovery process that can illuminate new paths forward on the student's creative journey.

📚 Education & Licenses

Master of Fine Arts

2009 Western University

Bachelor of Fine Arts

2007 York University

Summa Cum Laude

309A Construction & Mainentance Electrician

2019 Ontario

📚 Courses

The Complete Web Developer in 2020

Zero to Mastery Academy


Harvard edx

Fullstack Advanced React and GraphQL