Imperfect Code, Perfect Mission: A Non-Coder's Accidental Journey for a Safer Web
Tags: beginners, opensource, javascript, discuss
Published: 2023-12-15 13:43:52

The cat is out now; I'm not a coder or a programmer. I'm a marketing person who sometimes codes and sometimes writes. So here is my journey of making mistakes, learning, and maybe a few more mistakes along the way.

## Milestone 1: Building a Shield for One

A year ago, almost the same period, I built a minimal browser extension, "**authifyNow**". It could verify sites, based on sub-domains, that belong to banks in India. Well, it was supposed to be for my mother, so that she could verify links from banks easily. Turns out, she's still blissfully unaware of its existence!"

It compared the sub-domain on the current tab with the list of URLs in the JSON database hosted on my GitHub repository. It wasn't even nearly perfect, but it did the work fine. One click on the authifyNow extension, and it displays whether the link belongs to an Indian bank or not. And it still works.

```
{ 
"name": "Bank Name 1",
"urls":["url1", "subdomain.url", "url2"," twitter_link"]
}
```

The not-so-good coder in me was happy. I built something on my own. It worked so well that it could potentially help others easily identify scams too. It wasn't anything revolutionary, but it was a minimal prototype. The idea of a 'digital ally', helps users easily detect whether a website is valid and belongs to a brand or an organization. 

I eventually got it published in all extension stores. Well turns out, that neither the public knew about its existence (I can't blame the public, that was my mistake, I didn't promote it anywhere, the self-proclaimed marketing person).

But hey, at least it worked! Opening the extension verified the URL and displayed the bank that owned it, like a little digital detective flashing its badge.

This browser-only addon was a great choice at first; opening the extension verifies the URL and shows the result of which company the URL belongs to.

But there were a few design flaws.

**One**: The time to verify the data was directly dependent on the size of the JSON file. When the total number of companies listed is less than 100, you'll get the result in less than 5 seconds, but when tested with a large data set, it takes a lot of time.

**Two**: Available only on PCs and laptops. PC penetration is lower in India compared to smartphone usage.

**Three**: The code is compared with subdomains. I know it was stupid, but JS only supports `window.location.hostname`, and I didn't know how to extract the domain from the hostname. So that makes the maintenance of JSON files difficult. The need to include and maintain all subdomains for each domain was a tedious process.

**Four**: Installing an extension to stop scams? That doesn't sound scammy at all! Ironic enough. (How in the world will I make someone download an extension, when I myself shy away from unknown developers. Maybe I needed to build an extension that verified the legitimacy of… other extensions?)

That was when I built authifyURL v1, completely web-based. Again, it wasn't revolutionary, but there were only two more roadblocks to solve. I'll discuss it more in the next part, for more mistakes and more learning.

Still not a coder.

---

The latest [authifyURL](https://url.authifyweb.com) v2 is the MVP and is out for public beta, packing a punch with lightning-fast verification, seamless verifications for 30+ 3rd party websites and social media sites, and a whole new world of verified connections beyond just domains!

Just give it a try. If you aren't from India, search for open-source software like Bitwarden, VLC, Blender, etc. in the input form. (The data is currently publicly sourced, but we will officially start onboarding brands by January end.)

Remember, tech knowledge shouldn't be a barrier to online safety. Tools like authifyURL can bridge the gap and help everyone reap the benefits of the digital world while minimizing the risks. 
`So verifyFirst, interactLater.`

Well, you are tech-savvy, you probably might not need this, but remember, all it takes is a small error of judgment, especially when scammers invoke a sense of panic. 

Looking for your opinion on the MVP, let's discuss how we can improve it.