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-2018 - 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 couple of small 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 spent some time on a hobby project recently using React Native, and I've enjoyed it, but I wouldn't say I'm experienced with it yet..

Other

I'm proficient in using much of the Adobe suite, including Photoshop, Illustrator, Premiere, After Effects and Lightroom. I would say that I'm "very proficient" at Photoshop, After Effects (including expressions) 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.

VinmonopoletDiff (source)

A small website that reads Vinmonopolet's API and diffs beer product lists for individual stores from hour to hour. I wrote this in late 2017 when Vinmonopolet started doing frequent silent beer releases at their beer-focused stores. It was upgraded and made public in 2018.

Makibot (source)


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

Design: Cottontails Danseklubb

I have made a few different logos, done some photography, created a hand-lettered wordmark and a few posters for The Cottontails in Bergen (where I'm an active member and instructor). Here are a few examples:

Cottontails Poster Image (wordmark hand lettering, photograph):

(Image hidden in print version)

Poster, Swingin' in the Rain 2017 (vector art and reference photography) :

(Image hidden in print version)

Poster, Learn to Dance Lindy Hop 2015 (art and photography):

(Image hidden in print version)

Video Work: Olympiatoppen & BRIK

I've done some video work for BRIK and Olympiatoppen (through BRIK). This involved some reusable titles and interstitial titles for Olympiatoppen, and some promotional video production for BRIK.

Demoreel, titles for Olympiatoppen (titles design, animation and expressions in After Effects):

(Vimeo video hidden in print version)

Promotional video for BRIK (lightning, audio, camerawork, editing and grading in Premiere):

(Vimeo video hidden in print version)

Talks

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

Neo4j

Service Worker

CSS Grid

CSS Units

(YouTube videos hidden in print version)

Other

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