Monday, August 10, 2020

During the 2020 Pandemic: starting a new product from Laos

I have been traveling all across SE Asia since November 2019. This was part of my long term digital nomad lifestyle which would have otherwise taken me to live for about 6 months each in Japan, Canada, Denmark (or another Scandinavian nation) and New Zealand. That, mixed with bakpacking through South America, Africa and Eastern Europe was my dream for the next 3-5 years.


Then 2020 happened. By mid-March it was clear to me that things are going to get difficult, travel wise. I was in Luang Prabang, Laos at that moment and wanted to take a flight to Bangkok, Thailand. I booked the ticket and showed up at the airport only to be prohibited entry because Thailand had changed their Visa on Arrival policy the week before. I had a little bit of a panic and took a bus to Vientiane, the capital of Laos. The next morning I tried the Friendship bridge between Laos and Thailand but was given the same reason for not allowing entry to Thailand.

I think it was March 18, 2020 and it hit me that I will be stuck in Vientiane with a group of stranded travelers. Some of them were waiting for a flight out, while others were just waiting out the situation. I felt that not having my usual travel mode might negatively affect my mental state of being. I was honestly super happy and high up to that point. So I decided to get back to the founder communities online, the ones which have always given me a sense of belonging and purpose.

After lurking around a week or so, I decided to start a new product journey. My plan from 2019 was to continue working on my previous Travel startup, but I paused that due to the uncertainty hovering the pandemic. I worked on an initial, quite broken, prototype and started talking to potential customers. With about 3 months of effort, still staying at the same place in Vientiane, I had a really clear picture of the MVP.

As an engineer with lots of founder connections across the world, I am blessed with the skills, peer-support and finances to create a new product journey. I understand deeply how important and fundamental these are to the quality of life that I do. I am not a money-driven person, rather very mission driven. Being able to focus on a problem and start solving it is an immense luxury. I know this since I did not have it in my growing up years.

Now, in the month of August 2020, I am happy for where I am with my product. I have been some great connections with interested early adopters, mainly from the US. I will double down on my efforts to connect with European founders since I want to go back and live there for some months post-pandemic. Meanwhile I will focus on launching the MVP and marketing it.

It has been about 5 months since the first lock-down (Laos and India had it almost at the same time) and so many people are negatively affected. Small and Medium businesses are at the edge of a steep fall across the world. Our lives and economies have been affected in incomprehensible ways. Understanding that I have the luxury to hole up in a random place on the planet and work, I surely intend to use this time for the purpose of fueling other entrepreneurs' goals and accelerating our global comeback. More power to people.

The different worlds of Personal and Professional relations

I have somehow always mixed the worlds of Personal and Professional relations and paid huge price for that mix up. It is an aspect that I am still learning, but as I feel a little more confident in my handling of this aspect, I felt like writing out my thoughts. A lot of people including myself have raging debates about the definition or meaning of these two sides of our adult life and how they are (not?) connected.

When I say Personal, I mean friends, family, a special someone, relatives or people in general that I care about where I do not think about the financial cost or some sense of duty or obligation. There is a natural bond, which might be a blood relation or not. Also, I surely include my pets in Personal relations - they are awesome Personal relations.

When I say Professional, I mean people from work, colleagues, boss, managers and such who I solely know for my work/business purposes and have not known them enough to call them Personal relations. The important part is that I am more duty bound to them, with rules and obligations driving the relationship.

Since these are very human ways to define, naturally words do not always let us express what we mean. So let's take some examples.

Say MuaMua is a friend of mine, I know her for a long time and we care for each other. Now she goes through a tough time due to a family crisis. I will go to whatever lengths I can to be there, to support her. The main thing driving me is that I care about her and our friendship. I care that she exists in my life. There are strong emotions involved that will keep my mind focused toward her well being.

Now say MuaMua is only my boss. She got into the same issue, she struggles to keep up the business, things are falling apart. I will still try to help as an individual or with everyone else in the company, maybe even pool in money. But unless there was an existing emotional connection, all this is still fairly duty bound. As humans we have our duty toward people around us, our neighbors, peers, and others in general. But I will perhaps start looking for a new job - and this is a vital part of the definition.

