It’s time to meet old and new friends
Registration 1-2 July / The hotel "Black Sea (“Chernoye more”), the park of Shevchenko" / Summer. Sea. JavaScript
Gerard Sans
Gerard is very excited about the future of the Web and JavaScript. Always happy Computer Science Engineer and humble Google Developer Expert. He loves to share his learnings by giving talks, trainings and writing about cool technologies. He loves running AngularZone and GraphQL London UK, mentoring students and giving back to the community.
#1 Unleashing the power of GraphQL and React
GraphQL is awesome! After only a year it has got a lot of attention from the community. Many implementations have emerged and it’s just getting better. Is GraphQL right for you? Is it a query language or runtime? In this talk I am going to take you from 0 to hero. ;)
#2 Angular Testing Recipes (v4+)
In this talk, we will cover the most common testing scenarios to use while developing rock solid Angular Applications, like: Components, Services, Http and Pipes; but also some less covered areas like: Directives, the Router and Observables. We will provide examples for using TestBed, fixtures, async and fakeAsync/tick while recommending best practices.
Sam Bellen
Hasselt, Belgium
#1 Changing live audio with the web-audio API
As a guitar player, I usually use some effect-pedals to change the sound of my guitar. I started wondering: “What if, it would be possible to recreate these pedals using the web-audio-api?”. Well, it turns out, it is entirely possible to do so. This talk takes you through the basics of the web-audio-api and explains some of the audio-nodes I’ve used to change the live sound of my guitar. This presentation takes you through the basics of the web-audio-api. It explains some of the types of audio-nodes you can use to change the sound coming from an input device (eg: microphone, electric guitar, ...). As a bonus, I’ll explain how you can control a simple web-app with the web-midi-api, because, when playing the guitar, you don’t have a free hand to press a button, so we want to control it with our feet.
#2 I didn't know the browser could do that!
The times when a browser simply had to parse and show some markup are long gone. These days they are full of interesting api’s exposing various information and behaviour to web developers. This talk will walk you through a few of these api’s (speech, speech recognition, battery, location, ...), some of which you might know, some maybe not. I will show a quick example of what some of these api’s can do, and how to use them.
Markus Leutwyler
Winterthur, Switzerland
The rise of javascript robotics
Developers, this is your chance to dive into the World of Hardware! Javascript is already the most used Language on the Web that it makes sense to use it for Robotics as well! Ever more powerful and cheap Microprocessors (Arduino, Intel Edison, Raspberry Pi) combined with Javascript Frameworks for Robotics (cylon/johnny-five) enable to easily build even complex robots, powered by JavaScript.
George Mandis
Portland, Oregon — United States
Freelance web developer, consultant
#1 More Than Music: Tiny Computers, JavaScript and MIDI
Tiny computers such as the RaspberryPi, Arduino and C.H.I.P. have finally reached a level of performance and affordability that makes hardware experimentation accessible to everyone. At the same time, JavaScript has emerged as the lingua franca of web programming and can be found in many places beyond just the browser. What if I told you there was a mature protocol that's been around since 1983 and was uniquely poised to take advantage of this development?
Well, wonder no more and meet MIDI! Sitting at convergence of these two things is MIDI — a niche protocol that's been around since 1983 and was originally designed for musical instruments to communicate with one another. It's event-oriented approach to messaging feels right at home in the asynchronous world of JavaScript & Node, and the prevalence of MIDI support in older musical equipment means you can find unique, hackable and affordable hardware at your local pawnshop or Craig's List. This unlikely tech stack — Tiny Computers + JavaScript + MIDI — can lend itself to creative programming beyond music. George's Talk will explain how to get started, walk through several examples and elaborate on the future of this stack, not only as a platform for experimentation but for education as well.
#2 Konami-JS
An 8-year Retrospective Maintaining Frivolous OSS
Artyom Trityak
Moving to USA a-z
I moved to California almost 2 years ago and I am often asked different questions about life in the US. This report is not about "moving to the US or not," this is a personal choice for everyone. I will talk about the move itself and everything that is connected with this - visas, prices, galleys, housing and so on.
Тимофей Лавренюк
Full Stack Developer at Provectus
Progressive Web Apps или как сделать веб-приложение ближе к нативному
В своем докладе я хочу рассказать о своем опыте внедрения поддержки offline при помощи Service Workers. А также, будет рассмотрено, что еще предлагает Chrome чтобы веб-приложение по функционалу было ближе в нативному.
Maksym Klymyshyn
Groupware System for fun and profit
Modern groupware systems interact with distributed sources of information require tricky approaches to keep data consistent and provide freedom on different levels of communication flow. CRDT, Operational Transformation, gossip, optimistic pub-sub is all about trade-offs. One of them has bad responsiveness in high-latency environments, another have good responsiveness but a lack of consistency. Let’s build something distributed and useful!
Andrii Shumada
Sr. Software Developer at Debitoor at Ciklum
Use cases of Node.js Streams
Intro to Node.js Streams, what problems do they solve, how to properly use them, how not to use them, where and how you can use them in your Node,js application.
Gregory Shehet
Software Engineer at Grammarly
Reactive State Management
Functional Reactive Programming (FRP) gets a lot of hype nowadays. The JavaScript community provides us with excellent tools like RxJS, Bacon, and Kefir. But how do you use the power of FRP in your projects? How do you make your React application Reactive? This talk is about atoms, lenses, and observables that help us create excellent applications. Also, I will share Grammarly’s experience in building React apps.
Talk description and abstracts:
1) Introduction. Why Reactive?
2) Immutable or Mutable Data? Using Observables with Atoms and Lenses.
3) How to Make Your App Truly Reactive. Our Experience in Building React Applications:
- Focal – lenses library developed by Grammarly
- Examples
Denys Dovhan
Software Consultant at Hell Yeah LLC
Cross-shell prompts in JavaScript
A short story how we can create a cross-shell testable prompt themes using JavaScript.
Vyacheslav Voronchuk
CEO at Starbuildr
Enhancing durability of ReactJS applications with Elm components
Unlike hand-written JavaScript, Elm code does not produce runtime exceptions in practice. Instead, Elm uses type inference to detect problems during compilation, we can take advantage of this and introduce Elm components to our existing ReactJS applications to improve their production durability.
Alex Rozumii
Back-end Developer at Toptal
Remote Developer Crash Start
Что такое удаленная работа? В чем плюсы такой организации процесса? Как его организовать? На эти и многие другие вопросы я отвечу во время своего доклада.
Timur Shemsedinov
#1 Асинхронность с библиотекой MetaSync
Новый подход и новый синтаксис для асинхронности на JavaScript, не только без лапши колбеков, но гораздо более элегантно и быстро, чем на промисах и асинк-эвейтах. Целый набор примитивов асинхронности: асинхронная композиция, асинхронные курсоры по наборам данных в памяти, коллекторы, дроссели, очереди, обработка ошибок, сравнение производительности. Многое на функторах и чеининге, так что привычно для писать, что-то на прототипах (для скорости), совместимость с контрактом Async I/O вообще и в Node.js в частности.
#2 Эволюция архитектуры ИС
Эволюция прикладных информационных систем и перспективы развития их архитектуры. Выжимка из реального практического опыта, возможные варианты развития технологий, вызвавшие их потребности и пути решения. Базовый материал в статье, там же иллюстрации, но в докладе расширю.
Philip Shurpik
Senior Software Engineer at Debitoor
Machine Learning & JavaScript: fitting together
Speech based on what I'm doing now in Debitoor - recognition of data (like currencies, amounts, taxrates) on receipts. I will start from some DataScience basics and then continue with my practical experience - how to implement all that stuff with JavaScript.
Oleksandra Kalinina
Full Stack JS Dev
Trojan War: SinonJS
How to get rid of the Achilles' heel of your unit tests? I'll tell you how quickly and easily start to use sinon.js unit test framework on your project right now. It will hurt.
Nikolay Kozhukharenko
Front-end developer at K&C
Component-Driven Development
I'll talk about a benefits of developing components outside of normal app: they are easier reuse (highly!), maintain, test & work on them in the large team. I will also cover UI component explorers, and tips which will help you to make development more painless.
Eugen Gusev
Frontend Teamlead at Wrike
Dart... жив?
Oh, well, let`s be clear: who needs Darth in 2017? Ask anyone what happened to the "JavaScript Killer", and you'll hear something like "Dart? it`s dead." Yes, that's may be correct, except for several facts.
Firstly, in Wrike we've been using Dart for two years and written a huge bunch of code. And if somewhere in the rainy Saint-Petersburg several dozen programmers writes a highly loaded service purely in Dart, (yes, yes, no JS at all) - probably it means something?
Secondly, Google himself categorically disagrees with this interpretation of the current state of affairs. Do not agree so much that they released one news after another. At first Flutter, then Fuchsia. And even more, they rewrote their ADWords (the main product that they earn money from) in Dart + Angular2. So maybe it means something?
It may seem strange, why on the JS conference someone wants to talk about Dart. However, I undertake to convince the stubborn JS fans that they should give Dart a chance, and as a maximum - start to using it right now.
Oleksiy Pletnov
CTO at Keenethics
Correct thinking
Speed of your PC and development tools affect your productivity. But this talk is about what happens on the "other side of the monitor" - in your brain. I'll try to show algorithms of thinking and discuss caveats affecting your work and life.
Alexey Zolotykh
Developer at wrike
Лайфхаки фронтенд разработчика
Мои рецепты как сделать вещи проще, быстрее и лучше. Истории из жизни и реальные примеры. Как презентовать проект удаленному заказчику, если у вас нету хостинга и домена? Как верстать пиксель в пиксель, быстро и просто? Какие чудеса таит в себе консоль?
Denis Yaremov
Senior Software Engineer at Lohika
Offline first made right with Reflex
Even though you always expect a sudden loss of Internet connection, do you always deal with it right? At the end of the day, it turns out that even multi million user web apps are still unprepared for changing and saving data while offline. Many of apps that we use lack the proper conflict resolution, which is crucial to every collaborative or planning tool, web editors, forms, booking apps – you name it.
During the last two years we’ve been working on a concept called Reflex to make things better. It’s an open source methodology usable with nearly any client, database or server technology. During the talk we’ll discuss its features, consider some use cases and take a deeper look into the anatomy of offline first.
Vsevolod Rodionov
Lead Software Engineer
Neural networks in js
Some nice show about what can neural networks do with code examples in JS and new framework.
Roman Sachenko
Software Engineer at DA-14
Oh my Node or Security in NodeJS
Я расскажу о тех шишках, которые набивал во время работы с NodeJS. А именно шишках и костылях, которые пришлось внедрять, ввиду возникновения вопросов безопасности.
Security Holes:
- Insecure Dependencies
- Brute Force
- DB Injections

