14-16 JUNE 2019
SINGAPORE
sponsored by
Twilio Cloudflare Zühlke Engineering Stripe HERE Technologies Zendesk Nexmo - The Vonage API Platform Glints Microsoft PouchNATION Soho Mozilla UIlicious PALO IT applitools

PROGRAM

Thursday 13th

7 PM

Sponsored by Nexmo - The Vonage API Platform Welcome Social

1LEVEL UP at Clarke Quay

Drinks, Snacks and Arcade games. Say hello and bring your ticket with the QR code and a photo ID to register

Friday 14th

8 AM

Registration

LASALLE College of the Art at 1 McNally St

Please bring your ticket with the QR code and a photo ID to register

9 AM

Opening

Chen Hui Jing & Thomas Gorissen


9:30 AM

artistic.css

Agnieszka Naplocha @aganaplocha

What does shape the current state of Web Design? How can we leverage CSS to support the art movement on the Web?
Let’s dive into art direction and trends to find a new way to express our design ideas in CSS. During my talk you will find more about the intersection of CSS code with collages techniques, anti-design aesthetics and much more. Everything will be combined with practical CSS and many examples you can use on your websites right away. I will be presenting some of my CSS experiments to show you that art has a true impact on CSS properties and new features.
Find your inner designer and join me on this artistic CSS journey.

Agnieszka is a coding designer with a strong focus on UX-related issues, currently working at Adobe in Warsaw, Poland. She is the co-founder of The Awwwesomes an initiative teaching how to create awwwesome things on the Web, organizing coding & UX workshops for beginners, co-organizing conferences (Front Trends 2018 and Element UX Talks) and meetups in Poland. She loves pink color and Wes Anderson's movies.

10 AM

Designing components for fun, profit and sanity

Yishu See @yishusee

In recent years, web applications have largely converged to a modular approach, where self contained components make up the basic building blocks of an app. Components have offered us a way to logic in bite size digestives but they can also grow to become huge unwieldy monsters.
Imagine you find yourself five years into a project, in a team of 10, over a thousand components, and a chance (albeit daunting task) to start with a fresh codebase. How would you begin designing the components?

Yishu is bad at things. Bouldering, speaking Japanese, crow pose; all bad. Thank goodness she's okay at making computers do things. Currently she is a software engineer at Carousell, contributing to the web platform. Before that in her career, she has taken on multiple roles - iOS engineer, backend engineer and fleetingly a product designer. Her current favourite function is .split().

10:20 AM

Sponsored by Zendesk  C8 H10 N4 O2

Caffination provided by Jimmy Monkey

10:40 AM

Web Components and the AOM

Léonie Watson @LeonieWatson

We can use Web Components to create reusable solutions. With Custom Elements, the Shadow DOM, HTML Templates, the Web Speech API, and a little ARIA, we can create a progressively more advanced solution for anyone who wants to listen to content; and when the Accessibility Object Model (AOM) lands, we'll be able to do even more.

