WebCamp Zagreb is a technology oriented conference for developers & designers taking place on 11th & 12th October 2019 in Zagreb, Croatia.

Wednesday 9th October 2019

09:00 Build your design system from scratch
Workshop by Ivana Milicic in Bizzon (8 hour)

Planning, setting and creating a design system is crucial for effectively designing and keeping consistent user interfaces.

Discovering unknown with EventStorming
Workshop by Mariusz Gil (8 hour)

EventStorming is a lightweight discovery and collaborative learning tool for exploring complex domains and merging people around the problem

Domain-Driven Aggregate Design
Workshop by Matthias Noback (8 hour)

You'll go back to the basics of object-oriented programming and learn to apply core principles of Domain-Driven Design to your domain object

Getting to Grips With Rust
Workshop by Alan Pavičić, Nikola Plejic (8 hour)

Learn the basics of Rust, a fast and memory-efficient language for building reliable software.

Git: Zero to Hero
Workshop by Tianyu Pu (8 hour)

This workshop will start from the very basics of Git (no prior knowledge assumed), and take you to an intermediate-advanced proficiency.

TDD, DDD & Teamwork
Workshop by Pim Elshoff in Bizzon (4 hour)

In this workshop you will learn the skills of TDD and DDD, and how to apply them effectively in a team

Coding Dojo
Workshop by Pawel Lewtak (4 hour)

It's a place for deliberate practice in a safe environment. We'll learn & practice basics of Test Driven Development in PHP.

Thursday 10th October 2019

Advanced Web Application Architecture
Workshop by Matthias Noback (8 hour)

This workshop covers all of the three layers from what is known as a layered architecture: the domain, application and infrastructure layer.

Developing Software Teams
Workshop by Marcello Duarte (8 hour)

Patterns and techniques for developing great, motivated teams who understand their flow, focus on optimal value and sustainable results.

Elm Tournament - Beat the bugs!
Workshop by Tomáš Látal (8 hour)

Introduction to the Elm - simple, yet powerful functional language for writing web applitcations.

Fast & Beautiful: Modern Image Delivery Techniques
Workshop by Doug Sillars (4 hour)

A followup on my talk last year - a full 4 hours on image & video optimization and techniques to speed up the web with images & video

Going serverless on Azure
Workshop by Ivan Čuljak (4 hour)

Let's take a problem and let's build an over-engineered solution to solve it so that you can learn how and when to use serverless

React and GraphQL – From zero to production
Workshop by Glenn Reyes (8 hour)

In this workshop we will build a production-ready React app with GraphQL backend from the ground up.

Performing UI audit
Workshop by Jan Toman (4 hour)

A hands-on workshop where you’ll understand how to use a UI audit when building a unified design system from an existing website.

Friday 11th October 2019

The top work skills you need in the 21st century
Keynote by Merlin Rebrović (1 hour)

Learn foundational work skills that cross industries and can last for decades

Drawing the line between 3rd party and custom code
Talk by Glenn Reyes (25 minutes)

It deals fundamentally with the problem: Should I use the 3rd party lib or go write my own?

How to teach your computer to play guitar
Talk by Ju Liu in Trikoder (25 minutes)

A program that can read guitar sheets and understands how to play them on a real guitar. As a guitarist, I’ve always been fascinated by chords and their infinite variations. In this talk, we’ll see how we can build a program that reads a chord sheet, understands chords on a deeper level and finds ergonomic ways to play them on a real guitar. We will do this using a simple parser using Elm and show how much more powerful it is compared to a good old regular expression. Then, we’ll see what it takes to teach our program how to play the ukulele. By the end of the talk, you will have learned more of both music theory and functional programming!

The platform is dead, long live the platform
Talk by Luka Kladaric (25 minutes)

Out with the old, in with the new. Replacing a functioning platform with shiny containerized automated goodness.

12:10 Color - The Shadow Ruler of UX
Talk by Ivana Milicic in Bizzon (45 minutes)

Oftenly mistaken for a purely aesthetic element color has the most immediate and direct psychological impact on experiences

Developing hybrid Cloud/Native applications
Talk by Damir Bulic (25 minutes)

Traditional desktop applications are losing ground. We decided on a hybrid cloud/desktop approach to have the best of both worlds.

Using Neuroscience to Become a Better Developer
Talk by Radu Gheorghe, Rafał Kuć (45 minutes)

Tips for efficiency++ and stress-- while coding, sprint planning, learning new tech and more. From neuropsychology with love.

Accessible Javascript patterns
Talk by Garance Vallat (25 minutes)

Web accessibility and Javascript often sound like sworn enemies. But if you follow the right patterns, all your users win!

git rebase -i HEAD~25
Talk by Andrew Forward (25 minutes)

Many developer interact with git a lot, like a lot a lot. Let's pull back the curtain and learn some practical rebase, cherry-pick, etc.

One implementation to rule them all!
Talk by Zdeslav Vojković (25 minutes)

Cross platform mobile development with Go and Lua or how a small team unified the implementation of their applications.

Lobbying with Elixir: Real-Time LiveView and OTP
Talk by Evadne Wu (25 minutes)

Learn how LiveView can supercharge your new service idea, with an example project which maintains game lobbies.

Privilege as a technical debt
Talk by Amr Abdelwahab (25 minutes)

I would take the chance to add the missing contexts to terminologies like privilege and empathy while speaking from a pragmatic prospective.

Raising $24 million to Build an Open Source Skynet
Talk by Tal Ater (25 minutes)

An adventure story with drones, robots, autonomous boats, astronauts, and JavaScript… and what it means for tomorrow's autonomous cars.

Building an ARt Gallery in the Browser
Talk by Doug Sillars (45 minutes)