Professional relations are, by nature, around money
. There is no denying this. If I perform poorly time after time, maybe due to mental issues, surely my boss might try and get me to a counselor but she will also try to replace me.

This sounds harsh but it is reality. We all have limited buckets of strength, some have larger buckets than others. And we need to share than strength and support for people around us. So we prioritize.

Professional relations naturally exist because there is a barter, an exchange of skills and money. In Personal relations I could sit with you under a mango tree every evening and just enjoy the sunset.

In Personal relations, there is nothing being bartered than a silent vow. There is no way to value how much I am willing to risk for you, maybe infinity. There is no upper limit, it is all gut feelings and butterflies. In Professional relations, it will boil down to stakes, salaries, insurances and such.
Build healthier relations, start by drawing boundaries and knowing what the relation is for. And remember that you can have Personal and Professional relations with the same people, just make that clear. Communication matters.

Tuesday, June 16, 2020

Mental health, Routines, Anchors and Blah

I started talking freely about mental health a couple years back. Initially I used to have enough lack of confidence that I was not even able to share that I have issues. Gradually, after seeing people around me and finding others who share, I started sharing. It has been quite a few years since I went through multiple sessions of counseling, which have helped immensely.

Mental health is a repeating topic for those who have mental health issues. We can not simply shove them under the carpet and assume everything is nice and colorful. Being mindful helps a lot. Sometimes is is easy to get feedback or support from peers, friends and family but other times is is very difficult. The Covid-19 situation has made a lot of people feel very uncomfortable in isolation to say the least.

I have been a workaholic most of my adult life but I do not relate to that lifestyle at all anymore. I like a more active traveling lifestyle where I have plenty of time for friends and family. Work used to be an escape for me and it is still a great way to get a routine. But it is not the only way. I try to come up with new routines to daily life and these elements can be as simply as "clean my clothes every third day". It sounds boring but it breaks the week into chunks I can tackle and feel I have done something. A very important bit to note is that my routine activities nowadays focus inward on myself. So things I do to stay mentally and physically health. Friends are usually not part of "routine".

Work is still extremely important for me. I find a sense of purpose in my work and I always have a mission I am chasing. That gives me an anchor, a private place of peace where I can easily return to from other conflicts. I am easily drawn to conflict so the anchor helps a lot. I feel people can not be anchors, because they might need their own space when you are dependent on them. Art, music, work, sports, some form of creativity are all great anchors in my opinion.

Lastly, things can always go wrong on even regular basis. I have insomnia and I suffer from anxiety. This is a lethal combination in a way. Lack of sleep robs much from my life but I keep trying different things to help my sleep cycle. And sometimes they work well. Other times, it is a Blah... and that is fine. Life is like that. I am mindful and I suggest others to be. Meditate if you can, it is a really potent tool to see yourself in a third person point of view. As if you are the director and the start of your own movie. It helps in introspecting too.

Till next time, happy health!

Sunday, June 14, 2020

It is OK

2020 will be a year to remember. But I am not going to write about the perils of 2020. Rather I want to talk about what is important - to accept that is it OK. I have anxiety issues. I go into bursts of panic and until recently I was not even aware of them. I would wake up in the middle of the night because of anxiety almost at a predictable interval after going to bed. My ex was the first person who noticed this.

Living with anxiety is not easy. But it is OK. I am lucky that I have money to travel, friends who care about me, a family back home. I am a software engineer and can earn a living. My brain is not wired in a way to handle sudden conflicting pieces of information. I get defensive, I get angry and I start hurting others. I used to to have severe lack of social confidence. That has improved lately. But all these qualities play together in ways that make me feel both vulnerable as well as wanting to tear apart my enemy at the same time.

Anger is deep rooted in me. When I was growing up, anger was mostly suppressed so no one noticed. I used to conjure up thoughts of slaying social monsters, of being the hero to the wide world. Some of these stories even made their way to my family and they must have thought these are noble aspirations. But there is nothing noble about how they eat into a teenager. I was uncertain of myself and anger was my shelter. Rage was my staff in a world that I could neither comprehend not control.

