Profile photo

Darko Kukovec ๐Ÿช

About me

๐Ÿ‡ญ๐Ÿ‡ท Zagreb, Croatia
Infinum - JavaScript Team lead
I'm a JavaScript Team Lead at Infinum, spending my time mostly making web, hybrid mobile, and sometimes desktop apps. In my free time, I experiment with Node.js, browser extensions and everything else JavaScript related. I love to use Backbone, React and MobX, like trying out new things and am a firm believer in Atwoods law.

Specialities: JavaScript, TypeScript, Webpack, React, MobX, Backbone, Node.js

Interests: Machine learning, AI in general

Talks

Taming JSON API with MobX

TBD

JSON API is a quite good specification - it gives you a structured way to communicate with the API without any major bikeshedding. However, JSON API is also a complex specification with a lot of small but important details. This is a story about how we went head to head with JSON API and won.

Keeping React on a tight leash with MobX

Infinum JS Talks #6 [Slides]

React is a great view layer, but if you want to create something more than a simple TODO app, youโ€™ll need some other parts. First of all, youโ€™ll need a data structure and a way to handle the changes in it. It is here that the state management libraries come into play. There are plenty of state management libraries out there, like Redux, Flux, and Relay. Iโ€™ll talk about why we at Infinum chose MobX, and what weโ€™re doing to make development with it even better.

Lightning talk: Using Webpack with ${backendTechnology}

Infinum JS Talks #4 [Video] [Slides]

Webpack is great, but what if you're working with backend technologies like Ruby on Rails? Fear not, because we'll show you how to configure Webpack so it can play nice with other backend technologies.

Making React part of something greater

Webcamp Zagreb 2016 [Video] [Slides]

React is a great view layer, but if you want to create something more than a simple TODO app, youโ€™ll need some other parts. First of, youโ€™ll need a data structure and a way to handle the changes in it. Although the most simple way to do it could be to take parts of a framework youโ€™re used to (e.g. Backbone Collections/Models), there is something better out there. First, there was the Flux architecture, made by Facebook itself - it forced us to change and consume our data in a certain way in order to prevent developers from shooting themselves in the foot. Then there was Redux - a state container that preaches immutability and time travel. While Redux is great, and enables us great things like hot module reloading, it is also very strict and introduces a lot of boilerplate code. MobX, on the other side, has almost no boilerplate code, can be strict when/if you want it to be, and gives you a nice performance boost for free.

Always look on the evergreen side of life

Infinum JS Talks #1 [Video] [Slides]

In the recent months and years, we got to play with a lot of new shiny features - provided either by a standards body like ES2015, or by preprocessors like SASS. During that time, we got used to the transpilation step where we would make our โ€œcode of the futureโ€ work in all the browsers we need to support. But now, new times are upon us: the web platform is becoming evergreen...

CSS Modules

Frontman Zagreb Meetup #8

Did you ever give the same name to two CSS classes by accident and the whole web page broke? CSS Modules are a new approach that tries to solve this issue. The idea of CSS Modules is that every class is local unless we define it otherwise.

Multiplatform app development

Do nosu v blatu [Video] [Slides]

The concept of developing mobile applications in web technologies is great because it will work on multiple operating systems. But there is also the desktop platform, which still plays a significant part, in which you can also develop with web technologies. In this talk, I'll present you what lessons we learned by developing hybrid apps that work on multiple desktop and mobile operating systems. The talk will cover our choice of wrappers and why we're using them instead of the alternatives, what tools and practices were used to build maintainable apps, and automation tools that make our jobs much easier.

Web technologies in desktop development

Webcamp Zagreb 2013 [Video] [Slides]
BerlinJS Apps, February 2014 [Slides]

With web apps gaining popularity an idea was born to make an web app in an native web view and so the hybrid app was born. While talking about hybrid applications today, people tend to think only of the mobile apps. This talk will instead concentrate on hybrid desktop apps: what wrappers are available, which features they offer and my experience with node-webkit.

Blog posts

Squeezing Webpack into backend frameworks

If you ever made a website, it probably contained some assets like images, CSS and JavaScript. In order for a page to be fast, itโ€™s a good idea to concatenate all your JavaScript assets into one file and all your CSS assets into another. Caching might also be trickyโ€ฆ

Web Components - building blocks of the future web

Every now and then a technology comes out that changes the web landscape. In 2008, Google announced Google Chrome, a simple but fast and powerful browser. Around the same time, HTML5 started to emerge and gave us access to a lot of new features. Now it's time to embrace another new technology called Web Components.

Open source

webpack-canary

Canary tooling for checking webpack dependencies against specific webpack versions

MobX store devtools

Connector between Redux DevTools Extension and mobx-collection-store/mobx-jsonapi-store

Hobbies

Travel

Countries (22):
Business (๐Ÿ’ผ) or pleasure (๐Ÿน)
  • Austria ๐Ÿน
  • Belgium ๐Ÿน
  • Bosnia and Herzegovina ๐Ÿน
  • Cayman Islands ๐Ÿ’ผ
  • Czech Republic ๐Ÿน
  • Denmark ๐Ÿน
  • Estonia ๐Ÿน
  • Finland ๐Ÿน
  • France ๐Ÿน
  • Germany ๐Ÿ’ผ ๐Ÿน
  • Hungary ๐Ÿน
  • Italy ๐Ÿน
  • Jamaica ๐Ÿ’ผ
  • Malta ๐Ÿน
  • Mexico ๐Ÿ’ผ
  • Netherlands ๐Ÿน
  • Slovenia ๐Ÿ’ผ ๐Ÿน
  • Spain ๐Ÿ’ผ
  • Sweden ๐Ÿน
  • United Kingdom ๐Ÿ’ผ ๐Ÿน
  • United States ๐Ÿ’ผ
  • Vatican City ๐Ÿน
Airports (15):
  • Zagreb, Croatia
  • Copenhagen, Denmark
  • Helsinki, Finland
  • Berlin Tegel, Germany
  • Frankfurt, Germany
  • Munich, Germany
  • Bremen, Germany
  • Hamburg, Germany
  • Malta International Airport, Luqa, Malta
  • Schiphol, Amsterdam, Netherlands
  • Madrid Barajas, Spain
  • Jerez, Spain
  • Stockholm Arlanda, Sweden
  • Southampton, United Kingdom
  • George Bush International Airport, Houston, United States
Cruise ships (4):

TV shows

Favorite active shows:
  • 8 out of 10 Cats Does Countdown
  • Archer
  • Arrested Development
  • Brooklyn Nine-Nine
  • Last week tonight with John Oliver
  • Marvel's Daredevil
  • Marvel's Jessica Jones
  • Saturday Night Live
  • Stranger Things
  • The daily show with Trevor Noah
  • Travelers
Favorite ended shows:
  • 30 Rock
  • Ascension
  • Chuck
  • Community
  • Dexter
  • Dollhouse
  • Firefly
  • Futurama
  • Gravity Falls
  • Leverage
  • MythBusters
  • Orphan Black
  • Parks and Recreation
  • Scrubs
  • Seinfeld
  • The IT Crowd
  • The Newsroom
  • The Office

What I use

Hardware

  • Macbook Pro 13" (late 2016, without touchbar, 16GB RAM, Intel Core i7)
  • Samsung Galaxy S9+
  • Huawei Watch (1st gen)
  • Sennheiser MM 550-X