I am excited about this topic, since the technology we are going to talk about opens the way for a new generation of web-based apps, which can directly communicate across multiple browser windows without involving a backend.

[side note] The article got pretty long. In case you got only a short amount of time, take a look at the video in 2., read the highlight in 10. and then decide if you want to read all of it.


  1. Introduction
  2. The demo app
  3. Are we using the HTML5 drag & drop API?
  4. How can we communicate between browser windows?
  5. How is…

This article will cover some of the possibilities and advantages of using the new view model implementation. We will talk about code. A lot!

While using view models inside neo.mjs is fairly easy, understanding the internal logic on how it works is challenging, even for experienced Javascript developers.

The article is split into two parts:

  1. How to use view models for your apps, including the code for several example apps as well as videos & online demos
  2. Under the hood: design goals & talking about the view model implementation

Welcome to part 1!


  1. Introduction
  2. What is neo.mjs?
  3. The simple demo…

Especially in case you have a lot of Tabs open inside your Browser, you are most likely using this feature on a daily basis. The drag&drop based re-sorting is fun to use and provides a great user experience.

Just to ensure that you have the same picture in mind:

Now, in case you look at most of today’s Web-based User Interfaces which are using Tabs, you will notice that there is no drag&drop based re-sorting in place.

This is actually a problem, since users are familiar with the feature and like it.

I picked up the challenge to implement…

Bundling Application code for dist versions has always been a challenge, especially in case you want to share code with several Apps or load multiple Apps on one Page.


  1. Introduction
  2. The “data flows downwards” paradigm
  3. How does importing JS modules directly into the Browser work?
  4. Is the Worker Scope supported as well?
  5. How can we achieve the same behaviour for our dist versions?
  6. A Webpack Love Story
  7. What is the tradeoff?
  8. Introducing the neo.mjs v1.4 Release
  9. Can we achieve the same without using neo.mjs?
  10. What can we do with this now?
  11. What is coming next?
  12. What is happening on the…

Many former colleagues and friends have reached out to me and asked: “How did you get this efficient and fast when working inside the UI area?”

While I have been using Javascript for 20 years, experience is really just a small point in a very fast evolving ecosystem.

The biggest impact was switching to JSON based virtual DOM, which boosted my own productivity by at least 200%. Yes, this literally means that I can develop complex UI code 3 times faster as I could before.

Since these concepts are still mostly unknown, I am writing this article to share my…

Especially in case your UIs are growing, it can significantly increase the performance → UX in case you keep the DOM minimal. For many use cases you still want to change the state of inactive (no longer rendered) views.


  1. Introduction
  2. The Problem
  3. The Solution
  4. How does it work?
  5. Can we achieve the same in Angular, React or Vue?
  6. Online Demo
  7. What is neo.mjs?
  8. Expanding Single Page Apps into multiple Browser Windows

1. Introduction

While watching the video, please focus on the DOM inside the dev tools. I am switching between different cards (active views), opening the settings side bar and am changing…


  1. Introduction
  2. The Problems
  3. The Solution
  4. Welcome to the neo.mjs v1.3.0 Release
  5. Is this App a PWA?
  6. The Website Source Code
  7. Live Demo
  8. Can we get a Tutorial on creating this App?
  9. What is coming next?
  10. Final Thoughts

1. Introduction

Please take a look at the Intro Video first, to get the idea:

2. The Problems

You might know the feeling: You create a new GitHub repository and start with a default GH Pages implementation using a default GH design skin. You add more and more content, and suddenly it looks like this:

This article is meant for recruiters, people working in HR as well as candidates. I think that there is the need for a significant change.


  1. Motivation of this article
  2. About me
  3. Basic infos on the Amazon hiring process
  4. Examples of good hiring processes
  5. My personal experience with the Amazon hiring process
  6. Be responsive: Communicate with your candidates
  7. Provide the relevant input
  8. Give feedback
  9. Be open minded — Don’t stick to standard patterns
  10. How to identify talent?
  11. How would I interview a developer instead?
  12. How to not reach out to me?
  13. Last words

1. Motivation of this article

This article is controversial and you might not…


  1. What are we going to build?
  2. Prerequisites
  3. Setting up the Infrastructure
  4. The result of this tutorial
  5. Creating the Footer
  6. Creating the Table View
  7. Loading the data for the Table View
  8. Adding renderers into the Table View
  9. Creating the Helix View
  10. Creating the Helix Controls Container
  11. Basic Routing
  12. Creating the 3d Gallery View
  13. Deploying your App for production
  14. Summary

1. What are we going to build?

Here is a demo video showing the different views of the App:

As you can see, this is already a pretty complex app. We will start from scratch and progressively enhance it, while looking into some of the basic concepts as…

Tobias Uhlig

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store