# Why did I build a Chrome extension for rental hunting?

> A rental hunt is a pipeline, and listing sites only give you a heart button. I built nivas, a Chrome extension for Kijiji, to fill that gap.

- Author: Ash Gaikwad (https://ashgaikwad.com)
- Published: 2026-10-22
- Topics: chrome extension, product, rental hunting, privacy, sharing
- Canonical: https://ashgaikwad.com/blogs/how-to-build-a-chrome-extension-for-rental-hunting

I built a Chrome extension for rental hunting because a rental hunt is a pipeline, and the sites where we search treat it as a list. You find a place, message the landlord, wait, book a viewing, apply and hopefully sign. A listing site shows you the first step and leaves the other six to you. The extension is called nivas, it works on Kijiji (the classifieds site many Canadians use to find a rental), and it is free. Sharing a search with another person is the only optional paid part.

I am Ash, a software engineer in Toronto. This article is about the "why" behind nivas, not the code. It is for people who build small products and want to see how one narrow idea turned into scope decisions, and for anyone who has lost a good apartment to a lost tab. You will see the problem I wanted to fix, why I chose an extension, why your data stays in your browser by default, and why sharing became the one thing I charge for.

<figure>
<video controls muted playsinline preload="none" width="1200" height="750" poster="/images/blogs/nivas-demo-poster.webp">
<source src="/videos/nivas-demo.mp4" type="video/mp4">
</video>
<figcaption>A 40 second tour of nivas on made-up Toronto listings. It saves a listing in one click, moves it through the statuses, adds a note and photo pins, and opens directions.</figcaption>
</figure>

## What is wrong with how people hunt for rentals today?

Most people run a rental search with open tabs, a notes app and a spreadsheet. When I was apartment hunting on Kijiji, my "system" was twenty open tabs and a notes app. That works for three listings. At thirty it falls apart, because every listing has a few facts you will want later, such as the price, the commute, the questions you meant to ask and the thing in photo seven that looked odd.

The listing site does offer a "save" heart. It has no stages, no notes and no idea where you work. It cannot tell you that you already messaged this landlord on Tuesday, or that the price dropped since you last looked.

The cost of this is real. In a hot market a good place is gone within days, and the hours you spend rebuilding context ("which one had the balcony?") are hours you do not spend replying quickly. I wanted the memory part of the hunt to stop being my job.

## Why did I build an extension and not an app?

The work happens on someone else's website, so the tool has to live there. A separate app means copying links, pasting titles and switching windows, and that friction is the exact thing I wanted to remove. A tool you have to remember to open is a tool you stop opening by week two.

An extension sits beside the listing you are already looking at. You save it from its page or straight from the search results, move it to the next stage and write a note without leaving Kijiji. The best compliment for this kind of product is that people forget it is a separate thing.

![The nivas sidebar open beside a Kijiji listing, showing its price, status with suggested next steps, a directions button, and notes.](/images/blogs/nivas/nivas-sidebar.png)

It also fits how the problem is shaped. The data is on Kijiji, the decisions happen on Kijiji, and so the tool belongs on Kijiji. There is a full-page view in the same extension, with a board, a searchable list and a page for each listing, but the sidebar is where the daily work happens.

## Why does nivas treat the hunt as a pipeline?

Everything in the product hangs off one idea. A saved listing has a status, and the statuses follow the real order of a hunt, from "To see later" through "To contact", "Contacted", "Viewing booked", "Viewed" and "Applied" to "Leased". Two more, "Rejected" and "Unavailable", close a listing when it is out of the running.

![The nivas board with a column for each status, from To see later to Applied, holding saved listing cards.](/images/blogs/nivas/nivas-board.png)

After each status the sidebar suggests the usual next steps as one-click buttons, but it never forces them. Real hunts do not follow a straight line, and a tool that argues with you gets uninstalled. The suggestions save clicks, and the freedom keeps the tool out of your way.

The rest of the record follows the same logic of writing down what you would otherwise forget. Notes save as you type. Price drops are recorded when you revisit a listing, so you see them without keeping track. You can open a photo full screen and pin a comment to the exact spot, such as "Is that a water stain?", which is the kind of detail a spreadsheet cannot hold. Directions open in Google Maps from the places you saved, such as work or campus, and one more click opens the building so you can read its reviews.

![A full-screen listing photo with numbered comment pins and a panel listing the photo comments.](/images/blogs/nivas/nivas-photos.png)

![The nivas directions menu open, with saved places such as Work, Campus and Parents and a choice of transit, drive, walk or bike.](/images/blogs/nivas/nivas-commute.png)

## Why did I keep it small?

A rental tool could grow in many directions, such as messaging landlords, scoring listings or comparing neighbourhoods. I decided early that nivas does one job, which is keeping your search in one place next to the listings. Anything that did not serve that sentence could wait.

This is the decision I would repeat in any product. A narrow tool is easier to explain in one line on a store page, easier to trust and easier to finish. It is also easier to keep working, because the surface that can break is small.

## Why does your data stay in your browser?

A rental search is personal. It says where you want to live, what you can pay, where you work and which landlords you wrote to. I did not want to hold any of that by default, and I did not want you to have to trust me with it.

So the free extension stores everything in your own browser. There is no sign-up, no ads and no analytics, and nothing is sent to me or anyone else. It asks for access to Kijiji and to local storage, and that is enough for everything free. A short permission list is the easiest way to show that nothing leaves.

Local storage also keeps the extension fast and working offline. Moving to another computer is handled with JSON export and import, so the choice does not trap your data.

## Why did I add sharing, and why is it the paid part?

Many rental hunts are not solo. A couple or two housemates look at the same listings, and one of them ends up pasting links into a chat. That is the same memory problem again, now with two people. Sharing lets both of you see every saved listing, status and photo pin within seconds. Each person keeps their own notes and can read the other's, so nothing gets overwritten.

![A shared listing in nivas with a note from the other person on the plan.](/images/blogs/nivas/nivas-share.png)

Sharing is the one feature that cannot live only in your browser, because two browsers need something in the middle. That means a server, an account system, email and a payment provider, and those cost money to run and look after. So sharing is an optional plan for two people on the nivas website, at CA$20 for two years, with extra seats available. Everything else stays free.

I made a few choices to keep sharing honest.

- It is off until you turn it on. The extension only asks for permission to reach the nivas website at that moment, so people who never share see no new prompt and no network calls.
- Your browser is still the source of truth. Edits save locally first and sync in the background, so the extension works offline and catches up later.
- There is no password. You sign in with a six-digit code sent to your email, and the extension holds a token while the server keeps only a scrambled copy of it.
- If the plan lapses, sharing stops and the extension goes back to the free version. Your local copy is never touched, and the server keeps the shared data for 90 days so renewing restores it.

I also wrote the privacy policy as a plain list of what we keep when you share. That is your email address and language, the IP address of each sign-in request (only to limit abuse), the listings, notes and photo comments you share, and a record of each purchase. Stripe takes your card, so I never see the number. I do not sell data, show ads or send marketing email.

## Why is nivas in three languages?

A rental hunt happens in the language you think in, and in Canada that is often not English. nivas is available in English (Canada), French (Canada) and Marathi (India), and the sign-in and plan pages on the website follow the same set. The language comes from your browser, so there is no picker to find. What is translated is nivas's own text, such as the status names, buttons and settings. Kijiji's listing text and your own notes stay as they are.

## What can you take from this for your own product?

You do not need a rental tool to use these ideas. Here is the short version I would follow again.

1. Pick one person and one job, and write it as one sentence. "Organize a Kijiji rental hunt" is a sentence you can check every feature against.
2. Put the tool where the work already happens. If people have to remember to open it, it will lose to the tab they already have.
3. Model the real process and not an idealized one, and let people break the order.
4. Keep the data with the person until you have a reason not to, and charge only for the part that truly needs your servers.
5. Ask for the fewest permissions you can, and ask for the extra ones only when the person turns the feature on.

If you want the testing side of browser tools, I wrote about [testing in real Chrome with Cuprite](/blogs/how-to-test-in-chrome-using-cuprite).

![A diagram of why nivas exists. A rental hunt moves through six stages, from finding a listing to signing a lease, while the listing site only offers a save heart. nivas adds the missing memory next to the listing, with statuses, notes, photo comments and commute links. Everything stays in your browser. Optional paid sharing syncs a search between two people.](/images/blogs/nivas-why.svg)

## Frequently asked questions

### Why build a Chrome extension instead of a website?

The listings live on another website, so a tool that sits beside them removes the copying and tab switching. An extension can read the page you are on and add to it, which a separate site cannot do.

### Does nivas send my listings anywhere?

Not unless you turn on sharing. Without it, your listings, notes and photo comments stay in your browser, and there is no account and no tracking. With sharing on, they go to the nivas website so the other person on your plan can read them. Directions and building reviews open Google Maps in a new tab.

### Is nivas free?

Yes, saving listings, statuses, notes, photo comments, directions and the board are free. Sharing a search with another person is an optional paid plan, bought on the nivas website.

### Is nivas affiliated with Kijiji?

No. It is an independent project made in Toronto, and it is not affiliated with, endorsed by or sponsored by Kijiji or Google.

### Which browsers does it work in?

It is built for desktop Chrome, and Chromium-based browsers such as Edge, Brave and Arc can install it too.

If you are hunting for a place right now, I hope nivas saves you a few tabs and a lot of "which one had the balcony?". If you are building your own small product, I would like to hear what it is.