Léonie is Director of TetraLogical; a member of the W3C Advisory Board; co-Chair of the W3C Web Platform Working Group; and a member of the Accelerated Mobile Pages (AMP) Advisory Committee. Amongst other things, Léonie is co-organiser of the Inclusive Design 24 (#id24) conference; co-author of the Inclusive Design Principles; and mentor to young people interested in the fields of accessibility and inclusive design.

11:05 AM

Variable fonts and the flexible nature of screens, environments and devices

Mandy Michael @Mandy_Kerr

Variable Fonts allow typography on the web to adapt to the flexible nature of screens, environments and devices. We can use variable fonts with pre-existing technologies to improve our font performance, design, accessibility and usability of our websites.
We can start to design our typography to adjust to various inputs, situations or events which might allow us to modify our fonts to aid in storytelling, or achieve improved readability and legibility in different situations, environments or on larger or smaller screens.
Let’s begin to explore new and exciting creative opportunities for storytelling, design and expression in ways standard fonts could never provide us. This is just the beginning of our journey to discover what we can do with variable fonts.

Mandy’s passion is CSS, HTML and JS, she has a particular interest in web typography, accessibility and modern layouts, and hopes to inspire that passion in others. With the aim to create a community of web developers who can share, mentor, learn and grow together she is a co-organiser and Director of Mixin Conf, the founder and co-organiser of Perth’s front-end developer meetup Fenders and currently works as a Development Manager at Seven West Media in Western Australia.

11:35 AM

Sponsored by Applitools
Navigating the Wild Seas of Native ES Modules

Gil Tayar @giltayar

ES Module support in Node v12 is not just a refinement of the support it has in Node v10, but is rather pointing to a direction in which Node and browser ES Modules converge into one system, a system which will enable ES modules to "just work" within the native npm ecosystem, without the need for transpilers or bundlers. This talk will examine this, and show how this will be possible in the upcoming years.

From the olden days of DOS, Gil was, is, and always will be a software developer. He has co-founded WebCollage, survived the bubble collapses, and designed cloudy projects at Wix.
His current passion is figuring out how to test software, a passion which he has turned into his main job as Senior Architect at Applitools, where he develops tests for software that tests software, which is almost one meta layer too many for him.

11:55 AM

new Promise(lunch)


1 PM

Breakouts

You can pick up to two workshops or lectures during online-checkin from on June.


Sponsored by Microsoft
Faster & Easier App Innovation

Darren Evans
Mayur Tendulkar @mayur_tendulkar
Vito Chin @vitoc

Kubernetes for the impatient
Travel through the Cloud Native Computing Foundation’s most popular project as we delve into container orchestration using Kubernetes, so that you have more time to spend on coding, rather than managing yours apps. For this talk, I will be using Azure Kubernetes Service (AKS).

App Innovation and Devops
We created a rich learning experience to show-case the speed and ease at which you can leverage Microsoft's cloud platform to build data-driven intelligent apps. This program will give you insights and demos on how to leverage innovative scalable Cloud Backend Services for your applications. Join us! We'll cover:
- Azure App Services
- Azure Kubernetes Services
- Azure Dev Spaces

JS adventures in Azureland
Come have a whirlwind tour of the Azure cloud where you'll be travelling through the seas of Javascript on a boat christened VSCode.

Darren is based in Singapore and currently works at Microsoft as an Open Source Technology Solutions Professional, working with customers on Kubernetes, Linux, microservices, Azure Services and open source software in general.

Mayur was selected for Hogwarts School of Witchcraft and Wizardry, but couldn't get through Platform 9 3/4. So he joined Microsoft and is now spreading the love for technology. Mayur is Technology Solutions Professional working at Microsoft in Singapore, helping people with technology. Previously he was a Program Manager on Xamarin team at Microsoft, working from Pune, India. Since 2013, he was awarded as Microsoft Most Valuable Professional on Windows Development and worked as Developer Evangelist with Xamarin. He is writing mobile applications since the days of Windows Mobile 5.0 and love to talk about everything mobile and cloud these days.

Vito is the resident Node.js punter at Microsoft APAC where he guides partners and tourists on Azureland tours with his mighty VSCode gondola.

Sponsored by Palo IT
Pair Programming & Test Driven Development done right

Kevin Aubry & Lin Oon Kean @PALOITSingapore

So you’ve heard about Pair Programming, but how much do you really know about it? Few are aware of the complexities involved, resulting in a waste of money, siloed knowledge and even internal scuffles!
With PALO IT’s 'Pair Programming Done Right', you will learn how to navigate this potentially chaotic practice. Join Kevin Aubry to discover how you can Pair Program the Agile way. To supplement your learning experience, you’ll also learn how to leverage on Test Driven Development to create even higher quality software in a fraction of time.
In this session, attendees can look forward to:
- A deep understanding of Pair Programming and Test Driven Development
- Better software through faster feedback
- Improved development speeds
- Purpose-driven formulation of solutions
- Higher job satisfaction and team morale
- And more…

Requirements:
Bring a laptop. Have a recent Node.js, code editor and web browser installed. You'll need a Github account.

Having the first-hand experience using various programming languages to design and implement software applications, complemented by his advisory position, Kevin has proven to be a valuable asset to numerous successful projects. Constantly keeping up with innovation and new technologies, he enjoys challenges that take him out of his comfort zone.

Kean is a pragmatic leader principled strongly by Scrum and XP practices to coach and support development team collaboration in software delivery. A firm advocate for Agile software development since 2003, Kean has been on both sides of the equation long enough to know what makes Agile software development successful: Human collaboration and Agile engineering skills.

SVG Animation with GreenSock & VueJS

Thong Yong Jun @yongjun21

Learn from the Straits Times Interactive Graphics team how we integrate animation into our stories using SVG and GreenSock. If you love VueJS and love using animation, come join us in this hands-on session to pick up a trick or two. Specifically, learn how to:
- Create self-contained animated component
- Compose complex animation sequence from a set of animated components
- Create an self tracing path
- Animate an object along a SVG path
- Animate your viewport

Requirements:
Bring a laptop. Please make sure before the workshop you have:
- Git installed
- Node 8+ & NPM 5+ installed
- Browser Chrome or Firefox with DevTools installed
- Editor installed with Eslint plugin. (Not required but highly recommended because we will be going really fast and couldn't afford to waste time on syntax bug)

Yong Jun produces data stories and interactive graphics for SPH Straits Times as a Senior Web Developer. An early adopter of VueJS, he thinks Vue is the best thing to have come to the Javascript world since ES6. The popular GovTech visualization project SchoolPicker.sg was created by him using VueJS. He enjoys writing code and teaching people the art of code writing.

Practical NuxtJS

Aaron Gong @aaronghj


This workshop will show participants how to build applications using NuxtJS (A VueJS Framework), based on real-world experience in shipping products from scratch. In the process, we will also look at various means of building performant websites.
Within the 3 hours (remaining 0.5 hours will be for Q and A, as well as helping slower paced participants), we will cover the following:
- SPA, SSR and Static Websites, which one to use.
- Building for performance, code splitting, tree shaking, lazy-loaded resources
- Important points on NuxtJS such as architecture, configuration, SSR features & lifecycle, etc.
- Creating your first NuxtJS project and explanation on options available
- What are plugins, modules and which one to use
- Sign In Page & Crud Page
- Hands-on learning Of VueJS and NuxtJS concepts
- there will be a local backend API with authentication to test things out).
- Gotchas & Edge Cases
- Coding problems that can occur in SSR
- How to get dynamic Vuex store to work
- Deployment as SPA, SSR, Static Website
- Q&A Session

Requirements:
Bring a laptop. Please have the following software installed before attending, we will not have time to troubleshoot installation issues
- NodeJS version 10 and above, NPM
- Git
- Code editor (VS Code recommended)

Aaron is a Consultant with Zenika. Ever since his first VueJS experience in an opensource project (vue-crud-x). He has decided to work exclusively with VueJS and web components to ship products. He co-organises VueJS meetups to share experiences and help others. He feels that one should know fundamentals before frameworks.

Unlocking Progressive Web Applications

Tamas Piros @tpiros

During the workshop we will take a regular web application and convert it into a Progressive Web App. This workshop is for people wishing to learn more about Service Workers, Workbox.js and web performance/caching in relation to PWAs.

Requirements:
Bring a laptop. Attendees should make sure that they have their favourite code editor, an up-to-date version of Google Chrome as well as NodeJS installed (either LTS or Current)

Tamas is an experienced Developer Evangelist, Google Developer Expert and Technical Instructor. He has more than a decade of experience working with large, prestigious organisations and throughout his career, he has delivered training classes all over the world to both technical and non-technical audiences.

Nodebots Part 1

Pasindu De Silva @Ghosteyes1
Chathu Vishwajith @iamchathu


This workshop constists of two afternoon sessions on Friday and Saturday!

We are going to build electronic bots that we can control using NodeJS.

Requirements:
Bring a laptop and please follow these setup instructions before the workshop.

Pasindu works on building open source text to speech systems for low resource languages by day and does various JavaScript Nodebots projects by night.

Chathu is Co-Founder of a Startup where few of its products are powered by Full-stack JS. He is an Auth0 Ambassador, Co-Organizer of Colombo JS Meetup and Organizer of Sri Lanka Unity Developers User Group. He has started working with NodeJS since 2012 and He love it. Currently working on POS Dashboard which is powered by NodeJS backend and React Dashboard with React Native Mobile app. In nights he struggles with Nodebots.

4:30 PM

Drinks at the bar

5:00 PM

The browser as a modular, networked video synthesizer

Olivia Jack @_ojack_

Most libraries and abstractions for creating graphics in Javascript are focused on 2D shapes (SVG and canvas) or simulating 3D rendering. The talk will instead explore generative graphics inspired by modular, analog video synthesizers from the 1970s, in which visuals are created by routing, transforming, and recombining multiple sources and outputs in realtime (such as cameras, videos, and application windows).
By using WebRTC to share video peer-to-peer, each browser/device can output a video stream, and receive and modify video streams from other browsers/devices. Transformations to the color, coordinates, and blending of a visual source are abstracted as separate Javascript functions which can be chained and composited to create complex visual patterns. The talk will explore technical, aesthetic, and collaborative possibilities of treating a web app as a series of interconnected and heterogeneous nodes, rather than as a specific “site” or “place”.

Olivia is an independent programmer and artist who works frequently with audiovisual installations, interactive visuals for dance performances, cartography, live-coded visuals, and experimental interfaces. She is the developer of Hydra, a browser-based platform for networked visuals that is inspired by analog modular synthesis. Originally from San Francisco, she currently lives and works in Bogotá, Colombia.

5:25 PM

Real World Problems - Internet beyond the First World Bubble

Keerthana Krishnan @KeerthanaK17

The Internet of today originated as an experiment in the West. But as it expands to accommodate a larger user base in Asia, huge gaps are created between what the consumers want and what engineers build in a digital solution.
* How can we build websites for illiterate people?
* How can we improve the performance of our websites in spite of terrible infrastructure?
How can we come together to make the best digital experience we can for the people who have only started embracing the internet recently?
Because they will be the users of tomorrow.

Keerthana is a software engineer living in the sunny town of Cochin, India where she works as a full stack web developer. She is passionate about building the best websites she can and made her conference stage debug at Node + JS Interactive 2018.

5:55 PM

Music and Art with ML

Monica Dinculescu @notwaldorf

People make things. You make things. Most of the time you make Very Serious Things™️ that help your bosses sell more shoes or saxophones or those tiny coffee packets. And that’s good, because you gotta eat and stuff. But something else has gotta eat, too: your brain. Music is creation, art is creation, code is creation. I think it’s important to goof around with code sometimes, or make things that let other people goof around with code. And sometimes, that becomes the Very Serious Thing™️. Magenta.js is one of these things; let's talk about it!

Monica works on Magenta, in Google Brain, where she makes generative music and art with Machine Learning. In the past she's worked on Polymer, web components, and Chrome, and has probably at least once broken the Internet for you. She is unreasonably excited about emoji, wary of web fonts, and will become your best friend if you bring her cheese. On second thought, she may be a mouse.

7 - 9:30 PM

Code In The Dark with Justin Lee

Bring your laptop to test your HTML and CSS skills, have fun and win amazing prizes. Free drinks for JSConf.Asia attendees, friends welcome!

Saturday 15th

8:30 AM

Welcome back

LASALLE College of the Arts at 1 McNally St

9 AM

State Machines Meet React Hooks

Zain Fathoni @zainfathoni

Surprised of too many things went wrong in your UI components? 🤔
Ever felt that freeing your components from bugs is a never-ending endeavour? 🤮
Familiar with this kind of code in React? 😏
{!loading && data && !error && !isHidden && !isLoggedIn && <YourComponent />}
State Machines to the rescue! 😎
Join my journey in solving those kinds of issues using State Machines and see how they go in action with React Hooks. 🥳

Zain is an Indonesian developer working at Ninja Van as a Senior Software Engineer to help reshape its user-facing products to be more reliable and user-friendly. His passion in JavaScript drove him to spend his spare time learning it to switch from Backend Development to Frontend Development. He also enjoys playing musical instruments and hanging out with his family.

9:30 AM

Machine learning for front-end developers

Charlie Gerard @devdevcharlie

Machine learning can have some pretty complicated concepts to grasp if you’re not a data scientist. However, recent developments in tooling make it more and more accessible for developers and people with little or no experience.
One of these advancements is the ability to now train and run machine learning algorithms and models in the browser, opening this world to front-end developers to learn and experiment.
In this presentation, we will talk about the different applications, possibilities, tools and resources, as well as show a few examples and demos, so you can get started building your own experiments using machine learning in JavaScript.

Charlie is a software developer in Sydney. She is passionate about creative coding and building interactive prototypes mixing science, art and technology. She also spends time giving back to the community by mentoring new developers, contributing to open-source projects and speaking at events.

10 AM

Rapid Development on Offline First Data Sync

Anshori Syuhada @ans4175

Wondering how to build offline first web app nowadays?
We build our own recipes to iterate faster creating offline first web app with data synchronization capability.

Anshori is part of engineering at eFishery (an Indonesian IoT startup on aquaculture). He crafts code by night 'till morning and debug human and process at noon. He loves data and engineering much while enjoying product development side. He dedicated himself for social cause and accessible technology for equality. The terminal console is where he grew up.

10:20 AM

Sponsored by Zendesk  Coffee me more

10:40 AM

Introduction to the Component-based API

Leonardo Losoviz @losoviz

The Component-based API is a new concept of API which pushes further from GraphQL the boundaries of how much data can be retrieved in a single request, how data is organized into an effective hierarchical structure, and how fast can data be retrieved from the DB. We will learn what this new API looks like, how to use it, and how our application can become more modular through it.

Leonardo Losoviz is an independent open source developer, creator of a framework for building modular websites called PoP. The only non-musician in his family, this doesn't bother him, because coding is also making art. He lives in a loop: he dreams of code and, when he wakes up, he codes his dreams.

11:05 AM

Getting Closure on Hooks

Shawn Wang @swyx

The design of React Hooks requires a good understanding of closures in JavaScript. In this talk, we’ll reintroduce closures by building a tiny clone of React! This will serve two purposes – to demonstrate the effective use of closures, and to show how you can build a Hooks clone in just 29 lines of readable JS. Finally, we arrive at how you get Custom Hooks and the Rules of Hooks out of this incredible mental model!

Originally from Singapore, swyx is an Infinite Builder working on Developer Experience at Netlify. In his free time he helps people Learn in Public at Egghead.io and /r/reactjs.

11:30 AM

Sponsored by Stripe
Making it all fit together with React and GraphQL

Paul Asjes @paul_asjes

Many tools and processes go into modern front-end development: from component development to design and data fetching to testing and more. How does Stripe make these all work together? Join Paul Asjes from Stripe’s engineering team for a talk on how to make all these components and processes work in a way that makes the modern front-end greater than the sum of its many parts.

Paul is a developer support engineer at Stripe by day and a sleepy one at night. He helps companies get set up with Stripe in a variety of languages, but JavaScript is his favourite. He's written a book on Slack bots and likes to spend time underwater when not running around Singapore eating all the things.

11:45 AM

lunch(callback)

1 PM

Breakouts

You can pick up to two workshops or lectures during online-checkin from on June.


Best of 10 Years JSConf & CSSConf

The Great Code Theatre

Finally the binge watching you were always waiting for: We will screen a selection of the best JSConf and CSSConf talks from around the world. Popcorn included 🍿

Subscribe to JSConf & CSSConf on YouTube

Sponsored by Mozilla
Deploying and Building WebThings

Ryme Assaad @rymeassaad
Mel El Azzi @mel_z_

This workshop will be conducted twice.
First at 1PM and again at 3PM.


We will demonstrate Mozilla’s WebThings Gateway, an IoT framework to protect user privacy and security, and to improve cross-brand interoperability. We will also show how to develop and build your own custom "web things" out of microcontroller boards. We will demonstrate javascript examples using the Moddable SDK, then get “hands-on” using MicroBlocks.

Requirements:
Bring your laptop to participate in microcontroller programming using MicroBlocks and come to the workshop with MicroBlocks pre-installed. You can download the installer for your operating system and follow the setup instructions.

Ryme Assaad is cofounder & managing partner at Kapstone Co, myiolab and SEFY International
She was a TechWomen fellow 2018 and interned at Mozilla.
She is currently a TechSpeaker and working with the Mozilla Web of Things (WoT) community towards a decentralized Internet of Things with improved standards around security, privacy and interoperability.

Mel is a cybersecurity consultant at Booz Allen Hamilton, cofounder at Myiolab and a hardware hacker. She has extensive experience in industrial cybersecurity and testing.
She won several awards, including the IoT-Leb hackathon (1st place), the Hack The Plan[e]t competition at Defcon 2018 (1st Runner Up), and the TechWomen 2018 Action Plan (implementing an IoT-based initiative)

Sponsored by Stripe
Selling all the things: building online payments in JavaScript

Paul Asjes @paul_asjes
Thorsten Schaeff @thorwebdev
Chris Trudeau @trudeaucj

Ever wondered how to accept payments online from anywhere in the world with JavaScript? Learn how to build a simple payment system for an online shop using React, Node and vanilla JavaScript from Stripe engineers.

Requirements:
Bring a laptop. Attendees should make sure that they have their favourite code editor, an up-to-date browser as well as NodeJS installed (either LTS or Current)

Paul is a developer support engineer at Stripe by day and a sleepy one at night. He helps companies get set up with Stripe in a variety of languages, but JavaScript is his favourite. He's written a book on Slack bots and likes to spend time underwater when not running around Singapore eating all the things.

Build next gen web apps using web components

Sumit Chaudhari @sumit_nitsurat

In today`s world the front end technology is evolving really fast. New frameworks are getting launched to simplify the developers life. But with the changing technology it`s really hard to move from one framework to another or update to the newest version.
Web components is a relatively new standard enabling front end developers to create cross frameworks compatible components. it lets you write reusable components with native browser Api with zero external dependencies.
In this workshop we will learn to build a web app with reusable components using web components (custom elements, Shadow DOM, Html templates, Modules). We will also get acquainted with helper library lit-element and how we can integrate these components with existing frameworks.

Requirements:
Prior knowledge of HTML, JavaScript and CSS required in order to follow along.
Please bring a laptop, preferably with NodeJS and administrator permissions to install new software. Don’t forget your favourite IDE for JavaScript development.

Sumit is a Software Consultant at Zenika Singapore. Curious and always interested in new technologies, he helps people to use the best practices known such as CI/CD, BDD, TDD, code reviews and so on. Sumit likes to share his knowledge with one and all via trainings, meet-ups and other tech events.

JAMStack Jumpstart - Gatsby

Shawn Wang @swyx


There is a lot of developer and investment interest in JAMStack technologies, from the serverless movement to new authentication models to continuous atomic deployment to the static site generator renaissance. But with so many new terms and options, it is hard for people to figure out where to start.
This workshop will teach developers to set up a simple but state of the art Gatsby stack, which lets people create blazing fast sites and apps with React and GraphQL, backed up by a continuous deployment and serverless platform complete with authentication and CMS. It has never been easier to get a great Lighthouse score, or to deploy complex, secure webapps for free.

Requirements:
Attendees should have git, Node.js and npm installed, and be proficient with JavaScript and React (including routing with @reach/router or react-router).
Install the Gatsby CLI's ahead of time: npm install -g gatsby-cli
You do not need to know GraphQL, but you can get a head start by reading https://graphql.org/learn/ and going through the Fundamentals section of https://www.howtographql.com/.

Originally from Singapore, swyx is an Infinite Builder working on Developer Experience at Netlify. In his free time he helps people Learn in Public at Egghead.io and /r/reactjs.

Advanced Image Optimisation for websites

Inian Parameshwaran @everConfusedGuy

You will learn about different image formats, their tradeoffs, how different formats are under the hood and the how the browsers handle images.
Based on this, we will look at different techniques to optimise images based on the device, network and the browser the user is using.
We will be building an image optimisation pipeline which you can extend upon after the workshop. Having built such a pipeline at Dexecure, I will also talk about the challenges in building and maintaining such a reliable at such a pipeline the different gotchas to look out for in terms of performance, security, reliability and scalability.

Requirements:
Bring a laptop. Have Node.js and a recent web-browser, Git and NodeJS installed.

Inian is the founder of a web performance company, Dexecure. He loves JavaScript, chocolates and anything related to web performance and security. He is a strong believer in the importance of having an open, decentralised and uncensored web ecosystem.

Nodebots Part 2

Pasindu De Silva @Ghosteyes1
Chathu Vishwajith @iamchathu


This workshop constists of two afternoon sessions on Friday and Saturday!

We are going to build electronic bots that we can control using NodeJS.

Requirements:
Bring a laptop and please follow these setup instructions before the workshop.

Pasindu works on building open source text to speech systems for low resource languages by day and does various JavaScript Nodebots projects by night.

Chathu is Co-Founder of a Startup where few of its products are powered by Full-stack JS. He is an Auth0 Ambassador, Co-Organizer of Colombo JS Meetup and Organizer of Sri Lanka Unity Developers User Group. He has started working with NodeJS since 2012 and He love it. Currently working on POS Dashboard which is powered by NodeJS backend and React Dashboard with React Native Mobile app. In nights he struggles with Nodebots.

4:30 PM

Stretch your legs

5:00 PM

NodeBots are back!

Pasindu De Silva @Ghosteyes1
Chathu Vishwajith @iamchathu

A short show-case of the results of the 2 day long Nodebots workshop with Pasindu. Always fun to see some robots, right?

Pasindu works on building open source text to speech systems for low resource languages by day and does various JavaScript Nodebots projects by night.

Chathu is Co-Founder of a Startup where few of its products are powered by Full-stack JS. He is an Auth0 Ambassador, Co-Organizer of Colombo JS Meetup and Organizer of Sri Lanka Unity Developers User Group. He has started working with NodeJS since 2012 and He love it. Currently working on POS Dashboard which is powered by NodeJS backend and React Dashboard with React Native Mobile app. In nights he struggles with Nodebots.

5:15 PM

Seeking the Balance in Framework Design

Evan You @youyuxi

As the author of Vue, I often get asked on how the major JavaScript frameworks today differ from one another. Typically people expect technical details: size, performance, ecosystem... but to me, what fundamentally differentiates frameworks from one another is where a framework lands on the primitives vs. conventions spectrum. This is usually a conscious design decision, and the major frameworks we see today manifests three different segments of this spectrum. In this talk I'll discuss how these design choices have affected the adoption and growth of these frameworks, and why there might not be one single optimal balance point.

Evan is an independent open source developer. He created Vue.js, a popular frontend framework and now works on it full-time. Before going full-time open source, Evan worked as a core dev at Meteor, and before that as a creative technologist at Google Creative Lab.

5:50 PM

Learning From Machines

Ashi Krishnan @rakshesha

Why can't you tickle yourself? How do you know where you are? Why do DeepDream images look so trippy? Why does trauma come in waves, washing over us again and again? Computational neuroscience provides insight into these questions and more. In visually lush presentation, we'll go on a journey through biological and artificial minds, exploring how models of cognition informed by machine learning and computation can help us illuminate and reconfigure our own processes of being.

Ashi is a visual poet who has been telling stories with code and words since she was a child—perhaps before. She has worked at seven-person startups, fought fires in the trenches of SRE at Google, and spent the last three years teaching at coding bootcamps. She now works as a senior software engineer at GitHub, where she hopes to dissolve the walls between us and our tools. She is learning to regard every moment, and the creatures within them, with love.

7 - 9:30 PM

Live:JS

Ruth, Tim, Sam, Matt and Jan from LIVE:JS are performing for you. They create dazzling audio/visuals with just the power of your web browser. Have some special code cocktails from the guys behind The Spiffy Dapper on us and enjoy the show!

Sunday 16th

8:30 AM

Here we go again

LASALLE College of the Arts at 1 McNally St

9 AM

The Future of JavaScript and AI

Asim Hussain @jawache

There are many exciting things happening with AI, from which, until recently, JavaScript developers were largely shut out.
But things are changing, if you can do npm install @tensorflow/tfjs or make an API call, you can now do AI.
In this fast-paced talk, I'll open your mind to what's possible by demoing several AI-powered JavaScript apps and show you how they were built using either TensorFlow.js or easy to use AI powered APIs.
You don't need a PhD in Maths, you don't need years of experience, you just need imagination and the willingness to try.

Asim is a developer, trainer, author and speaker with over 18 years experience working for organisations such as the European Space Agency, Google and now Microsoft, where he is leading Developer Advocacy for EMEA.

9:35 AM

Double the Beyoncé: Navigating Numbers in JavaScript

Meggan Turner @megganeturner

Do you lie awake at night wondering why you can’t count up past 9 quadrillion in JavaScript? Have you ever been troubled by numbers that don’t add up correctly or do what you expect (looking at you, 0.1 + 0.2)?
JavaScript’s numbers can behave a little… unexpectedly at times, and cause bugs that can have you scratching your head for hours on end. From incorrect arithmetic to Beyoncé showing up on your page twice as often as you expect, in this talk we’ll take a look at the quirks that come from numbers in JavaScript & the strange issues they can cause.

Meggan is a Software Engineer at Jaxsta, a music startup dedicated to providing credit where credit is due. At Jaxsta, she writes code for the front-end platform, tinkers with databases & derails conversations with random music trivia (mostly about Beyoncé). When she's not coding you can find her rock climbing, swimming with sharks, or doing something else that makes her parents nervous.

10:05 AM

Race conditions in JavaScript apps

Thai Pangsakulyanont @dtinth

It’s easy to create race conditions in JavaScript if you’re not careful. This talk is about dealing with common kinds of race conditions based on my experience working on a real-time collaborative app.

Thai is a front-end architect at Taskworld. He’s interested in the ways of building better software, and helps organizing various tech events in Bangkok. He likes to code and make music for fun. He also develops an open-source web-based rythm game in his free time.

10:30 AM

Sponsored by Zendesk  Bean Decoction

10:50 AM

The *other* spec: Internationalization in JavaScript

Ujjwal Sharma @ryzokuken

No matter what kind of developer you are, in 2019, Internationalization is honestly kind of a big deal. Especially if you're building interfaces that transcend linguistic and cultural boundaries.
Over the years, the community has developed a set of tools for solving the problems in this area but they are non-standard, hard to keep a track of and in the best case, pretty huge.
I will talk about the new Internationalization APIs in JavaScript, which solve these problems and give you a decent set of tools to build apps that work across different languages, currencies and cultures.

Ujjwal is a Node.js core collaborator, Electron maintainer, Google Summer of Code mentor and ex-student. An international speaker and a JavaScript/C++ developer, he has been working with the V8 team and the TC39 committee to help make JavaScript better, one commit at a time. He loves to talk about open source software, DevOps, JavaScript, Web Standards and the Open Web.

11:20 AM

The different transformation stages of AOT compilers

Eytan Manor @eytan_manor

Have you ever noticed the recent trend where no one uses ES5 anymore? AOT compilers became a trivial thing nowadays; everyone uses it but very few really understand how they work. With the knowledge that I'm gonna give you in my talk, a new exciting world of possibilities will open up for you; you will understand how popular compilers such as TypeScript and Babel work behind the scenes and you be able to build cool Babel plugins. With this knowledge you will be able to not only implement things which aren't possible to do during runtime, such as ng-anotate, but you will also be able to save some precious processing power and make your apps more efficient.

Eytan is a JavaScript artist who codes for fun. Originally comes from the land of the Promise(), but has been traveling the world to discover its deepest secrets. Despite NPM goodies being his favorite treat, he consumes vanilla JavaScript the most, because less is more. His hobbies are eating, sleeping; and open-source... He loves open-source.

11:50 AM

await lunch()


1 PM

Breakouts

You can pick up to two workshops or lectures during online-checkin from on June.


Sponsored by HERE Technologies
Interactive 3D Web Mapping

Dylan Babbs @dbabbs
Ignacio Julve Castro

In this workshop, get your hands dirty with harp.gl: a new web-based, open-source, 3D map visualization framework from HERE.
You’ll learn how to:
- Build and integrate high-performing and visually appearing 3D maps into your web applications
- Customize the look and feel of your map to match your organization’s look and feel
- Store and manage your geodata in the cloud with HERE XYZ in order to visualize it on a map
- Develop compelling data visualizations with existing visualization layers and a data-driven styling grammar
- Visualize complex 3D objects on a map

Requirements:
Bring a laptop. Have a recent web-browser, Git and NodeJS installed together with npm, yarn, and lerna.

Dylan is a Product Manager for HERE Technologies in Seattle, WA working on APIs and developer tools for location-based technologies and maps. Dylan is interested in tools and techniques for visualization on the web and enjoys working with React.

Ignacio is an Engineering Manager at HERE Technologies, where he focusses on Cloud Services and Web Rendering. He is a strong advocate on being close to the real problems and getting his hands dirty. Trying always to face issues from the customer point of view so that the team works on the right topics.

Sponsored by Zühlke Engineering
Web Assembly: Expectation vs. Reality

Patrick Walther

Web Assembly has arrived in all major browsers. With it being in plain sight instead of hidden behind browser flags we can start and bring our high performance applications to the browser. In this workshop we’re going to look at the basics of Web Assembly and see what is already in the browsers today and what is yet to come. From there we will implement a real performance heavy task in our browser. We will compare the performance of our Web Assembly code to a plain JavaScript version. Afterwards you will be able to decide when to use Web Assembly and what specific performance benefits It will give you.

Requirements:
Bring a laptop. Have a recent web-browser, Git and NodeJS installed. If local wifi allows it we will be working with http-server package locally and access this from our smartphones. If not we might use a service like Zeit Cloud (https://zeit.co/now).

Patrick started his programming journey as a Java Developer but became hooked on Web Development very quickly. At Zühlke he has been able to quickly gain a lot of expertise in various projects and industries transforming portals, platforms, calculators and many more applications into proper responsive web applications. His love for the web has grown through the years only surpassed by his love for burgers! So if you know the best burger place in Singapore, hit him up!

Introduction to Machine Learning with TensorFlow.js

Asim Hussain @jawache

Learn how to build and train Neural Networks using the most popular Machine Learning framework for JavaScript, TensorFlow.js. This is a practical workshop where you'll learn "hands-on" by building several different applications from scratch using TensorFlow.js. If you have ever been interested in Machine Learning, if you want to get a taste for what this exciting field has to offer, if you want to be able to talk to other Machine Learning/AI specialists in a language they understand, then this workshop is for you.

Requirements:
Bring a laptop. Have a recent Google Chrome, Git and NodeJS installed. You will need to run a local web server and serve the contents of a directory if you don't know how to do that Asim recommends downloading VS Code and install the live server plugin.

Asim is a developer, trainer, author and speaker with over 18 years experience working for organisations such as the European Space Agency, Google and now Microsoft, where he is leading Developer Advocacy for EMEA.

Steer a Satellite Groundstation Antenna in JS

Roland Turner @rolandturner

This workshop will deal at a high-level with predicting where a particular satellite will be from moment to moment (orbital mechanics), and then with real-time steering of an antenna and Doppler-correction of a radio's tuning.
Weather permitting, we'll then go outside and do it for real with a couple of amateur satellites!

Requirements:
Bring a laptop. Have a recent web-browser, Git and NodeJS installed.

Roland is Chief Privacy Officer for TrustSphere where he is responsible for the company's information policy and practices. He is a HackerspaceSG founding member and FOSSASIA organiser, holds a Computer Science degree from UTS, and is an avid dancer, runner, and ham radio operator with a particular interest in space.

Building a voice enabled website using the WebSpeech API

Alex Lakatos @lakatos88

Everybody is droning on about chat bots these days. But what happens if you break out the bot outside the chat window, give it voice and put it on your entire website? Make is a bit snarky, a bit helpful and a lot funny, and it ends up being entertaining and useful at the same time.
We'll go through everything you need to start building voice enabled websites using the WebSpeechAPI

Requirements:
Bring a laptop. Have Node.js and Chrome installed. Preferably bring headphones to keep the room quiet.

Alex Lakatos is a JavaScript Developer Advocate for Nexmo and a Mozilla Tech Speaker as well as a contributor to the Mozilla project for the past six years. Based in London as a JavaScript developer building on the open web, he has been pushing its boundaries every day. When he’s not programming, he likes to travel the world, so it’s likely you’ll bump into him in an airport lounge.

Testing from 0 to 100

Tai Shi Ling @taishiling


Unit tests... API tests... UI tests... mocha... chai... jasmine... cucumber... enzyme...?
Want to introduce test automation to your project, but not sure where to start and what tools to use?
Join this workshop!
Learn strategies for planning your tests, bring your laptop for some hands-on on different testing techniques and libraries for testing the backend to the frontend on a RealWorld project, and finally let's hook your tests up to your favorite CI/CD!

Requirements:
Bring a laptop. Have a recent web-browser, Git and NodeJS installed.

Shi Ling is the CEO and co-founder of UI-licious, a tool to help software teams rapidly test and monitor end-to-end user journeys for their web app. She's been building web apps since jQuery, obsessing over performance and padding, and these days testing and accessibility for the front-end. She can also do kung-fu, but these days she mostly code-foo.

Build your first mobile & desktop app as a Progressive Web App

Noorulameen & Ritesh Mehrotra


Let's build PWA application with native mobile features such as push notification, background sync which will seamlessly work across Android, iOS, Windows, Mac and Linux.

Requirements:
Bring a laptop. Attendees should make sure that they have their favourite code editor, an up-to-date version of Google Chrome as well as NodeJS installed (either LTS or Current)

Noorul works as a front-end development lead at Credit Suisse. His interests are Micro Front-ends, Progressive Web Applications and recently started exploring React Native. He is one of the co-organizer of an active meetup group "Tech Talks" in Singapore. When he is not programming, he likes to travel and play badminton.

Ritesh is a keen web developer and agile consultant. Spends most of his time in agile consulting and technical training with multiple teams, with focus on micro service and micro-front end development. He is an advocate of XP development practices, and co-organizer of the popular meetup based tech community - "TechTalks". On a leisure day, you might spot him with a camera on Singapore streets.

4:30 PM

Take a break

5:00 PM

Web Assembly: The future of JS and a multi-language web

Kas Perch @nodebotanist

80% of users are running browsers capable of running languages other than JS in their browser. It's a new change, but an important one; we're looking at a future where the web will be built not just on JS, but on C, Rust, even GoLang. Let's talk about WebAssembly; why it came about, what it's good at, and why it really doesn't spell doom for JS but instead allows you to truly enhance web experiences by augmenting JS with the ability to use modules written in other languages that can perform tasks faster or more efficiently. We'll go over what WebAssembly is, how to build a WebAssembly module, and why this may be a force that will shape not only how we think about JS, but the entire web experience.

Kas (they/their/them) is a Developer Advocate at Cloudflare by day, and a Twitch Code/Hardware streamer, IoT author, and gamer by night. They love talking about serverless architecture, Web Assembly, IoT and its implications, and a myriad of other topics. They'll also totally show you a million pics of their 2 cats if you let them.

5:25 PM

JavaScript: who, what, where, why and next

Laurie Voss @seldo

npm has more data than anyone about who JavaScript developers are and what we’re up to. Using our unparalleled access to registry usage stats and the results of our 2019 ecosystem survey of over 33,000 developers, I break down the current state of JavaScript and where trends look like they’re headed, from frameworks through security best practices, so you can make more informed technical choices.

Laurie has been a web developer for 23 years and is passionate about making the web better and web development more accessible to everybody. He is co-founder and Chief Data Officer at npm, Inc., provider of package management and security services to the JavaScript developers of the world.

6:15 PM

Family Photo and Good Bye

ABOUT

JSConf.Asia 2019 is a 3 day long celebration of the web platform, its technology, impact and people. It is the seventh edition of Southeast Asia’s largest and possibly most loved community event, organised from developers for developers with the aim to educate, inspire and entertain around open source software and the web. Our curated line-up covers 40+ talks, lectures and workshops on the latest in web design, JS, CSS, UX, front-end web development as well as Node and software engineering fundamentals. This year will mark the first time that we are stretching our efforts into the arts as an additional, conscious component of the conference experience.

Join us and so many of the different people who create and build the web every day, enjoy our very special Southeast Asian hospitality, learn, make friends and be surprised. We're excited to welcome you.

📍 LASALLE College of the Arts
1 McNally St
Singapore 187940


Get your JSConf.Asia 2019 ticket

DevFest.Asia 2019

A collection of events adjacent to JSConf.Asia 2019

  • 12th of June - 7pm:
    Talk.JS + Talk.CSS Special

    In conjunction with the festivities for JSConf.Asia on 14–16 June, Talk.JS will be doing a combined meetup with SingaporeCSS for extra awesomeness. And we have the pleasure of welcoming some out of town speakers.

    And to make it better, there will be Satay.JS by the Kopi.JS group after the meetup!

    📍 Visa University
    71 Robinson Road, Level 9
    Singapore 068895

    Join on meetup.com

Staying in SINGAPORE

  • Arrival

    You'll most likely fly to Singapore's objectively most amazing Changi Airport with its new fancy Jewel.
    The Singapore Ruby community has created a good overview to find your way around the sunny city-state. WikiTravel has more depth.

    To get to our venue you can use the blue Downtown MRT Line exits Rochor or Bencoolen.

  • Accommodation

    We are collaborating with Hotel G as our event hotel and you can get our best rate using the code JSCONF2019 on their website. It's located 2 walking minutes from our venue.

    Otherwise there is a huge amount of hotels with decent prices close by our venue.

During the event

  • Venue Access

    The venue opens 8am till 9:30pm all event days and access to event rooms and services will only be granted to people wearing our conference wristbands. You can register with your named ticket and your valid photo ID at our Nexmo Welcome Party on the 13th of June or during all event days at our registration desk to receive your wristband.

  • Dressing right

    Our green lounge and other parts of the venue are outside and under the venues large canopy providing protection from the sun and rain. Depending on the weather it can be very warm so we recommend light clothing.
    On the other hand our theatre and workshop rooms are air-conditioned and can be a bit cold. It's a good idea to have a long-sleeve pullover or small blanket with you.

  • Talks

    All talks and keynotes will take place in the Singapore Airlines Theatre in the basement. They are live-streamed and recorded and will be published on the JSConf world-wide YouTube channel after the event.

  • Workshops

    Workshop rooms are located at various locations around the event venue and assigned based on interest short before the event. Please check the registration desk at the green lounge to locate your workshop room during our lunch break. Some workshops might be recorded by the good people at engineers.sg and published on their YouTube channel.

  • Food & Drinks

    We provide a light breakfast, break snacks and a complete buffet lunch as part of your conference ticket on all days. We're offering vegetarian, vegan and halal food options. Should you have special dietary needs that you find not met by our selection, please contact the registration desk at our green lounge and we will assist you ordering alternatives.

    Water and non-alcoholic drinks are provided before 5pm throughout the event. Afterwards and at social events we will also provide alcoholic beverages as part of your confernce ticket.

  • Photos & Videos

    You're welcome to take and share photos and videos using the hashtag #jsconfasia. We'd like you to respect that people wearing a yellow badge holder/lanyard do not want to be photographed.

  • WiFi Internet Access

    We outfit the green lounge and the Singapore Airlines Theatre with our own event WiFi. You will also be able to use LASALLE's WiFi service everywhere in the event venue but its internet access is limited.

  • Accessibility

    Our event venue is entirely wheel-chair accessible and we do offer live-transcription services via our YouTube live-stream. Should you need assistance, please contact our registration desk at the green lounge for help.

  • Praying Room

    Male and female praying rooms are located at Basement 2 of Block E of the venue and are accessible via the car park.

  • Child-care

    The Life Care Society is located opposite our event-venue and offers child care for infants and children up to the age of 6 from 7am - 7pm.

  • Code of Conduct

    The JSConf.Asia team is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.

    Please make contacting our staff your first move should you feel uncomfortable for any reason. A less quick version

  • Privacy

    We don't share names or contact information with anybody unless you give us explicit consent to do so during the online event check-in or by registering your wristband with a sponsor.

    See our complete terms & conditions.





Check out our past conferences:
2018 - 2016 - 2015 - 2014 - 2013 - 2012