It’s been 2 years since I started to work on RESTool. During that time I got some really good feedback from the open source community about this project and the way it works — what kept me motivated to continuously add more features and extend its (very) basic original codebase.

What started as a small project for learning Angular 2, soon became my, and many others, the one stop shop for managing RESTful API resources in a nice and simple way, and without having any prior knowledge in Frontend technologies.

If you’re not familiar with RESTool yet, you might want…

react-dynamic-charts in action!

If you don’t have time to read the whole story, just browse to the GitHub repository below👇🏻


A few months ago, we had a global company summit at the beautiful island of Tenerife. It was a great opportunity for all of us to meet and talk to our colleagues from around the world.

Another advantage of this event was that we had all of Outbrain’s R&D group in one place, meaning only one thing: A global CODE CHALLENGE!(!!)

In this code challenge, our engineers wrote code that competed each other in (probably) the biggest bidder coding competition in the world

A few weeks ago I had the privilege to talk in one of the biggest dev conferences in Israel - “Reversim Summit”.

In this talk (Hebrew), I covered an open source project I’ve been working on in the past 2 years called RESTool, reviewed the existing alternatives, and mentioned how I managed to promote it using this blog post.

Oh, and there are endless references to Game of Thrones! 😉


In the past 10 years as a front end developer, I found myself creating internal management tools for RESTful APIs over and over again, while in fact, the usage of…

Recently, I left my job position at Microsoft, and re-joined Outbrain.

Moving between companies isn’t always easy, as there’s not necessarily a consistency between technologies and libraries each company uses for developing their front end projects. For example, at Microsoft we used React for our projects, and in Outbrain the most common framework is Angular.

No matter which framework or libraries you’re going to develop with, product’s specs and requirements for developing web apps will mostly remain the same, so you’ll probably end up creating the same components for different libraries over and over again.

One of the most common…

If you ever developed an app that had any kind of business model you probably needed to support payments from PayPal.

Using PayPal as a platform to accept payments and managing subscriptions is a great solution that as easy as opening PayPal account, creating payment buttons, and adding a few lines of code to your web app. Yup. It’s that easy. 1, 2, 3 and you’re rich!

What’s an IPN Message anyway?

As a developer, I want to get notify on events such as incoming payments, subscription signups, cancellations, etc, in order to change my users’ plan, status, account balance, and even create invoices. PayPal…

4 years ago I started a project called Brackets Ninja which is a tool for managing tournament and creating brackets online.

One of the main challenges I had while I developed this project was to create an algorithm that given a number of participants — knows to create a tree for drawing a single elimination bracket (?) with HTML. I know, it doesn’t sounds like the hardest task you’ve ever heard of, but back at this time I found it quite challenging.

As you may guess, the code I wrote back then isn’t exactly the Mona Lisa, and I didn’t…

A few weeks ago, I wrote about Chatilyzer — a new side project I’ve been working on in past month.

A quick overview about the app and the app’s flow: Chatilyzer allows you to get statistics about your WhatsApp chats. In order the app to work, you need to upload an exported *.txt file of a WhatsApp chat. Chatilyzer is parsing and analyzing the text, and extracting some interesting data from it. Then, you’re being redirected to a results page where you see a nice visualization of your chat’s activity.

An example of Chatilyzer results page

One of the challenges I had while developing this web…

Once in while I’m having the “Side Project Fever” where I have an idea of a cool project and can’t stop coding until it’s out.

This time, the fever brought me to develop Chatilyzer.


Chatilyzer is a WhatsApp group analyzer and visualyzer.

We’re all using WhatsApp everyday, and we’re part of countless WhatsApp groups. But have you ever wondered what’s going on inside of these groups?

Well, Chatilyzer might help you find out. It’s a visualization tool that will tell you things like:

  • Who is the most chitty chatty person in your group
  • What’s the most common emoji
  • How many…

Let’s face it. If there’s one word that product managers like to say, and give us (all developers) a goosebumps the second we hear it, is “Let’s add LOCALIZATION support(or “Let’s A/B test it”, or “MVP”, well, they say a lot of scary things…).

Although adding the support of multiple languages to your app is extremely important, developing it could become a nightmare.

In this article I’ll walk you through the process of adding localization support to your React Native app. Moreover, we’ll add support to RTL languages (such as Hebrew and Arabic). Just in case.


In computing…

0 Errors. 29ms Response time. Caching FTW!

From a 673ms average response time and uncountable errors, to 29ms response time and 0 errors. That’s the immediate result of adding a cache mechanism to my NodeJS service.

In this article I’m going to share some of the techniques I used to achieve that.

Cache is great for improving your app’s performance. It could save you expensive database, 3rd parties API calls, and server to server requests by saving a copy of previous requests’ results locally on your server.

However, caching could be tricky, and if you’re not using it right you could easily find yourself pulling your hair…

Daniel Sternlicht

Frontend & Web technologies addict, founder of Common Ninja and There is a bot for that. Check out my personal website at :)

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