Photo by Max McKinnon on Unsplash

Our passion for user experience

Creating an incredible user experience is a fundamental core value at Dgraph. This holds true for our latest product offering — Slash GraphQL. Slash GraphQL is a fully-managed GraphQL backend database service that lets you focus on building apps, not managing infrastructure. Building Slash required a design process that focused on creating the right user experience to realize this vision.

Often, we need to make design decisions across multiple teams. Design and collaboration on this scale require a well-defined design philosophy — a common design “manifesto” that reflects our through a set of design principles. Our engineering and…

Photo by Anne Nygård on Unsplash


useState is the simplest React hook out in wild but it has a very interesting feature — lazy initialization

If you provide useState with a function, then it will be executed only on the initial render.

When to use

Any function that is computationally expensive can be initialized lazily.


Am I doing it right? Is my project structure correct? Am I getting too biased over a library? Is the naming convention I follow accepted universally? Importantly — Am I doing it right?

Yes, No, Yes, Yes … Maybe

Does your mind ever get into this rambling of self-doubts on your choices & your own framework of getting things done? I often face this, and sometimes it bothers me for days. This can be very frustrating & it definitely needs to be addressed. Also if you are a javascript developer, you totally get what I am saying, right?

So I tried a bunch of options —…

Use Slash GraphQL — just work with GraphQL, no strings attached


Don’t wait for the nightmare of migrating away from Firebase one day when it doesn’t scale anymore for your application. Use Slash GraphQL — just work with GraphQL, no strings attached.

Okay, before I share my view on this, here is an honest disclosure — I work as a front-end engineer at Dgraph Labs but the view expressed in this article is totally personal and based on my own experience of building apps.

The Firebase Spark

No doubt that Firebase is great! I was an early adopter and have seen firebase evolving from a real-time database as a service to the popular app…

Photo by Steven Libralon on Unsplash

Today, the Powerful User

Who’s not a power user in 2020? Most likely you are a power user of an application you use at your workplace everyday.

Power users are generally associated with people’s skill to reap maximum gain of functionalities from a software. Over the last few years, online productive apps & tools on web have altered this definition rather the path has changed.

Fundamentally there is a difference between a power user of vim text editor & a power user of Google Sheet.

RAD Colors

Why do you need loudness?

Software in 21st century doesn’t come with user manuals. They are most likely self installed on a mobile device. Nobody teaches how to operate an app.

Some apps just are just POP & provide . There is no art behind this, its just quantitative analysis. Loudness needs to be tuned across the interface to help the user navigate & take actions.

Loudness is in your head!

You don’t need to make noise(literally) to be heard. You can visually evoke loudness in the mind. Colours, contrast, position & motion help digital interfaces communicate loudness. …

Photo by Franck V. on Unsplash

We are surrounded by machines doing their own It can be the washing machine that when the clothes are dry or the toaster . Companies have weaved sounds in their products to communicate information & more importantly make them lively.

The sounds are functional but beyond that it is visceral. Machines try to set our mood throughout our tasks using sound.

“The person washing socks becomes the hero in a domestic drama”, — Brandon Satanek, UI/UX global manager at Whirlpool shares in an article. An appliance’s notifications provide the soundtrack support the movie, which follows an emotional arc.

Photo by Clint Adair on Unsplash

So to cut the clutter, I will try to highlight major values & challenges in three different lens -

App Centric

Significant boost to developer experience. The documentation become more of a living document & allows the user to self explore documentation with limited or existing domain knowledge. Onboarding developers to use API’s will be easy. (Shopify is an early adopter which has exposed its public APIs over GraphQL)

” team takes the ownership. Engineering effort on the Frontend team or client app centric…

Passing in objects rather than setting individual properties

Photo by Chris Barbalis on Unsplash

This piece should not be mistaken for a design pattern. It’s about good practices you can adopt when writing functions, designing components, or even architecting a system.

The major theme is around configurations, which are generally used across many programming languages. For this article we will use JavaScript to illustrate a few examples. We will discuss this later.

For now, lets explore how configurations can improve the developer experience and rapid development.

What is a Configuration?

A configuration can be as simple as a JSON object with a bunch of key values or as complex as a configuration object managed by a full-blown configuration…

The Tweet That Triggered This

In this short article I will try to explain how this checkered shadow effect was achieved by using just CSS which was a challenge posted by React Day. More than just telling you the solution, I will try to explain my though process around achieving the effect in CSS.

Thiyagaraj T

Frontend at DgraphLabs

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