- Tools
- Modules
- Validation methods/ways
Andrii Chebukin
Соучредитель The Secret Circle Solutions / Преподаватель КА ШАГ
Садо-мазо на front-end'е в функциональном стиле или full stack F# development
Функциональное программирование в тренде и front-end не исключение. И full stack нынче в моде. Но неправда ли практично, когда и клиент и сервер написаны на одном языке. Только кто сказал, что это должен быть JavaScript ведь есть интересные альтернативы об одной новой из которых и поговорим.
Alex Troush
Team Lead at Digital Hanger
Professional burnout
We will talk about professional burnout. What is it and how you can differ it from tiredness. What to do with it? What to do with it if you are a team leader and your team mate is burning out?
Alexey Orlenko
Open Source Developer at Metarhia, Node.js Collaborator
High-performance IPC and RPC for microservices and apps
In this talk we’ll take a look at a new open source project which provides fast and reliable IPC, RPC, remote events and data synchronization between any number of servers (Node.js) and clients (Node.js, web browsers and native Android and iOS applications) via TCP, WebSocket and Unix domain sockets. As a special bonus, we’ll talk about a tiny patch to Node core that was meant to improve IPC performance in this project but accidentally speeded up node_redis up to 10x in some scenarios.
Mikalai Alimenkou
XP Injection
Gamification in outsourcing company: experience report
Most of us used to hear word gamification only for end user engagement into product usage. Some of us know about usage of similar approaches in product development teams to improve and tune development process. But almost nobody believes that gamification is possible in the context of outsourcing companies and teams. This talk is experience report of gamification usage on very large project with detailed reusable framework demonstration. If you want to bring some fun and really engage your team, then this talk is for you.
Helen Zhukova
Frontend developer at Videogorillas
JS static typing. What and why.
JS is dynamically typed language, yet there is a trend for static typing JS. Why do we need static for JS.
Anton Vidinev
Front-end developer at DA-14
Angular 4 Animate: завтрашние UI технологии
During the speech at the OdessaJS conference, we will talk about “tomorrow”. Or, rather, about animation optimization and performance, the way how Angular animation system works and how we should check it for flexibility.
Apart from that, we’ll discuss some useful tricks, move beyond the routine solutions, while custom animations will serve as the icing on the cake.
Artem Paliy
Software developer at DA-14
Angular Universal
With my presentation I want you to dive into the world of Angular. Using one of the recent cases, we’ll look into server-side rendering and how it can be useful within your projects.
Beyond that, will discuss potential issues with 3rd party plugins and won’t miss the opportunity to cover the latest update, namely concerns with migration to Angular 4.
Andrew Borisenko
Senior Front-end Developer at EAHT
Magic of Vue.js
How Vue.js magically works and why it is better than React.
Sergey Rubanov
JavaScript Kamikaze at EXANTE
Real world WebAssembly
I'll show how to use WebAssembly and represent some useful tools.
Aleksandr Gribanov
Frontend architect at DataArt
RxJS - Think reactively
В мире фронтенда нам приходится управлять большим количеством событий, которые могут влиять на текущее состояние приложения. В докладе, на упрощенном примере, разберемся как в этом может помочь RxJS и потоки данных. / In the world of the frontend, we have to manage a large number of events that can affect the current state of the application. Lets figure out how RxJS and data streams can help us to handle this.
Александр Мостовенко
Frontend developer at EVO company
Modern javascript localization with gettext
В данном докладе поговорим про проблемы локализации фронтенда и варианты их решения. Расскажу про нашу библиотеку для переводов - c-3po.js и как она может помочь вам улучшить процесс локализации.
Nikita Galkin
Best practices of Node.js in production
Как написать NodeJS приложение, чтобы не было мучительно больно его сопровождать.
Виталий Лебедев
Oracle/Senior Applications Developer
Practical difficulties and approaches to its solution in node.js development (not final)
I'm going to discuss obstacles and some non-regular challenges, which could be encountered during development with node.js, and most popular approaches to resolve them.
Yuriy Dadichin
Senior FE developer/Department Manager
A cloud in pants
More and more often we hear about such things as: micro services, Docker, Saas, AWS, scalability - not in the context of conferences, but in working routine and product requirements. In my report, I will talk about the experience of developing cloud-based ready-made applications, particularly, attention will be focused on the adoption of architectural decisions and the reasons for which they have to take.
Yury Shevtsov
Do IT/Lead Software Engineer
V8 + libuv = Node.js. Under the hood
How does the V8 work from the developer's point of view. What is needed to be screwed to V8 to get Node.js. What does the code turn into JS and the other overhead. Are there any flows used there. And also a little about native modules for Node.js.
Artem Denysov
Ciklum, Software engineer
Easy ways to speed up your web application
Running web applications on mobile devices really painful. I'll show several ways how these applications speed can be improved. All together we will apply these techniques for some Open Source web app and go through tools which can be helpful for you in future.