I was a rebel for sure. And I am thankful that I chose to build businesses with the aim that I would help empower others around me. I had somehow learned how to channel the anger into creative ways. But there was still too much anger left and it showed its ugly face in my friendships, in conflicts and in my relationships. I was pretty clueless till about 28 years old. I became more aware of my conflict prone nature when I went to Germany. Two of my dearest friends (Roland & Debora) somehow led me to a path of acceptance and then counseling. And I started to see a trail of destruction behind me. My depression of about 8 years became apparent.

But, it is OK. We can learn to live a better life with whatever we have, if we want to. The intent has to be clear and strong. I lost another relationship to my personal battles but I started being more calm. I had to accept more of my issues and I was quite surprised how broken I really was/am. But acceptance is powerful. It is an enabler because it gives you the ability to move beyond the darkness of ignorance.

This is still a journey, and I have still much to learn. And many things are not right, but it will be OK.

Lost touch with writing, yet again!

This happens a lot it seems. I am 36 years old now and it has been about 13 years from my first blog post in 2006. Also, in between I already blogged once about losing touch with writing. But hey, at least I am consistent. So a lot has happened, as they always do. The world moves around.

When I moved back from Germany to India in 2017, I thought I would be engaging in a great startup experience with Carrybo. We had a nice small team in Bangalore but somehow the partnership with my Irish co-founders (were they?) did not work out. In retrospect we were different types of mindset that are not compatible.

I belong somewhere close to the MVP style products and startups. Build something small, launch, gather users and feedback. Focus more on getting genuine users and learn from their use cases. My partners are more traditional business people and they saw me as a software engineer who was simply leading a team in India to get a website filled with bells and whistles.

They neither understood the concept of rapid iteration nor were they interested in getting broken products launched. I was also dating someone at that moment and we broke apart in fairly violent ways. I lost track of things around mid-2018 but somehow got around to start working on Travlyng.

In retrospect this was a big mistake. I had not healed at all. Even when I returned from Germany, I was still on my way to get my mind settled, having recently gone through 6 or 8 sessions of counseling. So knowing that I was still emotionally vulnerable, I should have focused on simply traveling. I was in Nepal but when I came home for a break, I started working full time. And then started building a team for Travlyng.

We could not find a revenue model and gradually I started feeling stressed. There was the financial pressure of the company and the emotional pressure of not having dealt with my past issues. So finally in September 2019, I caved in under pressure. I felt I had burned through whatever emotional energy I had gathered in the past year. The team was rather awesome, but I was in no shape or form to guide anyone. I was not even in shape to work. Quitting on my own startups is not new to me but this time I was prepared to accept that I am not doing well.

So I packed my bags and after a brief trip to Bangalore, I headed to Vietnam on 1 November 2019. The next few months were the most beautiful solo life I have ever lived. Initially I had a lot of anxiety (startup, deep past and recent break up) but gradually I started gaining some form of mental control. Some sort of peace.

I think the hardest part is to accept that I am not good at certain things. I accepted I have anger issues, that I am not good at juggling multiple things. I also accepted I am really bad with words, and I hurt people all the time. I went through a long enough period of digital detox, made some amazing travel buddies and bought a motorbike. By this time I had spent 3 months in Vietnam.

I started a 2 months long solo bike trip across Cambodia and Laos on a shitty motorbike (which was all my fault to trust the hostel owner). I will keep my motorbike diaries for another post, but going through all that healed me gradually. I found more calm inside of me and eventually, before the Covid-19 lockdown in Laos, I settled myself at a nice hostel. I started working full time and laid some groundwork for my product. Finally I am here now, somehow content, still nomadic but happy and starting to write again. What will come next? I don't know but I am ready.

Monday, January 22, 2018

Machine Learning, AI, Data Science in simple terms

Hey folks, it has been a while since I posted. I was in a peer group discussing some of these terms recently and then a friend, who was writing a post to demystify these terms, asked me to explain these in plain English.

I thought I would share my views with everyone who is struggling to get these terms. I will use an analogy that perhaps will help. These opinions are as simplified as I could make them, so please take them with a pinch (or more) of salt.

A coffee maker!

