Siren Software

Cybersecurity procedures and algorithms are air-tight as fuck!

Out there exist things like:

  • Two-factor authentication
  • 256-bit encryption
  • End-to-end encryption

Theoretically, everything is so secure.

Even when someone is making software, they thoroughly test out all the workflows, and everything works perfect. Everything makes perfect sense, and they theoretically should survive even stressful situations.

But even after that, we find so many scams and hacks. We find so many tickets being raised to the IT department for allegedly stuff not working.

The IT department even has inside jokes for it. They basically call this type of thing, “error exists between keyboard and chair”. Calling the user the root of the problem and not the code and the machines themselves.

And I think that is true. There are a lot of studies that say that most of the things that go wrong are because of human errors, be it lapses in security or in the book Designing Data-Intensive it states that hardware outages are not a big contributor two outages. It is the technician’s fault that accounts for a majority of outages.

Thus air-tight systems go wrong because of people. People are not using them properly. In essence, people have abandoned them. So people, even for softwares and workflows that they are paid to work properly in, are abandoning them. So, what’s stopping them from even abandoning your product for which you are asking them money?

Designing applications to maximize people’s usage is the top priority. You can buy a social media application right off the market, white label it as your own, but still, people won’t adapt to it because your algorithm won’t be as good as TikTok or Instagram. Neither will it have as many people as both of them do. So, you won’t have that type of adoption. That means perfect software can struggle with adoption. It is the people who make your software valuable. You have to design for maximum human adaptability.

Human adaptability does not equal value. They can both co-exist at the same time and can be absent during one another’s presence. That’s why even applications that don’t have value, such as betting or doom-scrolling, have such high usage because they cling around the human behavior. They are extremely adaptable by humans which come in contact with them.

Thus, your software has to have a design similar to Quicksand at the same time of providing value. A good kind of car crash that people can’t look away from. That’s the type of mindset you need to have even if you’re creating something B2B. Of course you can’t do anything other than this if you are doing B2C.

While designing software, your goal is not only to run a process that creates value but also to establish touchpoints and workflows with the user that really engrosses them into you. You are supposed to optimize for adoption and usage. Something that is a combination of the crush and the best friend of a user which lures them in and keeps them around.

The software design has to be even more human. I already said that you need to insert yourself into places that won’t disrupt user’s workflow. If a workflow has 10 steps and the third step has a button click, then you are supposed to be the button on the third step, which automates the next steps. If you are anything than that, then you have already killed your adoption by a huge margin. But now you have to almost personify your software and make it like a siren that attracts and keeps the users around because we saw right at the start of the article that normal, bland software ( even if it is perfect) people end up committing mistakes instead of deriving value from it.

You have to create siren softwares, things that fulfill the needs and demands of the user while also utterly engrossing them.

So, what makes an app siren and what makes it non-siren?

Well, instant gratification is one thing, and the time to value and effort to value should be as low as possible. And the steps needed to get this instant gratification should be accessible in human terms. Reels can be seen as something that can work with other control options also. You can have buttons where the down button takes you to the next reel or up button takes you to the previous reel. Even in that format, it would provide instant gratification and would have low time-to-value and low effort-to-value. But still, you can go a step further. Swiping makes it intuitive, making it feel as if it’s a real object. There is dexterity there, and it reduces the effort. Locating the button and then pressing it is a huge headache compared to just swiping up or down. It is a natural gesture. Plus Reels are entertaining you. You are in your little royalty-type mindset that “hey, people are out there to entertain me.” And finger gestures just elevates that. Finger is a very powerful gesture in a lot of cultures. Raising your finger puts you in a posturing and authoritative position. That you are using your finger to shush someone down. Basically, the mental state in which the user is in. If you are able to inflate that, then they are going to keep coming back to you.

Same with shock websites. The user is scared, and the website keeps bombarding them with even worse and worse shit. So whatever mental state they are in, it keeps getting inflated, and they can’t turn away. Basically, you have to make interaction as easy as possible, and whatever mental state they are in, you have to inflate that.

For example, if it is a workflow-oriented app, you have to show them that hey, they are getting work done. And you have to inflate that feeling of productivity.

  • Progress bars everywhere
  • Acknowledgement of progress at each step
  • Appreciative messages

All these things matter. Your software beyond just delivering value has to also string the emotions of the user. That’s what makes it a siren.

If your users are out there seeking something, is that your application? They are seeking:

  • Entertainment
  • Information
  • Data

Then variable rewards can be something that you can deploy. Also, sometimes you are getting just usual post, but if you close you might not get the special post you are about to just get on the next refresh.When someone is trying to find something, they are in an explorer mindset. They appreciate uncertainty and appreciate potential great fortunes. Thus, you can string that emotion by introducing variable rewards.