Using AR in the browser today! What is coming for tomorrow!

Fixing authentication and authorization
Talk by Tonimir Kisasondi (45 minutes)

Crash course in how authentication and authorization goes bad, and what can we do to fix it...

Move Fast, Move Correctly
Talk by Nikola Henezi (25 minutes)

What if there is a faster and safer way to build an MVP without taking a huge amount of technical debt?

Inspecting IPTV for fun and no profit
Talk by Josip Stuhli (25 minutes)

Find out what happens when you put a network tap between your TV and your router

No product to test yet? No problem.
Talk by Irja Straus in Trikoder (25 minutes)

Testing begins even before a single line of code is written. This talk will show you why, and how.

Self-Portraits in JavaScript
Talk by George Mandis (25 minutes)

We'll explore three different ways to do facial recognition with JavaScript and use these techniques to "draw" a self-portrait.

17:25 Conducting Humane Code Reviews
Talk by Adrienne Tacke in Trikoder (25 minutes)

Code reviews are essential and often frustrating for most developers. Learn the pragmatic way to code-review what really matters.

Magical land of AST's with babel plugins
Talk by Vivek Nayyar (25 minutes)

The talk is about abstract syntax trees and understanding them to create babel plugins.

Nix for developers and ops
Talk by Luka Blašković (25 minutes)

Introduction in NIX purely Functional Language & Package Manager

18:00 Passwords are so 1990
Talk by Sam Bellen in Trikoder (25 minutes)

In this talk I will give a quick overview of the past, present and future of authentication.

Design handover - tips & tricks
Talk by Matea Tomic in Bizzon (25 minutes)

Join in if you want to hear about what you should or shouldn't do for a successful design handover.

Saturday 12th October 2019

The 737 MAX: Human Factors in Complex Systems
Keynote by Kyle Kotowick in Trikoder (1 hour)

In 2011, realizing it desperately needed to offer a competitive product to Airbus' A320neo, Boeing embarked on a project to upgrade its legendary 737 aircraft to match the A320neo's efficiency. Limited by the constraints of the 737's original design and their desire to minimize training needed by pilots to fly the new aircraft, design compromises were made. 346 deaths later, we have all been reminded of the importance of rigorous design processes and the need to engineer systems for the realities of the end users and their environment. This talk discusses the core principles of human factors design for complex technological systems and takes a deeper look at what may have gone wrong in Boeing's process. The lessons learned are directly applicable to all types of technology, from web interfaces to mission-critical infrastructure deployments. For questions, Toptal referral bonus, or general discussion, email me: [email protected] Or on LinkedIn: Toptal referral link ($500 - $1500 bonus for you, depending on skills):

Just go for it: The story of dance-mat.js
Talk by Ramón Huidobro (25 minutes)

This is the story of how I built a Dance Dance Revolution mat with only a yoga mat, a Raspberry Pi and conductive paint.

Python async/await unraveled
Talk by Hrvoje Nikšić in Dobar Kod (1 hour, 30 minutes)

Python coroutines in detail -- understand the magical await keyword and how it manages to transform callback hell into coroutine bliss.

WebAssembly: Binary in Plain English
Talk by Milica Mihajlija (25 minutes)

How to run native code in the browser, why would you do that, and what does it all mean for the future of web development.

A lean approach to building design systems
Talk by Jan Toman (45 minutes)

You’ll learn how to communicate and build a design system for your existing product iteratively.

From Conversation to Software
Talk by Pim Elshoff in Trikoder (45 minutes)

How to write valuable software in an engaging manner at a sustainable and predictable pace

Data race detection
Talk by Neven Miculinic (25 minutes)

Data races are nasty kinds of bugs; rare, hard to replicate and follow Murphy's law. Race detector find them? Learn how!

React Native and PWA: A Tale of Two Architectures
Talk by Tejas Kumar (25 minutes)

This talk will discuss the architecture, decisions, and mistakes made while building a (first Native, then PWA) app for self-service.

Secure Your Code — Injections and Logging
Talk by Philipp Krenn (25 minutes)

How do you protect against injections in your web application and how do you keep track of what attackers are trying to break in?

Automating dynamic malware analysis
Talk by Krešimir Kuhar (25 minutes)

Using a devops toolchain for deploying, maintaining and monitoring dynamic malware analysis sandbox solutions.

Leadership lessons from building a remote team
Talk by Evelin Andrespok (25 minutes)

Practical lessons about team building and leadership from growing a fully remote team spreading across 30 countries. The Toggl story.

Parsing from first principles
Talk by Saša Jurić in Dobar Kod (1 hour, 20 minutes)

How to parse a language without using regexes :-)

Building a GameBoy emulator with Elixir and Scenic
Talk by Tonći Galić (45 minutes)

Story about building a GameBoy emulator as a webdeveloper.

Share your client code like a boss
Talk by Josip Klaric (45 minutes)

You wrote some fantastic piece of UI functionality and you're proud of it. Next time think about writing it as web component.

Leveraging Anxiety with Product Design
Talk by Vildana Lojo Babic (25 minutes)

This talk provides insights on how to design better products by addressing different interaction contexts and anxieties users face every day

OAuth 2: A closer look
Talk by Daniele Timo Secondi (25 minutes)

When you look at OAuth 2 from a developer's perspective there are a number of things to consider. Let's take a closer look.

Load-Balancing Node.js in Production
Talk by Adnan Rahic (25 minutes)

System processes, Systemd, PM2, Nginx, Docker...? How should you run Node.js in production? Here's a performance guide to minimize downtime.

Automatic Checks for the People
Talk by Mislav Cimperšak in Bizzon (25 minutes)

Enforcing coding rules one pre-commit hook and one CI job at a time.