Landing rockets in simulations, hosting a Clubhouse session and being on podcast

A week full of Permissionless Learning + I was on a podcast

So this was an interesting week. The week started with me being a part of a podcast, where I talked about:

- Getting started with React and the basics of project structure

- How I got started with programming and tech writing

- Got my first job in React

- How to get side-project ideas

Check it here:

https://devchat.tv/react-round-up/how-to-structure-your-react-projects-rru-141/

Later in the week, with my work at hash.ai, I was trying to build a simulation to land a rocket. It took some messing around and talking with other folks in different teams, but I guess it would be a week or two before I end up landing a rocket: https://core.hash.ai/@akash/hello-world/stable

I also hosted a Clubhouse session on Saturday, which went really well! Was able to connect a lot of my close friends and have deep discussions on things like learning, self-promotion and networking. I’ll be continuing this and trying to talk on new themes every week.

Also tried streaming a little on YT, which failed horribly because my npm dependencies took way too much time to install. Turns out I was on WSL 1 which was causing the issue. Also it’s much faster to use something like codesandbox while streaming, which is what I’ll do from next time.

On Sunday, I went trekking with Madhavi which was really cool.

Also saw a crab

And right now am trying to actively recreate React’s useState and useEffect from scratch :D

https://codesandbox.io/s/modest-merkle-x5p5z?file=/src/index.ts

Learning Product Management - 2 - Designing a Notion Podcast app

Notes on researching competitors, thinking of user stories, and building the User Experience for a Podcast generating app.

Hosting a Clubhouse session on Startup Hiring: 11 AM Saturday https://clubhouse.com/event/xjjwgNQX

Building the Notion Podcast app in CSS + React live! 3 PM Saturday

Hey all! I've been going through a Product Management bootcamp with my wonderful partner Madhavi Swamy, and learning the various aspects of Product Management. Instead of creating personal notes, I'm doing a bit of #learninginpublic and sharing all that I have learned (with screenshots) in this doc.

In my previous post, I talked all about Idea Generation and User Research. In this one, we'll talk about Competitor Research, User Experience and my experience this week building stuff in Figma. Let's go!

Before getting started, let me talk about what the new idea I'm working on is. One of my newsletter readers pointed out that they find it easier to listen to articles rather than read them. I was running a daily news-like podcast for a few days (like 5) so I could reuse the existing feed that I had. All I needed was an easy way to convert my existing article into audio.

There a few solutions online which I tried out and used, but all of them want you to bring your data out of your CMS, paste it into them and then convert that text into audio. However, it should be possible to embed a podcast converter and listener into the page itself, which is what I'm going to try out. In this case, I'll be building it with Notion in mind first. Firstly, let's look at competitor analysis.

Competitor Analysis

Before I get into my part of the story about competitors, I'll list down a few facts about how to identify and get to know about competitors.

Competitors

  • Direct: solving same problem, similar solution, for same customer group

  • Indirect: solving same problem, different solution, overlapping customer group

  • Potential: solving different problem or having different solution, for same customer group

  • Substitute: completely different solution that could replace your solution

Ways to Find Competitors

  • Search by “problems” on Google - type the users pain points or problems/complaints - look for companies that claim to solve that problem

  • Search by “problems” on - Reddit, Quora, Twitter, Hacker News - usually people will respond with names of companies/services that solve that problem

  • Search by “solution” - type exact phrases of your one-line pitch. Try multiple variations.

What to know about Competitors

  • Features: Details of their features, pricing

  • Brand: Learn how users perceive their brand. What is the positioning of their brand compared to ours?

  • Design and User Experience: How well designed is their product? Do they use the user experience as a differentiator?

  • Speed: How fast they can build and ship?

  • The user base: A large user base has its advantages.

  • Funding/Acquisitions: Large amount of funding or new acquisitions means they can expand fast

  • New feature or product launches

In my case, a few of my competitors would be Blogcast, Listnr and Descript. I tried using them to get a feel of how they work. In short:

  • Descript: Descript is slightly more complex than the previous tools. It's a video/audio editing tool which is built upon being able to edit the media by editing its transcript. It has a pretty nifty feature called Overdub, which allows you to create a voice model of yourself and then add voice-over to your media just by writing text. This is truly magical so you have to check the demo to see how it works. (Starts at 02:42)