Welcome to join workshop:
The rise of JavaScript Robotics (by Markus Leutwyler)

When? On July 2, 9 pm-12pm
How to participate? Please buy a special workshop ticket.

Wanna be a Maker? Rock the robotics and use your super brain power on alive metallic beings? Create, design and program your own awesome robots with JavaScript and open source hardware?

Developers, this is your chance to dive into the World of Hardware! JavaScript is already the most used Language on the Web that it makes sense to use it for Robotics as well! Ever more powerful and cheap Microprocessors (Arduino, Intel Edison, Raspberry Pi) combined with Javascript Frameworks for Robotics (cylon/johnny-five) enable to easily build even complex robots.

In this 3h practical Workshop for Robotics Beginners we start by assembling the 2 wheeled Robot Kits (Wifi-enabled, and with custom Lasercut and 3D printed parts), decorate them to your taste and then program them with JavaScript! We end with a Sumo-style Battle or Capture the Flag Session!

After the workshop, you can take the Robot home with you :)
Prerequisites: Just bring your own notebook (Linux, Mac or Windows)

Target group: Anyone interested in Robotics, Ages 14 and up.



Markus is a technical consultant during day time and a maker in his spare time. As a co-founder and regular at FabLab Winterthur, he works on Robotics, IoT and Low-Power Networking. His various interests range from Photography, Multipotentialism to co-working, 360 Degree Video and Music.

