(note: much of this advice is based on the assumption of a permanent resident of the US applying to a position in the US. Things may be different in other countries)

From the interviewer side of the house, the purpose of interviewing is to hire the least risky candidate - not the best candidate.

As you get closer to senior job titles, a longer duration of employment in the latest position is more desirable.

If you have three or more jobs in that 5.5 years, you may be a more risky applicant. It isn't necessarily the case that you do from your post here ("I held a job as a front-end dev"), but switching jobs frequently is not uncommon and may catch up with people in time as they try to move up. For more senior positions, initiative and projects may last longer than the length of a job hopper's tenure and can be seen as a negative as they are less likely to see the project through to completion and the company may need to hire someone in the middle of the project.

If you have had multiple positions, companies with a longer onboarding process it may be that you won't even get to being a positive ROI before your feet start itching again for a new position.

In companies with faster onboarding (dump into the pool and see who swims) a less risky applicant will have a close match to the skills and responsibilities listed on the job description. This entails making sure that each job application that you send out (my reading of the post is that you only have one) emphasizes familiarity with their technology stack rather than just a list of tech that are tossed into a line on the resume without care for order.

If applying on job boards for listings that do not specify a company or are "an exciting opportunity with a client", you are applying to a 3rd party recruiter and not an actual job.

If applying on job boards for companies themselves, realize that these jobs may be scraped, unmaintained, or otherwise not representative of the current jobs that company has open. I have seen jobs listed on indeed for positions that were posted in January and closed in February showing up months later. Likewise, job listings on the company's current career page may have openings that are not on Indeed.

Make sure that you're applying for jobs that are a fit for your experience. Job boards are notorious for having poor search criteria for experience. Doing a search for entry level jobs will pull up principal engineer positions and searching for senior jobs will find entry level ones. Mass applying to everything that shows up will result in a higher percentage of rejections.

If you only have one resume, create one resume for each type of position that you are looking to apply for. Create one resume for React developer, one resume for Angular developer, one resume for Php developer - and then send the relevant one. If you are sending a "5 years of React experience" to a position that is looking for someone to work in their Angular application, there will be a subset of applicants who are less risky than you (based on the resume) that are selected for interviewing.

While not applying for jobs, use the job requirements for positions that you've applied to (or interest you) as a guideline for personal projects to work on to keep skills fresh or to learn sufficient information about that technology stack to be able to competently answer questions if you are interviewed.

Make sure that you are also looking at public sector employers. State and local government tends not to advertise on career boards but rather on the state's workforce development board.

Make sure you are applying to non-remote jobs. Yes, everyone wants a remote job. The applicant pool for such positions is much larger than the local jobs and instead of competing with people who live in the area or are willing to move there you are competing with everyone who can legally work there.