In defense of ad-supported products

There are two major ways to make money on consumer Internet - subscription or ads. Also, unlike enterprise-world, usage-based subscription is hard and confusing for consumers. So, we end up with 10$ a month all-you-can-consume buffet or we end up with ads. Now, like it or not, not all users are created equal. Some are more valuable than others. And these valuable users indirectly pay more than the users with less spending power....

The Indian startup bubble is insane

Bengaluru-based Postman, a API management product, has raised a total of $433 million valuing it at ~$5.6B. Its revenue was $171M in 2023. As a comparison, Rubrik with ~$850M ARR is valued at $6B or about 7 times its revenue. The same metric would put Postman鈥檚 valuation at $1.2B. I would argue further that Postman has much lower stickiness and will face higher churn and hence, the revenue multiple would be lower for Postman....

Migrating from WordPress to Hugo

For more than 10 years, this website has been running on WordPress. Over time I come to dislike it for multiple reasons.

LLMs: great for business but bad business

The true value proposition of LLMs lies in their ability to convert unstructured data from sources like websites and documents into structured information with reasonably high accuracy. Yet, the real profit lies in the products built on top of LLM technology. Each year, approximately 4 million books are published worldwide. On average, a book contains fewer than 120,000 words, translating to less than 160,000 tokens in LLM (Large Language Model) terms. Imagine if every single one of these books were generated by GPT-4鈥攊t would amount to an astounding 640 billion tokens. At $5 per million tokens, generating all these books would tally up to about $3.2 million! Let鈥檚 say the book market represents only about 1% of the total LLM text generation opportunity. Even then the total addressable market of LLM text generation is approximately $300 million annually鈥攁 modest figure when compared to AWS, which raked in $90 billion in 2023 as the cloud market leader.

When to commit Generated code to version control

Generated code, ideally, should not be committed to version control. Committing generated code can sometimes speed up testing and code generation but it is a design smell. It is better to cache generated code via CI caching. Committing generated code to version control is the worst as it is hard to even detect the difference. However, there are a few specific circumstances where committing generated code/config/data to version control is worth it....

Abstractions should be deep not wide

Let鈥檚 say you are building a git analytics product. Your product supports GitHub and GitLab for now. It might support more products in the future. 90% of the codebase that supports GitHub and GitLab is identical. 10% is specific to GitHub and GitLab. There are two ways to build software abstractions here. The easy path to fall for is to have unified objects that take care of both GitHub and GitLab data....

Some data on podcasting

A few years back, I scraped data on podcasters from iTunes. The data was a bit underwhelming and made me realize that podcasters can鈥檛 be a potential market. It is a bit dated but I believe is still relevant.

API services should always have usage Limits

Every public-facing API service should have API usage limits. If this seems overkill then ask yourself if would it be OK if a single IP sends a million requests a second. This does not apply just to publicly documented services but even to undocumented services that are publicly accessible.

Timing

Two cryptocurrency exchanges came out early on from Y Combinator. One is 2012. One in 2013. One returned 1500X to early investors. The other one ceased to exist after 2 years. What happened?

Real vs Theoretical Engineering Productivity

Some engineering productivity is real. Some are theoretical.