User Stories

Building upon User Personas, User Story is an informal and simple explanation of a feature written from the end-user’s perspective.

It goes in the format, "As a <User X>, I want <functionality Y> so that I <achieve goal Z>".

In my case, User Stories would be,

  • As a writer with limited free time, I want the ability to create podcasts instantly so I can save my time.

  • As a webmaster with 1000+ blogposts on my site, I want an automated way to convert all my blogposts into podcast episodes so I don't have to do the process manually.

  • As a maker who blogs on the side, I want a way to generate and manage a podcast in whatever tool I'm using without juggling multiple tools.

User Experience

People should start with prototyping. Either Low Fidelity, eg, simple sketches or using something like Excalidraw or Invision, or High Fidelity using something like Figma.

To learn more about UX, you can check out this blogpost by Prototypr on 10 Usability Heuristics with Examples.

Now let me talk about how I used Figma to build the basic ideas.

  1. I want the complete experience to happen from the embed itself. I don't want the user to visit a different website.

  2. Since ease-of-creation is the focus, it should be as automated as possible and only ask user input in the most important actions.

With these 2 guiding principles, I set out to make my basic design. To start, I set out to think of how the podcast player would look on a Notion page.

For the podcast player, I took motivation from the Anchor embedded podcast player.

This is the design I came up with, which kind of ends up looking exactly the same 😅.

Here's a screenshot of the complete flow a user will follow:

  1. A user logs in if he already isn't logged in.

  2. On next step, the player tries to detect the Notion page it's embedded in.

  3. If it fails or is incorrect, user can manually add URL

  4. Loading state.

  5. Display error and reason for failure, allow user to edit URL and publish again.

  6. And done!

So that was my way of building a Figma prototype 😅. I know it didn't follow the exact steps for good UX, but I decided to feel it out and iterate as I get feedback/new ideas.

You can check out the complete Figma file here (which will be kept updated).

Thanks for reading this summary! I'll catch you next week with the next set of notes for the sessions and with my progress on my app. You can subscribe to this newsletter or follow me on Twitter @thewritingdev.

Product Management Bootcamp Notes - 1 - Customer Research

Notes while going through a Product Management Bootcamp on getting new ideas and researching your customers

I'm currently going through a Product Bootcamp run by Anusha Jain, with my wonderful partner Madhavi Swamy, and learning the various aspects of Product Management. Instead of creating personal notes, I'm doing a bit of #learninginpublic and sharing all that I have learned (with screenshots) on my blog.

I'm going to write in a very notesy way so there will be slightly lesser story-telling here, although I will still try to maintain that tone as much as possible.

The Beginning

We first talk about the various stages in Product Management.

New Ideas

For conceiving new ideas, these ideas can come from:

  1. Employees

  2. User Feedback - social media, emails, forms

  3. Clients

  4. Competitors

  5. Metrics/User Behavior

But, we still need to validate the ideas that we come up with. And that requires User Research.

Before getting started with our case study, we were paired into teams of 3. For this case study, we were paired with Suyash Maheshwari who was super helpful during the persona creation and User journey mapping part due to his extensive experience in Business Analysis.

For our case study, we were told to choose an existing product so that we don't have to spend time on novel research and get time to work on User Research and Personas instead. I chose to go with the Roomba because it's the product that I most wish existed in a mass-market format in India. Some variants of it exist, but they aren't widely used. So I wanted to go ahead and research why people aren't going for a robotic solution for their floor cleaning.

User Research

For this section, I'll quickly go over a few terminologies and Research techniques we need to quickly understand. User Research consists of either conducting Interviews (small-scale but intensive) or surveys (large-scale but not intensive).

The purposes of User Research are:

  1. Exploratory (Customer Discovery) - to gain understanding of users, for new feature development .

  2. Validation - you have a rough idea and a problem hypothesis.

  3. Efficiency - to make incremental improvements to existing product.

