Eirik Vullum

Eirik Langholm Vullum

JavaScript Consultant and Trainer

About me

I love to think and learn. Most of the time I'm either thinking about how to solve some problem, how to improve some existing solution, creating some prototype, fixing things that aren't broken or tinkering with old cars.

I love building systems, managing complexity and keeping things simple - especially in the context of solving real problems for real users. I also very much enjoy teaching others how to do the same thing.

Functional approaches are fun and JavaScript (TypeScript) is my superpower.

Reasoning from first principles.

Key Skills

  • TypeScript
  • Node.js
  • React
  • Redux

Favourite Tools

  • VSCode
  • Iterm2
  • Chrome
  • console.log

Other things i find useful

  • Plotly
  • Redux Saga
  • PostgreSQL
  • MongoDB
  • RethinkDB
  • Redis
  • Git
  • Unit Testing
  • React Native
  • Firebase
  • Event Sourcing
  • CQRS
  • Web Scraping
  • Content Parsing
  • Socket.io
  • Heroku

Professional Roles

Eirik Vullum Consulting

December 2012 - Current

Consulting, development, speaking and training.

Tech Lead at Scandinavia Online AS

April 2015 - August 2016

Full Stack Developer.

Senior Developer at Scandinavia Online AS

April 2014 - October 2014

Full Stack Developer.

Acoustic Engineer at Lifetec AS

February 2012 - April 2014

Acoustic Engineer responsible for noise control projects, mainly towards the offshore industry.
Additional responsibilities: IT manager

Process operator at Hydro Aluminium ASA

Summer Intern 2004-2005 and 2007-2011

Process operator responsible for forklift and crane operations.

Student / Teaching Assistant at NTNU

Spring 2011 · Fall 2010 · Spring 2009 · Spring and Fall 2008

Teaching Assistant in "Digital Techniques and Circuits".
Student Assistant in "Object Oriented Programming" and "Electronic Cicuits Laboratory".

Projects / Consulting

SideShift AI

Consulting and development

Web interface for product. Build with node.js, React, Redux and GraphQL.

NMS3000 - TSAT AS

Consulting and development

Full stack interface for hardware product. Backend with node.js, Postgres, Influxdb, React and Redux.

Delivery Platform - Fetch AS

Consulting and development

Full stack MVP platform for delivering anything. Backend built in node.js, frontend built with React.

Aurora Content Platform - Sol.no

Commercial / Open Source Project

A platform for assembling content focused applications using declarative configurations. Modular solution with the ability to plug in any CMS or content producing solution to assemble and render your application.
- Github here!

Toppsaker.no

Commercial Project

Prototype / MVP project to enable you to create your own live dashboard to follow the latest news from your favourite sources. Built with React, React Native, node.js, streams and Web Sockets.
- Get iOS app here!
- Check website here!

SOL.no (mobil.sol.no)

Commercial Project

Completely new mobile solution with an isomorphic React.js app, REST API's and a custom parser. Scalable backend using node.js, Redis and MongoDB.
- Get iOS app here!
- Get Android app here!
- Check mobile website here!

Talks given

Charting with Plotly.js

DevCon Cognite · June 2022

A talk about using Plotly.js for charting in React and the challenges involved in making it performant.

Pushing it to the edge

NDC Mini Copenhagen · February 2017

A talk about pushing side-effects to the edge - separating the "what" from the "how".
- Video here

Pushing it to the edge

ReactJS Oslo Meetup · October 2016

A talk about pushing side-effects to the edge - separating the "what" from the "how".

Taming Asynchronous JavaScript

Node.js-Oslo Meetup · Feb 2015

A talk about the different possibilities of getting to grips with asynchronous JavaScript.
- Code material here

Workshops and Courses held

Brights Academy - C# Spring Oslo 2023

Brights Learning · Spring 2023

Teacher for multiple sections (HTML / CSS / JavaScript / React) of a 12-week bootcamp in full stack C# in Oslo, Norway

Summer Intern Mentoring

Gyldendal · Summer 2022

Mentoring summer interns in TypeScript and React

Summer Intern Mentoring

Gyldendal · Summer 2021

Mentoring summer interns in TypeScript and React

Academy - JavaScript Spring Oslo 2021

AW Academy · Spring 2021

Teacher for multiple sections (HTML / CSS / JavaScript / React) of a 12-week bootcamp in full stack JavaScript in Oslo, Norway

Academy - Java Fall Trondheim 2020

AW Academy · Fall 2020

Teacher for the frontend sections (HTML / CSS / JavaScript) of a 12-week bootcamp in full stack Java in Trondheim, Norway

Academy - Java Winter 2020

AW Academy · Winter 2020

Teacher for the frontend sections (HTML / CSS / JavaScript) of a 12-week bootcamp in full stack Java in Oslo, Norway

Academy JavaScript

Academy AB · March 2019

2 weeks of JavaScript and React as part of a 12-week bootcamp program in Stockholm, Sweden

React In Production

Heydays AS · December 2018

Workshop for Heydays AS focusing on the challenges associated with React in a production setting

Functional Frontend Workshop

Miles AS · October 2018

2-day Workshop for Miles AS at MilesCamp Stavanger focusing on functional frontend development with JavaScript

JavaScript For Developers

Skatteetaten (Norwegian Tax Department) · August 2018

