gkparkinson / centipede

web development + system design thinking

What I Do

Among other things, I design and build web applications. This means a lot of what I do is research and experiment with technologies and techniques for delivering and managing user-facing information systems in the browser. The research and experimentation is important as it provides the basis for selecting the best of technical options (‘best’ meaning most suitable to circumstance) to actually design and build systems for people and organizations that need them. I am entirely JavaScript and primarily front-end focused, but I have been building back-ends and APIs for a long time too.

Since web information systems are, by nature, user-facing, the most urgent problem to solve is usually not the technical foundation but what the owner of the system needs to communicate or enable and what the users of the system need to know or do. So, while I do a lot of coding, I also do a lot of listening, talking, and thinking about purpose, intent, objectives, and meaning.

I am always interested in new projects, large or small, simple or complex, focussing on design or development. I am also happy to help think about problems or requirements that are not well understood. If you would like to chat, send me a note.


Technologies & Platforms

Things move fast in the world of web technology. I‘ve been doing this for a long time and paradigms, best practices, and available options have changed more or less constantly and dramatically. I used to list skills and tools, products and frameworks, but it isn‘t clear whether there is any point in doing that anymore — or how best to do so...

To give some substance to the subject I'll settle for some dense prose rather than a list: I have, in the old days, built static html sites by hand; I have built reactive JavaScript driven sites with jQuery and other early libraries; I have built sites using monolithic, database-backed Content Management Sytems like Drupal and Wordpress; I have built Single Page Applications with React, Vue, and Angular; I have built static and dynamic sites with Static Site Generators like Eleventy, Gatsby, and Astro; I have built JAMstack sites with Gatsby and Astro that are decoupled front-ends for back-end CMSs like Drupal. To support many of these I have built Node based custom CMSs, servers, and APIs and have used relational, document, embedded, KV, and hybrid databases for persistence. I have also worked with a fairly wide range of cloud compute and storage services from AWS and Google; VPS and storage services from Digital Ocean; build, deploy, and serverless functions services from Gatsby/Netlify, CloudFlare, and others. Finally, I‘ve been using Git for years; I mainly rely on GitLab for repo management, issue tickets, and CI/CD.

This site uses Astro.js for front-end design and build, GitLab for source management, and CloudFlare Pages for automated build/deploy/hosting.

logo

Location: Toronto, Ontario, Canada

Email: [email protected]

I don’t maintain a portfolio... I've been around a long time and there’s just too much stuff to bother with. Also, a lot of my work has been on prototypes or intranet systems that are not publicly visible.

I have worked on projects for OCASI, Caledon Community Services, Wrks, Genworth Canada, OMDC, Nikon Canada, CPA Canada, Science Alberta Foundation (Wonderville), Vonage Canada, and many small and medium sized businesses. I also have a couple of service products in long-running private beta, hopefully available for public use soon.