Jon Packer

Web Developer

Hi! Here's some quick facts about me.

Education

Work Experience

2008 - Frontend Developer Intern at Creative Audio (now BIAMP)
2010-2011 - Web & iOS App Developer at Creative Intersection
(Moved to Norway 01/01/2012)
2012-2017 - Full Stack Developer & Partner @ BRIK

Technology Experience

I'm going to try and combine my experience and preference here in the one place. This is far from everything I've worked with, but it should give you and idea of what I like working with. I always enjoy learning new things, so if there's something missing here: I'm ready to learn.

Web Frontend

I can work with or without jQuery. I've been using Backbone in production for almost 5 years, and have a love/hate relationship with it. I have worked with React on a few personal projects, and would love to use it on something bigger. I prefer writing JavaScript without preprocessors, but am also very comfortable with CoffeeScript. I like pug for templating and stylus for CSS, but I can live without them.

Web Backend

Like many people, I started early on with PHP. In 2011 I discovered node.js and was a bit smitten. I've been using node on the backend for various projects since. Sometimes jobs call for other tools, and I've maintained my familiarity with PHP, working every now and then with Craft and WordPress. I have some passing experience with ASP.NET, Rust (Iron) and Ruby on Rails.

Within node, I've used express and koa a whole lot. I've used a lot of browserify in production, but not so much webpack.

Databases

SQL-based databases are a fact of life, I'm comfortable working with them and do so on a reasonably common basis (mostly MySQL).

I've spent a whole lot of time working with a Graph Database named Neo4j - I wrote and maintain a reasonably popular driver for it for node (seraph).

I have some experience working with Redis and MongoDB, and some passing experience with CouchDB.

Ops

I work with docker, nginx, varnish regularly, and I'm used to working with AWS. I'm comfortable in Unix-based systems.

Native

I wrote and published a few apps for iOS in Objective-C as a part of my first job. In the last few years I've written a couple of native iOS apps using Swift, and a tvOS app using Apple's JavaScript-based TVMLKit.

I've been spending a lot of time on a hobby project recently in React Native, and I'm really enjoying it.

Other

I'm proficient in using much of the Adobe suite, including Photoshop, Illustrator, Premiere, After Effects and Lightroom. I know how to use camera to shoot good quality video, and edit it using Premiere and AE.

Case Studies

I spend most of my work-time developing and maintianing BRIK's video system, but here are some other projects I've worked on as well:

Cottontails Bergen (source)


I designed and implemented the website for The Cottontails, a Swing-dancing club in Bergen. The site was written using node (express) on the backend, pug and stylus. I also experimented with having a databaseless website that used Contentful for static content that changes 1-2 times per year, and reads from Facebook's API in order to display events and news.

Seraph (source) & Seraph-Model (source)

Drivers I wrote and maintain for Node.js for the Neo4j database. This has been a long-running project that is widespread use at BRIK. Some pain-points have been tracking breaking updates to Neo4j, and the ever-changing landscape of node.js idioms (for example, migrating from callbacks to promises).

Norges Toppidrettsgymnas

ntg.no
Working at BRIK, I implemented NTG's new website, implementing a design from Sommerseth Design. The site was written using Craft (a PHP-based CMS), a small amount of JavaScript, and Stylus. As a part of the project, I wrote a custom Craft-plugin in order fetch social data using Facebook and Twitter's APIs.

Olympiatoppen

olympiatoppen.no
Also at BRIK, I designed and retrofitted a responsive design for Olympiatoppen. The challenge here was to create a design that worked with the very large amount of content and existing design. As a part of this project, I wrote jquery.tap.

MBCC Beer List (source)


I created an appcache-based progressive web-app for a beer festival I was visiting in 2016, and spent a lot of time expanding it for the same festival in 2017. It works as an offline beer list, or an app that shows real-time average ratings of other festival-goers and has background integration with social networks - depending on your level of internet access.

Makibot (source)


A fun side project to automate ordering sushi from a local sushi chain on slack. Runs on node.js.

Talks

I've done a couple of talks at our small shared-office conference that we organise twice a year, Revolverconf. You can see them here:

Neo4j

Service Worker

(YouTube videos hidden in print version)

Other

If you're after any other specifics, please don't hesitate to get in touch