Web developer with interest in user facing interfaces, real-time web apps and live streamable experiences. But also not afraid to mess with browsers on DOM API level.

Employment (& cool things made there)

  • Splunk

    (Senior Javascript Software Engineer, 2021-02)
      • # Typescript
      • # Open Telemetry
      • # Rollup
      • # Performance Timing API
      • # Resource Timing API
      • # rrweb
      • Development & maintenance of Open Telemetry JS distribution for gathering RUM data
  • Weekdone

    (Frontend Developer, 2019-12 - 2021-01)
    • Web app

      • # PHP
      • # Bootstrap

      Development and maintance, bringing optimisation concepts from SPAs to improve performance for larger users (virtualised lists, lazy loading, ...)

    • Mobile app

      • # React
      • # React Native
      • # Typescript

      Mobile app rewrite in react native

  • Plumbr

    (Software Programmer, 2016-12 - 2019-11)
    • Browser Agent (Real User Monitoring)

      • # Javascript
      • # Mutation Observer
      • # Performance Timeline API
      • # Resource Timing API
      • # Rollup
      • # Buble
      • # Selenium
      • # theintern.io
      • Website performance monitoring snippet that gathers loading timings of resources on the page
      • Full support for dynamic websites & SPAs without any framework-specific configuration
      • Testing across different browsers using selenium grid & combination of docker & virtual machines (IE 11)
      • Basic test apps in multiple frameworks to ensure support across frameworks
      • # PHP
      • # Wordpress
      • # Roots.io
      • # jQuery
      • Development & maintenance of public website built on wordpress.
      • Started with outsourced template that was mostly hardcoded
      • Conversion into using roots & more editable in wp-admin over time.
      • # AngularJS
      • # Vue.js
      • # SVG
      • # Webpack
      • # Babel
      • # Jest
      • Development on the primary UI of the product
      • Tooling from gulp scripts to full webpack configuration
      • Incremental conversion from AngularJS to Vue.js after it became phased out

      Images

      • # CUXR
      • # PHP
      • # Laravel
      • # Vue.js
      • # Nuxt.js
      • # PWA
      • Visualisation of data from Chrome User Experience Report
    • Internal Tooling

      • # Node.js
      • # FeathersJS
      • # Vue.js
      • Internal tooling for development & debugging

Other Projects

    • # PHP
    • # Bolt CMS
    • # Windi CSS
    • # Turbo
    • Website for a game company working on content for minecraft and tabletop experiences
    • Different brandings based on content (yellow for tabletop RPGs, pink for minecraft content)
    • Content managed via CMS (Bolt) by company owner

    Images

    • # npm package
    • # Typescript
    • # OBS
    • # websocket

    Maintance of obs-websocket javascript client library starting from v5 release

  • Pod Knight

    t2t2/pod-knight
    • # Node.js
    • # FFmpeg
    • # S3 API
    • Custom CLI tool to cut a live stream recording into shorter clips using ffmpeg, generating podcast optimised files and uploading them to S3-compatible storage
    • Automatically posts status updates to discord via a webhook, allowing for fully-remote teams to know when files are ready

    Images

    • # PHP
    • # Processwire
    • # Windi CSS
    • # Turbo
    • # RSS
    • Updated website for a reboot of a podcast
    • Customised website structure to match the new concept of the show (1 episode = 3 parts)

    Images

    • # Vue.js
    • # Open Broadcaster Software
    • # obs-websocket
    • # Websockets
    • # Tailwind CSS
    • Web app to control OBS (Open Broadcaster Software) from other devices using obs-websocket
    • User interface optimised for touch devices (tablet, phone), inspired by video switching hardware controls used in real studios

    Images

    • # Vue.js
    • # SCSS
    • # Bulma
    • # Google Spreadsheet
    • # Google Form
    • Web page to show standings in fantasy movie league where 6 teams auction off upcoming movies and score based on US domestic income (ticket sales)
    • Data is fetched from a published google spreadsheet, parsed and reformatted
    • Custom form with validation to submit entries into a google form
    • # PHP
    • # Laravel
    • # Vue.js
    • # SCSS
    • # Bulma
    • # YouTube API
    • # Twitch API
    • Site to feature content (youtube shows, podcasts, livestreams) of roughly related group of shows
    • Videos automatically pulled from youtube uploads of monitored channels
    • Live streams checked from both YouTube and Twitch

    Images

  • Draftraptor

    t2t2/draftraptor
    • # Node.js
    • # FeathersJS
    • # Websockets
    • # Vue.js
    • # SCSS
    • Web app for auctioning off items in an auction format fantasy game
    • Real time bidding over websockets that supports multiple players per team
    • Extra support for % share of ownership when bid hits the maximum amount of money

    Video of it in use

    Images

    • # PHP
    • # Bolt CMS
    • # Webpack
    • # YouTube API
    • # Twitch API
    • Homepage for youtube content network Mindcrack
    • CMS configuring (content types), automatic updating youtube views/subscribers/videos numbers (per person and total), webpack setup
    • Design by Matthew Fraser

    Images

  • DKG Game Show

    • # Node.js
    • # Socket.IO
    • # Open Broadcaster Software
    • # Ractive.js
    • # MaterializeCSS
    • Gameshow made for twitch livestream featuring full interface for hosts, players and video overlay
    • Video overlay based on active OBS scene and segment of the show
    • Died after google spreadsheets couldn't generate the json configurations used by the show anymore (could have optimised it by a lot)

    Video of episodes (May include crude language)

    Images

    • # PHP
    • # Processwire
    • # RSS Feed
    • # Zurb Foundation
    • # Podcast
    • # FFMpeg
    • Website & hosting for Night Attack show/podcast
    • Custom rss feed generation
    • Bash scripts to generate multiple versions (HD Video, LQ Video & mp3) of each episode with ffmpeg

    Images

Education

  • BSc Univesity Of Tartu, Estonia

    Information Technology

    2011 - 2014

Stack most ❤ right now

as of Feb 2023

  • Frontend
  • Typescript
  • Vue.js (SPA)
  • Tailwind.css/Windi (heavy styling)
  • Vite
  • Backend
  • Laravel (sites w/ REST backend)
  • Bolt CMS (sites w/ CMS)
  • Feathers.js (real-time sites)

👀 Some interest in

  • React
  • Static generated sites

🤷‍♂️ Used, is alright

  • Bulma
  • Bootstrap
  • Processwire
  • Webpack
  • Babel

😒 Have used but...

  • Angular.js
  • Wordpress

💬 Human languages

  • Estonian (native)
  • English (highly proficient)