3-day Functional JavaScript development course in Oslo

JavaScript For Developers

Skatteetaten (Norwegian Tax Department) · April 2018

3-day Functional JavaScript development course in Oslo

JavaScript for Developers

NDC Training (Programutvikling AS) · August 2017

2-day Functional JavaScript development course in Oslo

React in the Real World

NDC Training (Programutvikling AS) · June 2016

4-day Webpack, React and Redux development course in Oslo

React in the Real World

NDC Training (Programutvikling AS) · May 2016

4-day Webpack, React and React Native development course in Oslo

React Workshop NDC London

NDC Training (Programutvikling AS) · January 2016

1-day React web development workshop at NDC London

React in the Real World

NDC Training (Programutvikling AS) · November 2015

4-day Webpack, React and React Native development course in Oslo

React Workshop

NDC Training (Programutvikling AS) · May 2015

2-day React workshop in Oslo

Open Source Projects

ScreenFetch.me

Needed it - Didn't exist - Made it

Saving full webpage screenshot directly to Dropbox from any device made simple with a bookmarklet service.
- Get it here!

json-populate

Open Source Project

Tool for populating JSON data with infinitely recursive circular references. Sort of like Falcor, but for plain JSON.
- Fork me at github!
- json-populate on npm

interprit

Open Source Project

Interpreter and effects engine (think redux-saga, except on steriods with erlang actor and golang error handling semantics)
- Fork me at github!
- interprit on npm

object-transform

Open Source Project

Transform objects in a stream pipeline, the functional declarative way.
- Fork me at github!
- fp-object-transform on npm

collectify

Open Source Project (wip)

Functional streaming news aggregator for fun and learning
- Fork me at github!

interprocess-pull-stream

Open Source Project (wip)

Streaming interface between processes for node.js, using Redis. Built in backpressure. Kind of implements a small subset of AMQP.
- Fork me at github!

interprocess-push-stream

Open Source Project (wip)

Streaming interface between processes for node.js, using Redis. Kind of implements a small subset of AMQP.
- Fork me at github!

volatile.me

Open Source Project / Web Service

Send ephemeral messages on the web by sharing a link.
- Fork me at github!

hoardr.in

Open Source Project / Web Service

DIY clone of Pocket (and other "read it later" services). A 2-day summer challenge :-)
- Fork me at github!

spotipi

Open Source Project

DIY Spotify "Chromecast" with a Raspberry Pi.
- Fork me at github!

congregator-sitescraper

Open Source Project

Template based website scraper. Uses JSON templates as input and gives you structured data in return.
- Fork me at github and make your own kimono!
- sitescraper at npm

congregator-rssreader

Open Source Project

Template based rss/atom-parser. Uses JSON templates as input and gives you structured data in return.
- Fork me at github and make your own feedly!
- rssreader at npm

congregator-jsonfetcher

Open Source Project

Template based JSON end-point mapper. Uses JSON templates as input and gives you structured data in return.
- Fork me at github

maelstrom

Open Source Project

Distributed system prototype. Enables real-time distribution of data between processes and clients. Built with node.js, express, mongodb and redis (pub/sub).
- Live demo
- Fork me at github

eventflyt.no

Web Service

A web service that enables you to create live slideshows from social media, by subscribing to hashtags. Integrated payment system with automatic crediting. Built with node.js, express, oauth, socket.io, redis, jquery, bootstrap and mongodb. Hosted at heroku.com.

picturegr.am

Web Service

Search engine and web viewer for Instagram, with Google Maps integrations. Built with nodejs, express, oauth, redis, jquery, bootstrap and mongodb. Hosted at heroku.com

flytr.no

Web Service

A web service that gives you real time updates from Instagram for a chosen hashtag or location. Built with node.js, express, oauth, google maps api, jquery and socket.io. Hosted at heroku.com.

twitterflyt.no

Web Service

A web service that gives you real time updates from Twitter for a chosen hashtag or keyword. Built with node.js, express, oauth, jquery and socket.io. Hosted at heroku.com.

Tech Involvements

ReactJS Oslo Meetup

November 2015 - 2017

Co-organizer

NDC London 2017

Agenda Committee

NDC London 2016

Agenda Committee

Education

NTNU, Trondheim, Norway

MSc. Electronics · 2006-2011

Majoring in multimedia signal-processing and acoustics.
Masters Thesis: "Real-time Velocity Matched Doppler Spectrum by GPU Implementation".

University of California, San Diego, California

Extension program · Spring 2010

Mainly electronics and photonics courses.

HMKG Drill platoon, Oslo, Norway

Driller 2005-2006

Driller in His Majesty The King's Guard 3. company.

Sunndal Upper Secondary School, Sunndalsøra, Norway

Arts and Sciences 2002-2005

Majoring in Sciences.

Other Involvements

UKA11 (student festival)

Trondheim, Norway · 2011

Sales Associate

E&T committee, IME faculty

NTNU, Trondheim, Norway · 2010

Co-responsible for E&T-day, as well as excursion trip for class of 2011

Courses taken

Basic Safety Course, Offshore

Falck Nutec, Nesodden, Norway · 2012

Adobe Photoshop, Basics Course

Tekna, Trondheim, Norway · 2010

HSE Certification Course

Hydro Aluminium, Sunndalsøra, Norway · 2004