Few days ago, Cloudflare published a blog post saying Perplexity is using undeclared crawlers to evade no-crawl directives. This sparked some interesting debates and I was particularly piqued by one arguing Perplexity is no different from a regular browser and should ignore no-crawl directives. As ridiculous as it initially sounded, I found the argument surprisingly valid and worth further…
“I still maintain my stand that prayers change nothing. If prayers need you to put your effort first to function, that means prayers do absolutely nothing; what is working is your efforts.” - X This is a genuine thought a lot of us have had at one point or another. These questions are good as they challenge what we think we know, what is true, and help us seek deeper understanding. Here is how I…
I have been using an internal tool for some time now to check upcoming revenue for Engage . It connects to Stripe, pulls data for upcoming revenue and displays it in a calendar form. That’s it; nothing magical. This tool is now available at inflowdash.com Why? Current metrics dashboards are focused on data after the fact (after revenue is in). This is rightly so as they tell a story of growth. For…
Here is a fairly rough checklist of things you should think of when building an email/password authentication system for a fairly sensitive application. This assumes the basics like securely hashing passwords, proper session management, and transmitting data over SSL are already covered. For a more comprehensive list, see the OWASP Cheat Sheet on Authentication . Ensure passwords are a minimum of…
I have been moving a lot of Engage’s architecture to Kafka of late. Even though the monolithic side has been winning the microservice vs monolithic debate in recent times, I am still a big fan of serverless microservices—using PaaS (we use Google Cloud) to host microservices. To be fair, what we do is more of a serverless architecture than a proper microservice architecture but our design goal…
A lot of content around data wrangling talks about dealing with structured data—data with a well defined schema. You can clearly define your database columns based on this schema to fit the incoming data. Most apps deal with this kind of data, so I understand. But for the other few, Engage for example, dealing with unstructured data is big work. I am not talking about storage here. Storing…
2022 was rough. The year started with lots of energy - a new baby, Engage growing, and then new realities started kicking in. I watched Engage’s runway drain as we struggled with reaching product market fit. We tried many ideas from the playbook - inbound sales, community, socials, and ads, but conversion growth was slow. The reasonable choice was to raise a new round but I didn’t want to get…
Features like avatars look trivial in products with user profiles, but most times, they are not. (Is anything actually trivial?). It’s even more interesting, as with Engage , when users can’t upload their profile pictures themselves. Where do we get one from? Gravatar! If you are familiar with this, this would be your answer as well. Gravatar is one of the oldest forms of getting people’s profile…
“Passkeys are a new, passwordless authentication method that offer a convenient authentication experience for sites and apps, using just a fingerprint, face scan or other screen lock.” ( source ). Don’t think too much about how it works, you can check out the demo at passkeys.io . I just tested it myself and couldn’t help but comment on the ease . I love this – anything that replaces password…
If you give people any tool for engagement, expect it to be used for spam. This is worse for marketing tools. There are always bad actors looking to exploit this to send phishing emails and spam to people. For Engage, the earliest fail-safe we placed was to not provide email sending infrastructure ourselves but allow customers connect their existing infrastructure. To Engage, you had to connect…