When people are basically using any software, they are here to fetch something, observe it, or to post something. They might want to fetch some data, some video, some entertaining thing. They might want to observe by looking at it, reading it, or downloading it. They might want to post their thoughts, ideas, media, whatever. Each one of them has underlying emotions attached to them. If you string those properly, then you are going to be really successful.

Basically, software doesn’t just stop at removing frictions; it should also carry out emotional amplification. There are only so many useful apps that can exist, but for every useful app, you can create so many variations that carry out emotional amplification in different ways. There are only so many useful problems to tackle when there are way, way, way many routes via which you can carry out emotional amplification. The ability to do emotional amplification competently is your differentiating factor in this world where code is now commoditized.

You have to also understand why people surround themselves with yes-men who enable whatever actions or mindset they have. Or why people have those friends who just amplify whatever you’re feeling. If you’re sad over a breakup, they will come down and intensify those feelings by putting you in excitement. If you are already excited for a trip, they will excite you even more. It’s like it’s ride to the fun town with them. We don’t like friends who create too much friction in our life. We want those who positively impact us and amplify the good feelings, even if they may not lead to what is actually good. The software has to be the same. It has to amplify your emotion. It has to be kind of a yes man. For adoption, we need to appeal to that side of humanity. Thus, your software cannot have any friction points against whatever are natural default behaviors of humans. It is supposed to amplify whatever feelings they might have in that state and hopefully divert them towards a feeling of high or excitement. We do all types of drugs, and all of them are to feel excited and high, be it alcohol, weed, or fent, or meth, or whatever. Nobody takes drugs to feel worse. So why would anyone want to use an application if it makes them feel irritated, rubbing against friction, or not feel good? Even if their boss mandates use age, you’ll still suffer. Design your app for least friction against human behavior. Make them feel the high and be their yes man. To maximize adoption, software should be designed like an enabler. Something that removes friction, amplifies existing impulses, and makes users feel good regardless of whether the outcome is actually useful or trivial.

Because human behavior has the veto over any software even if it is useful.

This also backs up the quote I wrote a few days ago.

10x better product requiring workflow change = maybe 0 adoption rate
0x better product that fits existing workflow = maybe 10x adoption rate

That also means being an enabler is a much bigger factor when it comes to adoption and usage than removing friction or creating value. Thus, whatever your ICP is for the product you have to really research what’s up with them. What do they do? What do they feel? How can you amplify it? How can you enable what they are? Because you are selling to them. You are selling to a version of them that is struggling with a problem or a version that wants something. They are not transformed just because a sale has happened. When they are using the product, they are still the struggling or yearning version of themselves. So, how can your software suddenly treats them as someone who has a perfect workflow that can get value out of it. You infantilize them when you sell them, and then all of sudden you dump so much responsibility and expect maturity when it comes to usage of application. Of course there is going to be low usage problem.

This is where Rohkun also highlights its failures. Rohkun was a code-based analysis tool which tells you what endpoints exist and what are the connections between back-end and front-end so that AI can code them properly. It is primarily targeted toward wipe coders who were struggling because AI would just fill front-end with dummy data or when integrating features would create duplicate endpoints and create a mess inside your application. But if someone is so careless that their codebase is being bastardised this way, that their whole codebase is full of duplicates and dummy data, then what makes you think that they would give a fuck about the map or use the map properly enough? The ICP was basically degenerate coders, and now your product expects them to be disciplined coders so that they can derive value. How did you expect such a transformation to happen right when they began their contact with your software? If Rohkun was something that would allow them to be degenerate and still avoid creation of the previously mentioned issues, then there was a shot. But this way, there is nothing that can be done.

Just the same way, you cannot define the world using the word itself. You cannot solve a problem by using the solution of that problem in your solution. If you are creating a tool that says “We help disorganized teams collaborate better” then you cannot requires team to organize themselves to use your collaboration tool.

If your users are fed up with too many steps in their existing workflow, you cannot create a solution that is another step to watch out for.

The ICP you sell to has inherent psychological reality about themselves. They have certain attributes about them. If those attributes are targeted properly during sales, then you get a sale. But if right off the bat your product requires them to deviate from it, your usage and adoption will collapse. Thus the software design is supposed to be really coupled with the psychological reality of your ICP.

Maybe a proper version of Rohkun would have been something that automatically detects duplicate endpoints and fixes them without the user doing anything. Or something that detects dummy data and connects it to proper endpoints. That way, we would’ve enabled their degenerate behavior while providing value and solving their problem.

The person for whom your product is bought (either by themselves or someone about them) is the same person who has to use it, with the same behavioral patterns that created their problem in the first place. That means, The person with the problem ≠ The person who can execute the solution. The behavioral patterns that created the problem are still present when they try to use your solution. Thus, your software has to enable their behavior while solving the problem and also making them feel high. So they don’t change, but still get what they want.

It’s like that J Cole song that goes “Don’t save her, she don’t want to be saved.” With a caveat that you gotta do some work even if you don’t save her, even if you enable her. Design for the person who has the problem, not the person who’s already solved it.