Let us have a coffee maker for our thought experiment. We all love some variety of coffee, and there are tons of them. How you brew, how much milk, or none at all, sugar, cream, etc. You get the point.

What if I ask you, yes you, to make the best coffee for all my customers. Now assume you have no idea how to make any kind of coffee. I will supply all the ingredients, and basic tools (a kettle, grinder, and others).

Now I find a whole lot of customers for you. They would come, ask for a type of coffee and you will experiment. Boil the water (or not), add milk (or not), cream (or not), and so on. Oh and vary all kinds of amounts. You will note all your experiments and the result from each customer - trash the coffee or drink + pay. You can see how much they pay, assuming they know what each type of coffee costs and they can add tip if they really like your work.

If you kept doing that experiment over and over again, eventually you will learn how to make good coffee and perhaps of all kinds. That is learning. I did not instruct you how to make coffee, I simply gave you some apparatus, ingredients, and you learnt by seeing the customers response.

The aim of Machine Learning is to enable computers to do the same. There are no clear instructions as to how to do that stuff it is doing, but it figures out by trial and error. Well there is a ton of math involved which is much more complicated than the notes about customers you took, but we will skip that for brevity. We might even mimic biological structures into a computer system to achieve similar ways to learn.

Coffee Rush by Anders Lejczak

Experiment notes about customers

Remember you took notes about how the customer reacted? What they ordered, if they drank or trashed, how much they paid. You can even add time of day, method of payment, blah blah blah. You get the idea.

Now let's say you wanted to understand which kind of coffee is most profitable. That is going to boost your business. This part is Data Science, where you have data but you are looking for clear signals, which might enable you to take decisions. Now if your log book of customers was huge (say a billion coffee experiments a month) you could use Machine Learning as a technique to have a machine figure out ways to crunch through the data. But that is just one of the ways you could analyse the data. The easiest would be simply looking at it row by row, querying or aggregating it by price range, date, etc. You can use a database to store and do these things.

A coffee maker who plays football

Here we get into very debatable topics. You understand by now that you can learn how to make coffee. From your experience you also know how to learn to drive, drill a hole, use an umbrella, play football, etc. You are still one person, but you have the ability to learn. Some of that is rooted in our deep understanding of language and capability to hold abstract things in our head.

A banana is a banana in your head, you somehow "know" what that means. When you see a picture of a banana, or hear a banana or see even a red banana, you still recognize it even if the color is not common. Cognition is very fundamental to us. It allows us to join abstract (the banana in your head) with the real (pack of bananas at the supermarket).

All these abilities make us flexible to be a driver, farmer, salesman or engineer. What if a machine can do the same? What if it could choose what to learn and gradually get there just like we humans do? Well you are getting to Artificial Intelligence (specifically general AI) - the machine counterpart of our own human intelligence.

Friday, February 17, 2017

Frontend Driven Development

I have primarily been a backend web developer, started out with PHP around 2005 and then moving to Python in 2011. I have worked with a lot of JavaScript, mostly using jQuery and friends till 2013. One of the major JavaScript based projects I worked on in this time was an iOS (iPad in particular) based magazine product with native features like swipe, and columnar display of content. That was in 2011 and getting these done without the big JS libraries of today (2017) was a fair challenge. But since then I have focused more and more on the user side of the application but the real change came after the modern single page app frameworks went mainstream. I started out with Backbone.js, tried a bit of Angular.js for a while and finally settled with React.js in 2015.

Being a backend developer in love with Python, I was initially hesitant to move that much of the software to the frontend. I primarily focus on marketplace kind of applications, some of which are very good candidates for single page applications. To be clear, many marketplace applications will not benefit from single page applications. For example if you are just buying an selling stuff, and people stay on the app for a short time till checkout, then it probably makes less sense to build an SPA. Also, you probably need Google and other search engine bots to read your content. Then you might want to stick to backend driven applications and just print HTML.

But if your users are to stay on your application for while, to customize lots of options, to fill in many forms, get notifications, etc. then it probably makes sense to build an SPA. The main difference is this: are your users private and interactive or are your users public and mostly viewers? If your users are the first type, then SPAs make sense.