Master class JSPM way of doing ES6 development (by Sergey Seletskyy)

When? 2 July, 14:00. You can buy a ticket for a master class here

Using a simple React/Redux app I will show you:
This master class is intended for engineers who have experience in React development, use ES6 and want to acquire or improve their skills in SystemJS/JSPM
The content of master class includes:
Requirements to participants of master class:
After attending the master class participants will:


Sergey Seletskyy full stack разработчик ruby-javascript, старший разработчик в компании Lohika (Altran).

Neotech Development - is a team of highly trained professionals. We use cutting-edge technologies where it is justified and adds unquestionable gain. Each employee is valued and we try our best to supply each and everyone of our team with everything needed, taking into the consideration individual requests. Read more...
We are happy to discuss with you the additional terms of the partnership
that will be most interesting to you - individually.
Want to become a OdessaJS 2017 partner?
call by phone +38 050 373 14 65 (Julia)
write to us to odessajsconf@gmail.com
or write to Skype - cherni44ka
Download partnership program
Sweet partner
Technical partner
The hotel "Black Sea (“Chernoye more”), the park of Shevchenko"

OdessaJS 2017 participants are able to get a 10% discount for an accommodation in 4 hotels in Odessa: Black Sea "Shevchenko Park",

Black Sea "Rishelievskaya", Black Sea "Panteleimonovskaya", Black Sea "Otrada".

Registering on the hotel site in the Reservations section, by phone 048 710 10 10 from 9:00 to 18:00,

or by e-mail sales1@blacksea-hotels.com say that you are going to the conference and call the code word "OdessaJS 2017".
Organizers’ Team
Julia Cherniak
Skype: cherni44ka
+38 (050) 373-14-65
Artyom Trityak
Skype: art.trityak
Program committee
Алексей Мигуцкий
Senior Software Development Engineer at Microsoft
Тимур Шемсединов
Преподаватель КПИ, архитектор технологического стека Metarhia
Евгений Обрезков
Senior NodeJS Developer
Philip Shurpik
Senior Software Engineer at Debitoor
Thanks to the following hotels for the support of OdessaJS '2017

Discount for accommodation in the hotel “Odessky Dvorik” - 15%

Discount for accommodation in the hotel “Metro Hotel Apartments” - 20%

Discount for accommodation at the hotel - 20% “Aivazovsky” - 20%

Discount for accommodation in the hotel “Klumba” - 20%

Discount for accommodation in the HC “Odessa” - up to 20%

Discount for accommodation in the hotel “Mozart” - до 30%

Participants of the conference will be able to get a discount on hotel accommodation, using the promo code "I'm going to OdessaJS" during making the booking.