Well, I don’t want to say that transformation is not possible. I am not saying that someone who is bad at something right now cannot become something better, and that software cannot help with that. But we are not here to do that, are we? Transformation can be a good side effect, but we are here to get things done and earn money. Of course, while selling some people can promise transformation also, and that can come out even if you are enabling behavior, as long as the work gets done. I think there is a builder and user mismatch also. The people who build software are extremely talented and disciplined people. At the same time, the target audience that they are trying to help might be lacking in those areas. So that design conflict also leads to creation of products that just don’t fit.

So once again, make software that gets shit done while enabling the current behavior of the users and simultaneously making them feel good, making them feel high and excited, also amplify whatever emotions they might be experiencing, be it fear, greed, lust, anger, or shock.

Software should be designed the way McDonald’s designs food. McDonald’s doesn’t try to change American eating habits. They enable American eating habits while technically providing sustenance. They amplify the desire for salt, fat, and sugar. They remove every friction point. They make you feel good in the moment. And they’re incredibly successful at it.

Yes, you can sell transformation because it is one of the most powerful marketing tricks appealing to the aspirations and dream situations. But you can do that without actually transforming the user or expecting any changes in their behavior. You can be an enabler while still creating value. So you don’t have to risk low adoption and usage rate just in pursuit of transforming some user. They are paying for software, not therapy or coaching. The work or problem requires effort, time, and discipline, and all that is delegated to software. When it is done, there is no need to change the user. You sell the transformation. The software does the transformation. The user stays the same.

Marketing: “Transform your chaotic workflow into organized productivity!”

Target: The workflow becomes organized. The user remains chaotic. Problem solved.

Because imagine you do all the transformation, whatever, and the employee just fucking leaves, and the new guy comes. Again you risk having low usage and adoption. It’s just very scary to couple your commercial success to the transformation of a user. Detach it. Make your code powerful. Let the user be and give them the emotional amplification.

Thus, the ideal is that no matter who sits in front of the device, the work gets done, the problem gets solved, and the yearning gets quenched. The software is the constant. The human is the variable. When we try to minimize the impact of that variable.

That means if someone is watching reels, anyone can scroll up and down. For Rohkun, no matter if it is an expert coder or a degenerate, anyone who clicks the button can get all their duplicate end points fixed. It shouldn’t matter who the user is, if it is your ICP or not, the work should get done. You are supposed to abstract things to that level that even if something is for a specialized domain, it is doing quality work suitable for that domain. It should still be able to be done by some degenerate.

And tell me ain’t this the reason why LLMs are so popular right now? They can do anything, no matter who sits in front of them. The user can be anyone, and it will enable its behavior while providing value. It’s the ultimate enabler. The ultimate yes-man. The ultimate abstraction of expertise. There will be zero behavioral changes needed. It gives instant gratification. It amplifies whatever emotions you have and it encompasses so much knowledge that it can do almost anything. So all the expertise is already abstracted behind it. LLMs are basically the platonic ideal of “software that enables human behavior while solving problems.”

That also means that AI wrapper tools are doing nothing wrong. Instead, they are essentially delivery vehicles that are putting AI in front of an appropriate audience. They are doing specialized marketing to go in front of certain audiences, to tell them that this thing can be used for this use case. We will provide some system prompts along the way. I think being a LLM rapper merchant can be a good thing. You can exploit so many markets right now with it. You can carry out so much emotional amplification and enablement using it. A lawyer doesn’t want to figure out how to prompt ChatGPT for contract analysis. They want “ContractAnalyzerAI” that just does it. Same underlying tech, but packaged for their psychology. This is specialization at the marketing/UX layer, not the capability layer.


From Claude


Your framework of “inflate the mental state they’re in” is the key:

Explorer mode (seeking/discovering):

  • Variable rewards work here because uncertainty = excitement
  • “One more scroll might be the gold”
  • The dopamine hit comes from the possibility, not just the find
  • Reddit’s endless feed, Twitter’s refresh, LinkedIn’s “see who viewed your profile”

Producer mode (posting/creating):

  • They need validation feedback loops
  • Instant “post published” confirmation
  • View counts ticking up in real-time
  • “Your post is performing 2x better than usual” notifications
  • Notion’s smooth typing experience that makes writing feel good

Achiever mode (completing tasks/workflows):

  • Progress inflation is everything
  • Duolingo’s streaks, checkmarks, “You’re on fire!”
  • GitHub’s green contribution squares
  • Asana’s flying unicorn when you complete tasks
  • Each micro-step needs a micro-celebration

Consumer mode (watching/reading/absorbing):

  • Remove ALL decision points
  • Autoplay, infinite scroll, “next episode in 5…4…”
  • Netflix removing the credits so you can’t escape
  • The content should feel like it’s happening to them, not requiring their participation