Web applications, even a few years back we not heavily customized depending on the user. But that is changing a lot. In our applications, we are trying to customize elements in the UI depending on who is seeing it, what pre-conditions they have etc. All of this is geared to make the users' flow as smooth as possible. Guide them through steps, give them important tips, store and act on their preferences and so on.

In traditional backend driven applications, all of this logic would be dealt with in the backend. But that is like expecting a piece of paper to behave like a display screen. You can surely print stuff on the paper and even erase and print again and so on, but the paper is a one-time-print medium. HTML printed from backend is kind of like that. The backend does not treat HTML as a first class citizen. But the browser does and the DOM is powerful. Sure it comes with a bag of worms, but good frameworks make that manageable. I do not have experience with many frameworks so I will stick to React.js here.

Let us take an example, a common one. A user clicks on a item, and has two options - "Add to cart", "Add to wishlist". In the backend driven application, you will make a page refresh, print a new page, with either a +1 in the cart or a +1 in the wishlist. In the frontend application, you just make an API request to update the cart or wishlist. On valid response, you just update your frontend state. The UI updates to reflect the +1 in the right place. Now when the user clicks either the cart or the wishlist icon, the UI shows the current list, which is already hydrated with correct data and actions are already bound. Then if the user wants to kick out an item, again its an API call to sync the backend data, while the frontend state track this change and UI reflects it automatically. Well the automatic part is happening due to the frontend framework.

The UI, as you may imagine, is snappy since the amount of data you are sending per request is ridiculously small compared to sending pages of HTML on every trip. Also the backend has much less work to do, since it is not longer bothered with UI state. The backend mostly becomes a DB with business logic and data validation system.

There is also an added advantage, something that big applications can use. Honestly I have not been involved in an application that has needed this recently. That advantage is load balancing! Since the frontend manages its own state, different parts of the application data could come from different backends, all behind a load balancer. Many of the backends may not need user session since it is sharing publicly available data. For example in my current project, we match students with online work. The list of online work could be considered public data, so we could have it served from a backend which does not track user session. But if the owner of a particular online work needed to change the description, the request would go through a session aware backend.

Users are getting used to quick applications. Even if you are small startup there should be no reason to not use these basic new building blocks and build applications that are more future proof. Pushing data from the backend into SPAs is also easier. Also, this is something users are very used to now - notifications even in web applications are fairly common now.

Now, all said and done, there are some things you have to understand. Building an SPA means you need people who can build rich SPAs and those who can build backends with API. These might be the same person(s) or different, depending on their skillset. Also deployment gets a bit more complicated. But the benefits really outweigh these blockers. And in the end "Least time to achieve my need" always wins. So if your application can benefit from being frontend driven, then go for it. Backend developers are a bit hesitant, but that is okay. This is big shift but has huge benefits.

Sunday, August 14, 2016

The reality of failures

Look around your office desk for a moment (you can imagine an office if you are not at office). What do you see? People focusing on the daily tasks, glued to their screens or notepads, crunching numbers, making phone calls, typing text, doing whatever they have to in order to achieve some daily target that is either self established or was handed down by a manager. If you are in your mid twenties to mid thirties, have a career, have a dream that you are chasing, devoting way more time to what we consider "success" then you might have come across my friend called failure.

Failure has been with me for a decade now. Not because I like him, but because he is just everywhere. It is known that majority of startups/new ventures fail. If that majority is like 90% or more, then 9 of us out of 10 could not get to sustaining financial growth or stability. Without that, you can either burn someone else's money or wind down the venture. After that you either start a new cycle, or do a day job, use your skills, grind everyday at work, still dreaming that one day you will be able to bring some change in the world.

But change is already happening. It is the only constant. Am I not changing the way things work in my day job? I sure am, but why does that not count as success? If you asked a graduate student who just came out with a degree in hand and has a dream of a well paying job where she can build things, lead people and have a good life, then I am already there. In fact I have been there long time back. But that is a measure of someone else's success.

