Making the decision to purchase – How to visualise value

Why I want to purchase visualise value course? 

  • WordPress sites are only as good as the theme is 
  • I only have good taste. I can tell good from bad. Not able to convert taste into real world stuff
  • Spend hours trying to find the best theme and it still falls short
  • The price will increase – I will not be able to afford it then

Where will I put this in practice

For the next 3 months I will be focusing on building Mr Albert (gst filing service for self employed indians) and Asyncauto ( a specialised dev shop). I will use the learning from this and try and improved the messaging on these.

For Mr Albert I have a recurring revenue of

and for Asyncauto I have one active client.

Landing page for Mr Albert looks like this:

Landing page for Asyncauto looks like this:

Outcome I would like to have with this course:

The landing pages above look sort of ok. If I am able to polish these and additionally bring in significant more revenue, then this will be worth it. Hopefully I can show some output in 3 months time.

Bet that I am taking:

How create a read only user?

Good reasons why someone wants to access db

  • Analytics tools like metabase
  • Datascience team wants access to tables

Why create read only users?

  • Analytics tools are supposed to be used by non-developers. You dont want them to accidentally alter data
  • Only the app should alter data. Dont give people an opportunity to alter data outside of the app or via the api.

How to

-- create user
CREATE USER dbreadonlyuser WITH PASSWORD 'somepass';

-- give user permission to connect to db
GRANT CONNECT ON DATABASE dbname TO dbreadonlyuser;

-- give user permission to access schema
GRANT USAGE ON SCHEMA "public" TO dbreadonlyuser;

-- grants access to all tables in this schema public for this user

-- grants access to all future tables that you might add to the db. This way you dont want to keep running the previous command again and again when you create new table

Things to replace:

  • dbreadonlyuser – replace this with your choice of db user name
  • somepass – replace this with your choice of password
  • dbname – replace with the database’s name that you want to access

Day 1 of 1hr meditation


Naval Ravikanth recommends doing 1hr long meditation every day (atleast for 6o days). He has talked about the benefits of this in his podcast and via his tweets. My friend – Kedar, has always sworn by about the benefits of meditation.

I know both Kedar and Naval are very smart, intelligent people. I know there has to be some real backing to what they are saying. I have seen Kedar doing meditation when there are plenty of reasons not to (like when there are people around, when travelling etc). Always knew there has to be some benefit to doing it. Otherwise these guys will not be doing it.

I have tried meditating. I have always half-assed it. Do it for 10 mins. Do it once in a while etc. I was always put off by the thought of having to do nothing for 1hr. To me it looked like a waste of time. After years of avoiding doing it, I think I am starting to realise that it is not a waste of time.

After years of observing myself, I noticed that I spend more time watching youtube and being distracted than I save by not meditating. Saving time by not meditating is clear to me now was just bad short term optimisation.

Giving it a go:

Previous meditating attempts were based around an app giving guided meditation. For some reason I am not able to connect to the voice. My struggles are different. Naval’s meditation recommendation is – 1hr every day for 60 days. Do nothing. Give your thoughts an audience.

This makes sense. I can vent out my frustrations. Today April 20th is day 1 of the 60 days. I am going to force myself to sit for 1 hr every day for 60 days. After that, if I like it I will continue. If I dont like it, I will give up. No pressure.

Day 1: Setup

Setup is very simple. It consists of 3 things, 1) a chair on the balcony, 2) a stop watch(on phone) 3) a habit tracking app (streak)

Chair on the balcony


Challenges faced

Desire to check time remaining

1hr is a long time to do nothing. 5 mins in, I feel like checking time remaining. Its probably good that I dont know the time remaining, that way I will not feel demotivated by looking at the amount of time remaining.

I keep telling myself. Relax, this is going to take a long time.

Desire to get up and do some action

While letting my thoughts free, somethings I might be thinking of some problem at work. I might think though different solutions and when I feel like one of these solutions might work, I feel like getting up and quickly trying out the solution. Sometimes I feel like taking notes..

I had to keep convincing myself that I am going to do nothing and I am not going to break the 1hr based on whatever I feel like in the short term. I am not going to do short term optimisation. If the solution is that viable, it will come back to be again.

Worry that the stopwatch might not ring (and maybe I will meditate for ever)

This is a weird worry. I have no sense of time. Of course, I know I am not going to meditate for ever, but kept thinking what if the alarm does not go off? What if it is in silent and I over meditate?