In my case, finding users to research was easy. I saw my mother work everyday (we contribute to household work of course, but the majority of work was done by her), and I know other friends who either live alone or live an a household where no one might have time to do household chores. So I decided to divide user interviews between me and Madhavi, and we interviewed ~3 people each. I'll talk about the results of these interviews in the User Personas section.

User Personas

The most efficient way to do User Research is to create 3-7 hypothetical target User Personas for your feature or your app and validate them via user interviews/surveys.

  • Personas help you get into the mind of your user and identify with them

  • They help you clearly understand the goals and behaviors of different users

More likely, preliminary surveys help in finding User Personas and you drill down on them using User Interviews.

Customer Interviews

Never introduce your idea or hypothesis

General Rules:

1. Ask open ended questions, that cannot be answered with a yes or no.
2. Don’t ask leading questions.
3. Don’t ask hypothetical questions.
4. Don’t ask users about future plans or opinions.
5. Let them go off-tangent.
6. Get excited to hear things that you don’t want to hear.
7. Don’t show your opinions
8. Use this line - “That’s interesting, tell me more”.

User Surveys

1. Keep it short, every question should have a specific purpose
2. Ask broad questions before specific questions
3. Don’t ask biased or leading or hypothetical questions
4. Don’t ask open ended questions - instead ask rating based questions.

To get started with User Interviews, you first need a set of User Personas to test them against, so the User Personas we decided to create were:
- A bachelor living with roommates.
- A working couple who divide household work.
- A rich household with full-time househelp.

Now, for our product, how can we position it or ideate it that it would be useful for all of them? But before that, would they even need a product? To understand this, we had to do user interviews. For this, me and Madhavi divided the users we would interview.

So, the users I ended up interviewing were:
- my Mother.
- a friend who lives alone but takes great care of his house.
- a friend who lives in a large house but everyone is a working professional.

And Madhavi interviewed:
- a friend of hers who lives with roommates.
- her mother.
- a full-time househelp.

Here's the transcript for one of those interviews with Madhavi's mum:

  1. Do you care about keeping your house clean? How do you handle housework - Yes, cleaning is necessary to keep the space safe from allergens and dirt and messy dirty homes account for bad health. Handle by cleaning and disinfecting the house space themselves

  2. How many times a week do you do it? - The cleaning work is done on a daily basis - floors are cleaned and disinfected daily and the rest of the house i.e. walls, wardrobes, decorative items, shelves, tables etc. are cleaned once a week.

  3. What problems do you face? - Have to clean with bare hands, hands become dry, itchy and scaly. The disinfectants sometimes can also cause chronic skin damages. Health issues like back, neck and knee pain also arise for middle to old aged people. Some even have to deal with allergies corresponding to the dirt and dust

  4. What have you done to solve those problems? (have they tried to search for a solution?) - Hired a maid, purchasing cleaning machines, hiring cleaning agencies

  5. Have you made any recent purchases to solve housework? What are they? - Yes, A vacuum cleaner, Floor mop.

  6. Have these solutions solved your problem - Not entirely, the machines help but they cannot reach certain areas of the house like corners, so that have to be manually cleaned. The machines are not economical for the lower economic class people.

In conclusion, most interviews went similarly. Although some people are intrigued by having an automated machine like a Roomba in their house, most are content with domestic help itself since it costs them < Rs. 1500 a month to get cleaning and cooking done 7 days a week. So it doesn't sound like there's a real problem to solve here. Perhaps for the next case study, we'll choose a different problem to solve.

Customer Journey Mapping

The final part of customer research comes with Customer Journey Mapping. They document a customer’s journey from the very first interaction to the last. It helps identify important gaps/inefficiencies in a product.

To have a look at the User Personas and Customer Journey Map we built, have a look at the Google Doc we built here.

Thanks for reading this summary! I'll catch you next week with the next set of notes for the sessions. You can subscribe to this newsletter or follow me on Twitter @thewritingdev.

Improving my OSS library and taking steps towards improving my YT quality

After banging my head against the wall for a few weeks, I've finally made some solid steps towards improving the documentation of my open-source web framework ⚡️.

1. Added keywords to the npm repo to make it pop up for more search queries.

