I tried to get past LinkedIn’s dark patterns, and here is how far I got
I got laid off, went back to job hunting, and ended up building a Chrome extension. Five months of using it later, here is what it does. If enough people want it, I will put it in the Chrome Web Store.
The click that started it
I came back into job searching recently, and I wanted to apply meaningfully. Not spray and pray. Actually read the role, actually write something specific, actually mean it.
LinkedIn made that surprisingly hard, and it took me a while to work out why.
Here is the loop. A card in the left-hand list says the job was posted eight hours ago, and underneath, in green, be an early applicant. Good, that is fresh. I click it.
The description opens on the right, and the same job now reads differently. It was reposted eight hours ago, and over 100 people have already clicked apply.

Two things about that. The card and the panel are telling me different stories about the same listing, and the one I was shown first was the flattering one. And even after the click, I still do not know when this job was actually first posted. Reposted from when? It does not say.
So I go back to the list and do it again with the next card.
That is a small annoyance once. It is a different thing entirely at forty cards a day. Every one of those clicks is a decision I was not given enough information to make from the list, so I had to pay for the information with a click and about twenty seconds of my attention.

Why twenty seconds matters when you are job hunting
If you have not job hunted recently, it is easy to picture it as one task. It is not.
You are learning things you are behind on. You are building projects so you have something to show. You are writing applications. You are writing a different cover letter for every company, because the generic one does not work and you know it does not work. You are tracking who you spoke to and when to follow up.
With that much going on, the minutes you lose to the interface stop feeling like minutes. They start feeling heavy, in the way that small repeated friction does when you are already tired.
So I did not want a better job board. I just wanted the information that decides the click to be visible before the click.
What I built
A row of small colour-coded pills under each card in the list.
That is genuinely the whole idea. The pills tell me what LinkedIn makes me click through to find out, and they tell me in the place where I am making the decision. Then I either open it or dismiss it and move on.
The real posting date and a skip flag. If a listing is a repost, the pill says so and gives the original date. If that original is old enough, the pill turns red and just says skip.

Whether I have already touched this job. Viewed, applied, or dismissed, with a date. Applied jobs stay marked permanently. The number of times I nearly reapplied to something from six weeks ago, before this existed, is not a number I want to write down.
Jobs I already said no to. LinkedIn’s dismissal does not seem to stick, so the extension keeps its own memory and tells me when something I rejected has quietly come back.

The same job in two places. Roles posted across several cities arrive as several separate cards, so a pill lists the other locations. One role, one decision, instead of four.

The same posting, twice. Separate from the location thing, the identical listing sometimes just appears more than once in the same set of results. A pill counts them so I deal with it once.

Companies I never want to see. A list I can add to, and those cards simply do not appear.

It grew one annoyance at a time
I did not design this. Each piece got added the week it personally irritated me.
- It started as a repost flag. That was the entire first version. Tell me the real date, so I stop opening month-old listings.
- Then the auto-hide list, because once reposts were visible, I noticed how many of my results were staffing agencies, aggregators, and data-labelling shops, arriving again every single day. LinkedIn lets you filter to a company. It does not let you filter one out.
- Then duplicate detection, because with a 24-hour filter on, I would see a posting on page one and run into the same posting again on page five.
- Then the multi-location pill, because the same role at four cities was costing me four separate evaluations of one job.
Reading that list back, every item is the same complaint: I was being asked to make the same decision more than once.
This is not only me being impatient
Once I started paying attention to the shape of it, I realised a lot of this has proper names in design research. False urgency, where “Be an early applicant” sits on a listing that has been open since June. Hidden information, where the honest date exists and simply is not shown to you. Obstruction, where sorting by most recent quietly disappeared from the new search.
The one that surprised me most is in the screenshot at the top of this article. The filter is set to the past 24 hours. Three of the first five results are between three and six weeks old. The filter is not matching on when a job was posted. It is matching on when the listing was last refreshed, and those are not the same thing.
Which also explains why reposting is so common. If refreshing a listing is what puts it back inside the 24-hour window, then reposting is just the sensible thing for an employer to do.
I should be fair here: a repost date is not automatically dishonest. Employers really do refresh listings. The part I object to is making me click to find out.
Five months in
I have been using this every day for about five months now.
The honest outcome is not that I found a job faster, because I cannot prove that. It is that I stopped wasting the part of my attention I needed for the actual work. I am not opening forty descriptions to find six worth reading. I am not reapplying to things I applied to in August. When I do send an application, it is because I decided to, not because the interface made the old listing look new.
That is a smaller claim than “this transformed my job search,” and it is the true one.
It is also as far as I could get. I can put the missing facts back on the card, and that is genuinely most of what I needed. What I cannot touch is the ordering itself. LinkedIn decides which jobs reach me and in what sequence, and all I ever see is the slice it chose to send. I can label what arrives. I cannot ask for what never came.
Should I release it?
Right now this is just mine. It lives in my browser, and nobody else’s.
If you are job hunting and any of the above sounded like your week, comment “interested” below, or email me if you would rather not say it publicly. If there is real demand, I will clean it up and publish it properly to the Chrome Web Store, free, and write a second post when it is live.
If you would want something in it that I have not built, say that too. Every feature in the list above exists because one specific thing annoyed one specific person on one specific afternoon, and I would rather keep going that way than guess.
Chidrupa Mamunooru is a Product Designer who has shipped across consumer sports betting, enterprise biotech, and everything in between.
Portfolio: mchidrupa.com | LinkedIn | mchidrupa01@gmail.com
I tried to get past LinkedIn’s dark patterns, and here is how far I got was originally published in Bootcamp on Medium, where people are continuing the conversation by highlighting and responding to this story.