I opened my eyes in between once to check time remaining. There was 8 minutes remaining. I was both pleased with myself (I did nothing for 52 mins) and not happy because I could have not done anything for another 8 minutes. The next 8 minutes felt like a long time.

For tomorrow I am going to test the stop watch by testing it before starting the meditation. This way, I can atleast be sure that the alarm will go off in 1 hr.

Change ZSH terminal prompt

You can test what prompt you like by running the following command in the terminal – PROMPT='%/ %# '

My preferred basic prompt – PROMPT='%n@%1~ %# '. This will give me a prompt that looks like this – alex.jv@ec2code %.

In order to make sure this prompt is available on opening new terminal, its needs to be added to profile.

touch ~/.zshrc – create – zshrc file

open ~/.zshrc – open zshrc file and add PROMPT='%n@%1~ %# ' to the file.


Book digest – “knock knock” by Seth Godin


This post is my take away from this book – knock knock (it is available online) by Seth Godin

I found this book from Value Saas Basecamp guide: An Indian founder’s guide to achieve first $10k MRR.

Book digest

What a website does? 

Big picture #1: purpose

  • Turns a stranger into a friend and a friend into a customer
  • Talks in a tone of voice that persuades people to believe the story that you are telling

Big picture #2: what can happen

After someone sees it, it can cause one of these 4 things to happen:

  • clicks and goes somewhere you want that person to go
  • Clicks and gives you permission to follow up by email or phone
  • Clicks and buys something
  • Tells a friend either by clicking on or by blogging or phoning or talking

A web page is a step in a process.

A webpage is not a place. A web page is a step in a process. They are supposed to choose a direction and take you to the next step.

Web page are better off being good at one thing. 

Eg: Buying traffic:

$1 cost per click

People who land up 20% of then clicks on next step- say free trial- cost $5 per user at this step

After trial the conversion turns out to be – 20% conversion – $100 for a customer.

In the case, pages clearly acts as steps in your conversion funnel.

First big rule: 

View your site as a service of steps that go from stranger clicking on an ad, all the way to a satisfied customer telling ten friends. Figure out which step is least efficient, and focus all your energy on making it more efficient. Measure everything. 

Another great principle

Like it or not, every page on your site has a ton of voice. That tone must match the expectation of the visitors or they will misunderstand who you are (or worse, flee). Choose a tone that matches or exceeds the tone of your sucessful competitions 

The challenging thing here, is that one person’s appropriate vernacular is another person’s trite over-design. There is n o way to predict what the visitor’s worldview is going to be … no way to know what a given person is going to get it. 

Principle- you have to choose

You have to choose – you are never going to please everyone, so you should  not ever try. If you do, you will fail at pleasing anyone. Instead, imaging who your very best audience is and go straight for the heart of that group – and ignore everyone else. 

Principle – there is nothing just as a home page. 

When you send someone to your website, dont send them to your home page. You can have as many entrances to your site as you want – landing pages. 

People can land on your landing pages via google search or via ads or via people sharing links. 

We are been trained by the engineers to see a website as a pyramid, with a home page at the top and an ever-increasing range of choices as the user digs deeper. 

Instead I’d like you to see a website as a series of processes, as different from each other as each customer is different. 

Other random points:

Choice is a bad thing – If you give people too many choices, 

Contact is a good thing – Give out your contact. With your website you want the conversation to happen.

This is the biggest challenge that most sites face. It takes guts to say,- here is one thing I want you to do. It is much easier to just list every choice. Alas, every choice is no choice. 

Setup metabase via AWS elastic beanstalk

  1. Create a new application on elastic beanstalk
  2. Create a new environment
    • platform -> preconfigured platform -> docker
    • choose single instance – optional
    • choose t2.micro – optional
  3. Clone this repo
    • make changes if need (eg – ssl cert etc)
  4. eb init
  5. eb deploy
  6. Create a database
  7. Configure environment
    • MB_DB_TYPE : postgres
    • MB_DB_DBNAME : metabase
    • MB_DB_PORT : 5432
    • MB_DB_USER
    • MB_DB_PASS
    • MB_DB_HOST
  8. setup dns map via cloudflare – optional
  9. Modify security group to accept traffic only from cloudflare – optional

Cashflowy – Monthly update (November)