2. Added better demo usecases:
a. Summing up 2 large numbers.
b. Fetching data from API call in server (to hide secrets) and returning result to client.
c. Return list of files on server to client (ls -la /).

3. Explained how Object Proxies, Websockets and Typescript Generics are used to bring the library together.
a. Websockets
- High performance & reliability
- Smaller Code Footprint
b. Object Proxies
- Get control over getters/setters of objects
c. Typescript Generics
- Help improve auto-complete
- Return correct types for each function and help in compile phase.


You can check more out on the Github link: https://github.com/akash-joshi/functions-without-borders.

I’ll be writing an article for freeCodeCamp on this soonish, and meanwhile I’m doing a Product Management Bootcamp, from which I hope to learn a lot more about product than I can by just being a programmer.

I’m also creating a new room setup for my Youtube videos, so I hope to increase the production quality there soon, so I get better at creating content 🤞.

Feel free to reach out to me to discuss any of my work :D

Discuss on Twitter:

Where do I invest my money in India?

Have money, but don't know where to put it? Here are some ideas.

Hey all, so I've written about Personal Finance previously. I've linked to various Personal Finances resources and talked about my thoughts on it in this blogpost.

Disclaimer: None of this is Financial Advice, I recommend you to do your own research before making any investments. Also, none of the statements made here should be taken as absolute fact, I'm in the process of learning myself and admittedly am at a very early stage of the journey.

I'm currently going through a transition period at work for the next couple of weeks, so I'm not getting enough time to work on my content or my projects so far. My next major dev-focussed blogpost will (hopefully) go out next week, but meanwhile I wanted to talk about something I've been focussing on recently, which is money and investments.

Investing is a major component of life, and for achieving financial goals like buying a car, buying a house, or even reaching FI/RE (Financial Independence/Retire Early). This is because money which is sitting in your savings account or Fixed Deposit actually loses out against inflation (which peaked at ~12% for India after the 2008 Housing crisis), whereas money invested in a good stock or ETF (Exchange Tracked Fund) can give you multiples in returns over a period of multiple years.

This covid crisis also made me ask questions like Which financial instruments should I invest in? and How much should one invest in them? and also go about searching for their answers. So, here are some of the solutions I found and adopted through my research.

Financial Instruments are tradable assets meant for investment like FD, ETF, stock, Mutual Funds, etc

1. Which financial instruments should I invest in?

To answer this, let's look at what financial instruments are actually available to invest in for a retail investor :