The problem with success or failure is how you measure your life versus how others do. What may be hard earned success  to one man may be just a walk in the park to another woman, and she does not see that as success. Over the years the measuring sticks also change. We grow, learn new things, and our perspectives change. When I was in my early twenties my whole measure of success was to build software products, use cool technology and maybe brag about them. Now it is more about solving someone's problem, the cool shiny toys are not as important anymore. But it is not just about what I do 8-12 hours of my day everyday. It is also about my life or what I think it should be. 10 years back I would not have thought about traveling around the world, making friends, knowing cultures, or having "just" good life. I would have hated these things because they meant nothing to me then. I was all for the glory of new companies trying to change the tomorrow, working crazy hours and not even thinking why I was doing that. I am sure we all have been there for a while.

The older I grow, I measure success and failure differently. And I have to chase these new targets that I deem as success. Things like mentoring others, spending time with friends, seeing the world give me more satisfaction now than a few years back. And I am gravitating towards doing more of these. So why does failure still stick around? Perhaps because I want him to. Because I need something to tell me not to stop moving forward, not to settle for anything less that what I deem as greatness. Perhaps just peer pressure sometimes. Greatness does not have to be a millionaire founder or a rockstar programmer. What is important is to accept that our lives are how we want to measure them. The measuring stick is created from our environment, with our own and others thoughts mixed together. Success and failure will always be together, there is no need for alarm as long as we keep moving towards our personal goals, which will in turn evolve in time. This is the journey, the reality. Without failures it would be a very boring one. Let him motivate you, not threaten you. As they say: what does not kill you makes you stronger.

Have a happy journey!

Tuesday, May 26, 2015

Hackathon HH - 24 hours of awesomeness

It has been three and a half months since I relocated to Hamburg, DE. Working at a medium sized company is a very different experience from the entrepreneurial life I had for many years. The work is fun and it comes with consistent salary at the end of every month so that I can enjoy personal life. But once a while I have the urge to keep on working through the weekend and hack something. The urgency of a very short deadline and the chaos of a project without good specs is still very attractive.

That opportunity came knocking when I attended the Hamburg Hackathon last weekend (23, 24 May 2015). It was a 24 hour hackathon starting on Saturday at 13:30 hours and ending on Sunday at 13:30 hours. I have participated in Yahoo! OpenHack and other hackathons before and they were very large hackathons, with up to 400 people, very enjoyable, and very well organised. So when I went to the Hackathon HH, I had very mixed expectations. But I was very pleasantly surprised.

The hackthon was in its second year, and the level of organisation was already very high. Everything was on time and the organisers were very well coordinated. The venue was very fitting, and as far as I understood it was an old factory or warehouse turned into a startup hub. But the best part was the people. It was a surprisingly mixed bag of folks, not all weirdly geeky, but everyone was very curious to learn and do something.

The weather turned out to be great. It was sunny for the most part and very comfortable temperature. There was a surprise fitness bit where all of us participated for about half an hour of workout outside. It was certainly relaxing after many hours of sitting. When I went to the venue on Saturday morning, I had no intention to stay all through the night. But the overall atmosphere was so inviting that I felt I should have taken a sleeping bag. Sadly that was not the case, so I took a short sleep at home and went back early morning on Sunday.

The anxiety before the deadline was visible on many faces. But everyone was very much enjoying the whole experience. And for me that is the defining purpose of a hackathon - to learn, and experience what it feels to build something in a compressed time with like minded people, mostly strangers. The sponsors had different prizes for various categories, but most had prizes for best apps to use their APIs. Although winning prizes was not my aim, but I did feel like missing the chance for the LEGO sets there were awarded by Twitter. Leaving that bit aside, the hackathon ended on a very high note and I returned home with more determination to spend time learning new things and doing better hacks.

A big thanks to the Hamburg Geekettes and AppCamp

Monday, November 17, 2014

It's been a while

Yes it has really been a while since I had blogged last. 2 years, according to the date on the previous post. I have been feeling to write for sometime now, but I guess the feeling was not strong enough to overcome the mental state of not blogging.

I honestly do not know why I stopped blogging in the first place though. Anyway, no use thinking about that. I guess I will try and blog about what I have been doing all this while, what I have learnt, and am learning now. Let's see how quickly I can write up the first meaningful post now.