Ian

Marcinkowski

I started my career as one of the technical co-founders of PrimeContact, a political campaign services polling firm used by major parties and candidates in Canada.

PrimeContact eventually grew to become Peerly, the most innovative platform for political, N.G.O. messaging in North America, where I have returned after a 10-year hiatus learning professional software development practices at some cool Toronto companies.

Peerly

Staff Developer

January 2022 — Present

Peerly grew out of PrimeContact, the company where I started my career as technical co-founder, into the most innovative platform for political, NGO messaging in North America.  I returned at the request of my friend, the CEO, to accelerate our platform.

  • Design our first AI/LLM feature for voter sentiment analysis, question answering using Python, LangChain, Pinecone Vector DB
  • Migrate production MySQL database to Google Cloud
  • Architect robust video encoding pipeline used by 64% of jobs executed on our platform to withstand 2022 US midterm election traffic surge
  • Build out monitoring, alerting with Grafana, Prometheus, Google cloud tools
  • Implement training plan for Peerly’s first junior developer, focusing on TypeScript fundamentals

Nulogy

Senior Full Stack Developer, API & Platform Teams

August 2018 — December 2021

As a member of Nulogy’s API team I helped add public APIs to our Rails monolith, integrate third-party vendors, and build the initial implementation of Nulogy’s data warehouse. I was fortunate to be a part of the following projects.

  • R&D for data warehouse using Kafka, Snowflake
  • Add GraphQL to Nulogy’s Ruby on Rails monolith
  • Build integration microservices for third-party vendors using AWS Lambda
  • Productionize beta version of TypeScript multi-vendor reporting framework designed by Nulogy’s architects
  • Conduct 50+ technical interviews, mentor developers in pair programming and test driven development
  • Integrate Mulesoft with Nulogy’s platform, work closely with customer, external Nulogy team on first integration

FreshBooks

Full Stack Developer

December 2015 — August 2018

FreshBooks provides SMBs with simple accounting and invoicing. I had broad learning experiences during my time, often getting to work on exciting new initiatives.  As part of a highly performing Agile team, I participated in the launch of many new features.

  • Built customer webhook system to publish events
  • Built Google GSuite integration focusing on usability for SMB customers
  • Participated in multi-team refactor of Freshbooks core accounting journal ledger logic used by every customer on the platform
  • Plan improvements to our front-end application as a member of our EmberJS Circle
  • Build new Jenkins CICD tools as a member of the DevOps “tiger” team
  • Member of Inclusivity Circle, our DEI committee

Beanfield MetroConnect

Software Developer

April 2012 — December 2015

I was part of a small team of developers building Beanfield’s in-house ERP, network provisioning, and billing tools. These supported the sales, network operations and customer management teams for Toronto’s fastest-growing indie fibre ISP.

  • Build features for network provisioning, sales and CRM tools using Python Flask/Pyramid
  • Architect customer WiFi settings portal for Beanfield’s launch of Toronto’s first fiber-to-the-home internet service
  • Built firmware management tools for fibre modems
  • Train and mentor junior developers

PrimeContact

Technical Co-founder / Architect

May 2005 — April 2012

I was one of the founding members of PrimeContact, a political campaign services and polling company used by the major parties and candidates in Canada.

PrimeContact eventually grew to become Peerly, the most innovative platform for political, NGO messaging in North America.

  • Architect electoral polling data warehouse software for use in Canadian and US elections (MySQL, Python, PHP)
  • Built customer portal to streamline invoicing, ordering and delivering final results to campaign staff (Python Django)
  • Built payroll system for use by 250+ temporary workers during Canadian election surge periods (MySQL, Python)