Retail Investor, ie, not a bank, financial institution, or institutional investor

  1. Fixed Deposits: These offer the lowest interest rates of all financial instruments but offer maximum relative safety among all instruments. The ease of withdrawing money from Fixed Deposits is also easier, depending on the contract. Therefore, it's generally recommended to keep your emergency fund in FDs.

  2. Public Provident Fund (PPF): Having a 15-year lock in period at an interest rate of 7.1%, PPFs are for the money which you are willing to kiss goodbye (or save tax on) for that period of time. You can only invest upto 1.5 Lakhs in a PPF account in an year, which conveniently coincides with the 1.5 Lakh limit on the 80C tax-saving investment. There's no real discussion about investing to have here, if you can afford to, you should always max out your PPF investment.

  3. Stock/Mutual Funds/ETFs: This is the most famous financial instrument and what stock-brokers, banks, anyone who wants your money will try to sell you on. Brokers can earn a lot of commission on these, so I heavily recommend you to do your own research on any stock/MF/whatever before letting someone handle your money, or better yet, invest by yourself through one of many commission-free platforms which have cropped up online. I personally use kuvera.in, feel free to use my invite code WND8Y for some free digital gold (or don't). Now, to explain what the above terms mean in my words:

    1. Stock: Stock of a company is a part of the total shares in which its ownership is divided. The stock of a company is freely tradable in the stock market and can go up or down depending on multiple factors like market conditions, performance of the company, any favourable government policies, or even someone's tweets!!
      The simplest way to earn money in stocks is buying when the stock price is low, and selling when it's high. Although, that's not easy, as there are millions of day traders1 trying to do the same. So, it's generally recommended to only invest in that stock which you are willing to hold on for a longer period of time to sell later on at a higher price.
      To reduce risk, it's recommended to hold on to multiple stock at a time, which is where Mutual Funds and ETFs come in.

    2. Mutual Funds: Mutual Funds are investment funds managed by a fund manager (someone who manages the fund), in which the money of all investors is pooled (collected or collated) and invested into a set of stock. The investors then receive returns based on the amount which was invested and the returns of each stock invested into by the fund (kind of like a weighted average). There's a lot to learn here so I recommend going through this course by Zerodha.
      Mutual Funds are generally safer than direct stock investments if you do not have enough time to research individual stocks and make your own judgement. However, you do end up relying on the biases of the fund manager, so research your Mutual Funds heavily before choosing them.

    3. Exchange Tracked Funds: ETFs, index funds, or whatever else you want to call them are the most famous and most recommended financial instruments of the bunch. This is because instead of being managed by a human, like a fund manager, ETFs track exchanges, or a subset of an exchange instead. Eg, a NASDAQ ETF will track America's stock market (this is a very simplified explanation), an ETF for Nifty 50 will track the 50 largest companies on India's stock market.
      Investing in ETFs over other instruments is recommended because it's generally shown that an investment in the market itself (via ETFs or index funds) generally beats any active stock trading effort or even multiple Mutual Funds. This theory was most publicly popularized by the book A Random Walk Down Wall Street where the author says "asset prices typically exhibit signs of a random walk and that one cannot consistently outperform market averages".

    4. Crypto: And finally, I come to the black sheep in the finance room, which everyone keeps talking about but no one really understands, crypto. At the present time (as I have read and understood) any investment into the cryptocurrency market is a big Ponzi scheme2, or pump-and-dump scheme3.
      However, there of course are true believers of crypto, and it might be extremely ignorant in hindsight to write-off all of crypto as those statements.
      In any case, this is the most volatile asset of them all, with prices going up or down 400% in a day depending on someone's tweets. Also, the crypto market doesn't sleep (have any fixed hours), so you will have to depend on some form of automation to keep your investments safe. Needless to say, do your research well ;)

2. How much should one invest in them?

As we've already looked at what each of the Financial Instruments do, let's look at how much you should be investing in them:

  1. Fixed Deposits: As we previously discussed, since FDs are the safest of all instruments, you should have all, or part, of your Emergency Funds in FDs. This fund is for emergency like loss of job, medical emergencies, or anything else. It can vary from 2-6 Lakhs, depending on your personal needs.
    Personally, I choose to have half of my emergency fund in a high-interest, fast withdrawal FD, and the other half in my savings account.

  2. Stock/Mutual Funds/ETFs: These are the assets you should primarily be investing in, since they will be giving you the maximum returns. Personally, I focus on ETFs with a secondary focus on Mutual Funds for things like debt, investment in tech stock, etc.
    How much you should invest in a monthly basis depends on what your monthly expenses are. The more you are able to save, the more you should invest here, barring your emergency fund and PPF accounts are filled out.

  1. Crypto/Day Trading: And finally, we come to Crypto trading. I pair stock day-trading and crypto together because both are speculative investments. You should only invest as much as you're willing to lose, because either the underlying asset is highly volatile, or making those trades can actually make you end up losing money.
    Personally, I've made a small initial investment in Crypto on which I've made a return of multiples, but that is purely because of the volatile nature of the market. I could just as easily lose my investment + returns on any day because someone on Twitter doesn't like the coin. I use WazirX to invest in and manage my crypto investment. Whether you yourself should invest in Crypto depends on your risk appetite.

Conclusion

That would be it! In case you have any questions or comments to add to this, feel free to write them below 😄.

1

Day trading is a form of speculation in securities in which a trader buys and sells a financial instrument within the same trading day

2

Ponzi Scheme: A Ponzi scheme is a fraudulent investing scam which generates returns for earlier investors with money taken from later investors. This is similar to a pyramid scheme in that both are based on using new investors' funds to pay the earlier backers.

3

Pump-and-dump Schemes: Pump-and-dump is a scheme that attempts to boost the price of a stock through recommendations based on false, misleading, or greatly exaggerated statements. The initial investors then sell their stock at a profit.

Loading more posts…