Updates summary:


  • First self hosting user
  • Self hosting guideline
  • Doc parser – initial implementation
  • Tags
  • Rule engine – initial implementation
  • Support more banks/credit cards
  • First paying user 


  • Bug fix – default account
  • Support for Singapore dollars
  • Highlight in yellow – “things that you need to take action on”
  • Hover over amount to see foreign currency in INR


  • Commits – 45
  • Customers who are actively using the product – 5
  • Self-Hosted users – 1
  • Paying users – 1
  • Commits from external users – 4 (one user)
  • Revenue – 3k
  • Expense(excluding manpower) – nil


First self-hosting user

This is month where we have the first person to self host cashflowy – Alex Joseph. Alex Joseph works as a data-scientist at System Insights. He has been doing his personal accounting for part 5+ years, and is excited that cashflowy is open source and is try it out.

Self-hosting guideline

Now that we have the first person who showed interest in self hosting cashflowy, we needed a self-hosting guide. We do now – . If you are a developer, you should find the self-hosting guide very easy to follow.

Doc parser – initial implementation

This is a contribution by Akash. We have the basic tech to parse documents. Its important to parse bank statements/credit card statements for the following reasons:

  1. Some information is not available in email eg. HDFC credit card transactions
  2. For being exhaustive(all sources of data is looked into)
  3. To inspire confidence to user that the accounts are accurate

Currently ,we have doc-parser for HDFC credit card only. We use for processing documents. This is an external service. Using this service is a little difficult when self-hosting. Alex Joseph is testing/helping with a custom build doc parser. We might also consider using the newly released AWS textract.


Categories are different from tags. Categories are buckets. Every expense needs to have a category. Tags are optional. Expense can have more than one tag. Tags are means to come back to something or group something together for some organizing purpose other than budgeting. Categories are dedicated for budgeting. For every other grouping purpose use tags.

Want to know the expense associated with a particular location – use tags. Want to know expenses that are experimental – use tags. Want to know the expense associated with weddings that you attended this year – use tags. Want to know expense in a particular trip – use tags.

Rule engine – initial implementation

This is an initial implementation of rule engine. Example of a rule – Want to categorize all transactions to uber as transport, write a rule. Rules engines are simple logic engines that you can use to automate some of your repetitive work. SBI does not have account numbers in some of their statements. Using rule engine, you can specify that if a particular type of email is parsed, and if it does not contain an account number, then you can inject an account number into the parsed data. This way, the accounting is done accurately.

This is only partly implemented. I will talk about it more in coming months.

Support more banks/credit cards

An an ongoing activity, as an when we come across new users who use a bank that we dont support yet, we write parsers for emails send by these banks/credit cards. This month we have parsers written for the following:

  • Yes bank credit card
  • SBI bank
  • Zerodha – auto transfer

Yes bank credit card filters was written by Alex Joseph.

First paying user

This is a major milestone. Cashflowy has its first paying user- Sunil – a professional consultant who consults for IKP EDEN. Sunil is paying Rs 3000 per year. A lot of my focus is going to make sure he gets his money’s worth over the next year.

Cashflowy is build as a solution to scratch my own itch. I wanted an accounting solution that I can use for life. I wanted something that I can trust, something that will not sell my data. Something that can I pay for, so that the solution will have my best interest in mind both in the short term as well as in the long term. I wanted something that in a long term can nudge me into good financial habits so that my financial health is taken care of. I also wanted something that in the short term can eliminate grunt work associated with tax filing, being a consultant.

Sunil is a professional consultant such as myself. His requirements are definitely not doing to be identical to mine but there is definitely some overlap, adequate overlap to find cashflowy useful. The short term tax grunt work is something that he shares as well. So I maybe some of the value proposition that I wanted from cashflowy resonates with him as well.

Honestly, I was not expecting a paying customer so fast. I am not convinced that cashflowy is a good product yet. It has a long way to go – just to satisfy my requirements. This one customer also does not prove that cashflowy is a viable business yet. Maybe when I get the 10th paying customer, I will start considering cashflowy as something that can be a business.

I honestly think there is something special about professional consultants(PCs). Salaries folks gets predictable income. PCs have taken the first step to owning a business, to obtaining financial freedom. Grunt work associated with tax filings is one thing, but I have noticed they are also more likely to think about long term money management and wealth creation better than salaried folks. There are definitely salaried folks thinking in that direction, but the numbers are less(initial observation). Salaried folks sort of want it, but dont seem to want it enough. Not the case with professional consultants.

Cashflowy is going to focus on this market for a while unless my assumptions/deductions are proven wrong. While we improve the product and make sure that cashflowy remains a finished product for current users, I will also be looking for users similar to Sunil and myself.