Web architect, API developer
- Last update: May 17th, 2022.
- Location: Toronto, ON, Canada.
- Contact: firstname.lastname@example.org.
My name is Evert, and I’ve been professionally programming for 18 years. I’ve been consulting for a wide range of companies, from startups to telcos, financial services and national broadcasters.
I’m especially interested in API design, implementing better engineering practices, scalability problems and application architecture. I served as CTO or technical leadership in most of the companies I’ve worked at.
In 2019 I started a software development agency (Bad Gateway), which is now my main focus.
- Blog: https://evertpot.com/
- Github: https://github.com/evert/
- LinkedIn: https://www.linkedin.com/in/evert-pot-868746147
- Stack Overflow: http://stackoverflow.com/users/80911/evert
Founder at Bad Gateway, Toronto, 2019-now
In June 2019 I founded a software development agency in Toronto. Our team builds Web Applications and APIs for clients in a variety of industries.
My role includes running the company, architect, sales, support and recruiting. (Hopefully this list steadily decreases over time).
Software Engineer at Ascendant Digital, Cayman Islands/Toronto - 2018-2020
Ascendant Digital is a private investment firm, providing investors exposure to crypto currencies.
My role was to develop tools to help the company analyze the market, to build a system for tracking performance and reconsilation of different investment strategies and advise on information security.
To do this, I’ve built REST apis (primarily HAL) in Node.js and Typescript, browser-based frontends using React, integrations with tools such as Google Sheets and Dropbox and various serverless processes using the AWS ecosystem.
Initially I joined the team as a full-time position, but as my services became less necessary, my role became a fractional position allowing me to start my own agency.
Technical Lead at Yelp, Toronto/San Francisco - 2016-2018
In October 2016, I joined Turnstyle, a company in Toronto that does location- based marketing analytics.
My role there was to help drive the design and architecture of a REST API. We’ve used HAL, OAuth2, json-schema to drive the hypermedia API using NodeJS, ES6, ES7. On a docker-container infrastructure running on Amazon Web Services. I also helped mentor other developers, and act as a technical lead.
In April 2017 Turnstyle got acquired by Yelp, and I subsequently moved to San Francisco in October.
Although my role hasn’t changed that much, I helped onboard a quickly growing development team, and working with the needs and requirements of a much larger corporation, including integrating our existing systems and culture with Yelp’s.
Co-Founder/CTO fruux, Germany + UK — 2011 - 2015
In December 2011 I went full-time with fruux, which was a bit of a side-project at the time. We got a seed investment round, and opened the door to our office. As the technical lead I’ve been responsible for the technical and product direction, as well as leading the team from a technical perspective. Aside from that I’ve also got my hands dirty in some marketing and sales, and basically just stepped in where needed.
As a programmer I helped develop their synchronization system for personal information such as calendars, contacts and files. I acted as a liaison for the CalConnect calendar and scheduling standard consortium.
Consulting, worldwide — 2003-today
I originally incorporated at age 17 at the Chamber of Commerce in the Netherlands. I’ve been a consultant and freelancer pretty much at any point in my career where there’s gaps between jobs.
I’ve had the opportunity to work in telecommunication, social media, group ware, advertising, broadcasting, financial service companies in Australia, Portugal, Canada and The Netherlands, and remotely worked for various other companies from North America, Europe and Asia.
Software engineer, Ibuildings, Utrecht, Netherlands — 2010-2011
Lead architect/owner, Filemobile, Toronto, Canada — 2006-2014
After working with Filemobile as a contractor, I took on the job as lead architect. Being the first person on the payroll, I was given the task of making both the application and business scalable by hiring and managing new engineers and putting development processes in place. For Filemobile, I developed a scalable social network and user-generated content whitelabel engine, working with Canada’s leading media brands such as CBC, CTV, Fox, TSN, CP24.
In this job I worked with PHP, complicated multi-master, MySQL setups (with geographic redundancy), Memcached, Amazon S3 and EC2 and I was responsible for developing a multi-core, multi-machine transcoding engine as well as leading the development team. Starting August 2009 I resigned as lead architect to continue my work as independent consultant, after that I was still involved in an advisory role and owner.
In late 2015 the company was sold to NewZulu, an Australian-based media company.
Senior Web developer/partner, Collab, Utrecht, the Netherlands — 2004-2006
Together with Collab I’ve got a taste of many experimental innovative software, such as real-time, multi-user rich internet applications including web video chat and media conversion. Using technologies such as Flash Communication Server (now Flash Media Server) and FFMpeg. In these 3 years I’ve worked with Dutch media and internet companies, such as NOS, BNN, Telegraaf/Speurders.nl, EasyConcepts, Netmasters and UDC/Dancevalley.
Application developer/Sys admin, V/d Veer, Surhuisterveen, The Netherlands — 2003
Developed and implemented a car inventory and lease database. The Database was based on Interbase, the front-end was built using Borland Delphi. I got this job as an intern, and I was forced to jump in and learn many technologies that were new for me at the time, such as SQL.
Junior sys admin/Tech support, Microdesk, Rijswijk, The Netherlands — 2001
This job involved many system administrator tasks, such as working with hardware, installing and preparing massive amounts of desktop machines and occasionally getting coffee for the more senior people in the company.
- English: advanced speaking/writing
- Dutch: advanced speaking/writing
- Frisian: advanced speaking
- German: basic speaking/writing
Things I’m good at but do not use every day (anymore)
PHP, WebDAV, CalDAV, CardDAV, Backbone.js, Atom, Less, Sass, YUI3, Flash Video, Apache, Nginx, Squid, CakePHP, Make, Golang.
C, Bash programming, Java, Python, Ruby.
(Q/GW)Basic, Delphi, Interbase, Turbo Pascal, x86 assembler, Actionscript, Podcasting, AMF, Flash-PHP interaction using Flash Remoting, FMS/FCS-PHP integration, Flix Encoder, XUL, Wowza Media Server, Lighttpd.
I’ve built and led several development teams, implemented development processes (where appropriate and keeps people happy). Teams consisting of people with various skills such as browser front-end developer, designers, Actionscript developers, DBA’s, Linux system administrators and backend-engineers. Experience in interpreting business requirements and communicating technical requirements.
- FlashInTO 2007, Toronto, Video conversion with FFMpeg.
- Flash In The Can 2007, Toronto, Flash Video LiveCycle: From User To Delivery.
- PHPBenelux Meetup 2011, Amersfoort, Netherlands: Integrating WebDAV in PHP applications.
- Dutch PHP conference 2011 - Amsterdam, Netherlands: RESTful webservices.
- Dutch PHP conference 2012 - Amsterdam, Netherlands: Backbone.js.
- OwnCloud contributer conference 2015 - Berlin, Germany: sabre/dav and Promises & Generators.
- True North PHP 2015 - Toronto, Canada: Promises & Generators. (slides)
- PHP Meetup, September 2016 - Toronto, Canada: Go for PHP programmers. (slides )
- True North PHP 2016 - Toronto, Canada: Making CSS fun again with Sass. (slides).
- True North PHP 2016 - Toronto, Canada: Introducing sabre/dav.
- Midwest PHP 2017 - Minneapolis, USA: Promises and Generators. (slides)
- React + Native Toronto - Using Ketting with React.
- TorontoJS, August 2020 - Building a Promise from scratch (video)
- Apidays New York 2021 - Introduction to HATEOAS with Ketting. (video)
- Best developer of the year - Canadian New Media Awards 2008
- Member of the PHP Framework Interoperability Group (http://php-fig.org/). Contributor to various PHP standards.
- Member of CalConnect, the Calendaring & Scheduling Consortium. Currently working on several documents that hopefully will become IETF RFCs.
I’ve been blogging on and off since 2006. Here’s some of my favourites:
- Performance testing HTTP/1.1 vs HTTP/2 vs HTTP/2 + Server Push for REST APIs (2020-01-02)
- The problems with embedding in REST today and how it might be solved with HTTP/2 (2017-04-03)
- REST is in the eye of the beholder (2016-07-26)
- PHP Sucks (2016-06-14)
- Save memory by switching to generators (2015-08-10)
- An XML library for PHP you may not hate. (2015-04-01)
- HTTP/2 finalized - a quick overview (2015-02-19)
- What's a link? (2015-02-03)
- Promises in PHP (2014-06-24)
- HTTP/1.1 just got a major update. (2014-06-07)
- On idempotence in HTTP (2013-11-01)
- New HTTP status codes (2012-05-04)
- My gripe with Prototype (2011-01-11)
- What happened to HTTP authentication? (2010-07-12)
- Guidelines for generating XML (2010-07-09)
- Filesystem encoding and PHP (2010-04-20)
- Indexing geo-data 3: In practice (2009-03-22)
- Indexing geo-data 2 : simple benchmark (2009-03-20)
- Indexing geo-data (2009-03-19)
- Site Security Policy (2008-06-06)
- Creating a Gopher server with PHP and InetD (2006-08-18)
Because of this, I’ve been published in both PHP Architect (a paper PHP magazine), and PHP Advent (now defunct series of articles).
Since 2007 I started working on an open source library that would be named sabre/dav. This project spawned a number of PHP libraries that are now widely in use for various purposes. The project site is http://sabre.io/. I’m still the lead maintainer for all of these projects.