Sign in

Clojure/ React Hacker. Indie Business Enthusiast. Amateur Mindfulness Seeker & Writer. Other home:

Did you know that you sleep in multiple phases? At first, you lie down and close your eyes, but it’s still easy to be woken up. As sleep progresses it becomes deeper, to the point where you lose your sense of time and start dreaming. This stage is called deep sleep or REM sleep and it’s essential for learning, memory, and wellbeing. The catch is — you cannot progress to the REM stage until you have finished the earlier, non-REM stages.

Flow state is akin to deep sleep. When you reach your desk, you are not immediately productive. You read…

On March 4, 2020, I saw that my friend Anand was building an open platform to help an NGO. This group had designed a Food and Health Kit and had established safety protocols. I called him up and found myself at a conference the next day.

15 odd people, whom I had never met before were trying to feed the marginalized. They had already raised Rs. 700,000 (~ $ 9,000) and had partnered with an NGO to handle on-ground distribution.

I was told that the our kit was designed to sustain a small family for 1 month.

The optimist in…

Photo by chris panas on Unsplash

Switching Component Libraries is hard

You just found out that a Modal library you use is malicious and can potentially steal user data.

You want to replace this library ASAP. But your app is in prod and has over 100 usage instances. What will you do?

I was in a similar situation, except the library we depended on wasn’t rogue. We needed to change the library because we found a better one.

Updating a library is hard because every library has a different API.

To future proof our applications, we introduced the concept of Component Interfaces. …

This month’s startup ideas have 3 offerings:

Text to social media ads

Most posters/ads/banners are not creative production, but just an aggregation of stock photos, graphics, and content. This aggregation takes is a set of menial tasks like:

  • Search Stock Photo Sites
  • Search Stock Graphic Sites
  • Create a simple Design

Automate these tasks in an engine that can convert any text into a banner.

Target Audience

Bloggers, Ad Agencies, Maybe People who make presentations.


  • A neural network that studies existing ad designs
  • An NLP engine that parses a sentence, fetches relevant images and illustrations
  • A design engine uses the neural net and fetched resources…

This story is available without a paywall at

At the end of 2016, a colleague and I built a sales acceleration platform. It was a bunch of if statements that we tried to sell as AI.

We were both developers and had to learn how to sell in order to survive.

We didn’t survive, but we gained a new perspective.

Photo by Kaleidico on Unsplash

I used to think of salespeople as charmers and smooth talkers, but under the hood, their skills are exceptional.

Sales reps are excellent listeners

A sales rep’s job is to figure out if the lead needs their product.

The strategy is pretty simple: ask…

Cover Photo by Stoica Ionela on Unsplash

Writing ideas down allow them to rest and germinate. This is an attempt to log my thoughts so I can refer them later. If you are wondering, “Aren’t ideas to be kept secret?”, my personal opinion is no, because ideas are cheap. It’s only the execution that matters.

For this version, I have been thinking about two products. Both of them are in the content creation/ blogging domain.

They are:

JAM Stats

Static Website Analytics Powered by Google Sheets

With the rise of static site publishing and headless CMSes, there is a trend to shift personal blogs and other small sites to JAM.

But the available analytics solutions are…

Most projects I work on tend to have more than one front-end. Admins have their admin panel, customers access the main site and developers might have some developer status panel.

In this tutorial, we’ll learn how to set up and securely serve multiple sites with Docker. Although targeted at React, this approach can be used to serve anything that exports HTML.

Base Photo by Gabriel Gurrola on Unsplash


This tutorial assumes that you are familiar with Docker and docker-compose.

It also assumes that we have two sites: admin-ui and ui. Both these sites reside in a directory called MyApp. And both these sites contain a folder called…

git commit -am “Improve DX, Implement POST route”

In part 1 and part 2 of the series, we walked through setting up a Clojure application from scratch. Part two ended with a working GET route.

In this part, we’ll upgrade our developer experience, introduce REPL and implement the POST route.

Photo by Jose Antonio Gallego Vázquez on Unsplash

git commit -am “Add database using HugSQL and Postgres”

Base Photo by Jose Antonio Gallego Vázquez on Unsplash

You have built a simple app. Now you want it to be a little more useful. You want to ultimately push it to prod right?

In this part, we’d connect to a database and handle CRUD.

What’s up with the Drug Dealer title?

Drug Dealer is a better click bait than a medical store. In the language of the civilized, we are building a medical store system.

In the last part we created a simple app structure to handle a drug store. A drug store had an inventory, each drug had a price, procurement was via offline sources and there was a retail window.

I carefully crafted…

Base Photo by Jose Antonio Gallego Vázquez on Unsplash

Over the last 2 years, Clojure has become my primary language. It compiles to Java & JavaScript and has a few other advantages that I learnt over time.

One of the disadvantage was the steep upfront learning curve. If you are just getting started with Clojure, this (and a series of future posts) might help you.

For today, we’ll be building a Drug Dealer API. Imagine a drug store near you ( don’t let the word dealer delude you):

  • it has an inventory
  • each drug has a price and a stock
  • drugs are sold on a retail window and
  • are…

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