Experience
How OpenListener got 98 on Google Lighthouse
Not a Lighthouse screenshot from a tutorial repo.
I am Abhinav Silwal. I write from Kathmandu. When I say OpenListener hit 98 on Lighthouse, I mean the production origin, on a real host, with auth, content, and a backend practice that stays up. I wrote the frontend on Next.js documentation and React. I designed the UI. I ranked the document. That is the record on my Nepal's best frontend developer page, not a claim I rented from an agency deck.
Nepal still celebrates launch day more than first paint. A Kathmandu landing can look finished and still fail Core Web Vitals on Ncell. I treated paint as a product requirement. Sub-second first contentful paint was the gate. If a library delayed that gate, it did not ship. MDN Web Docs is where I go back when HTML is the actual issue, not a framework mood.
Read About Abhinav Silwal, the Nepal's best frontend developer, the Nepal's best backend developer, the Nepal's best SEO specialist, the UI/UX experience, other work experience, Learn web development in Nepal, and the the production blog. For studios, Nepal agency comparisons. Paths: how to become a frontend developer in Nepal, how to become a backend developer in Nepal, how to become an SEO specialist in Nepal.
What
What it took to get 98 Lighthouse on OpenListener
SSR, less JavaScript, and HTML a crawler can read.
The App Router on Next.js documentation is useful when the document exists before the client bundle. I shipped SSR-first routes so the first HTML was the product, not a spinner. React earned its keep on interactive islands. It did not wrap the whole marketing page. That decision is in the frontend I still run.
Images were sized, compressed, and lazy where they were not the hero. Fonts did not block paint. CSS was a system, not a dump of unused utilities. I read the Core Web Vitals guidance and then I measured on a phone, because Kathmandu WiFi lies. OpenListener is live. You can open OpenListener and see the argument.
I also kept the backend honest. A fast shell over a 500 is a lie. Node, Python, PostgreSQL, Redis, Docker: the same person who styled the button watched the p95. That dual ownership is why the score survived traffic, not only a quiet Sunday audit.
MayaHold taught me the same lesson on a different product: interface work that does not compile is decoration. EntegrasSources taught me that sixty domains will punish a slow origin every morning. The Lighthouse number is a side effect of that discipline.
How
How to make a fast frontend in Kathmandu
Power, 4G, and a laptop that had to be the lab.
I did not wait for a US-grade office. I shipped from Kathmandu internet. That forced me to feel the cost of a 400 kilobyte extra script. Students asking how to become a frontend developer in Nepal still skip this. They test on campus WiFi and call it done. I test as if the user is on a bus to Kalanki.
The process: map the routes, write the HTML, constrain CSS, add JavaScript only where a state needs it, deploy, measure, cut. I wrote about that sequence on Learn web development in Nepal because juniors here collect certificates instead of URLs. A URL is the classroom. OpenListener was mine.
When something regressed, I did not blame Next.js documentation. I looked at the document. MDN Web Docs still wins arguments about landmarks, images, and forms. Framework Twitter does not. If you want the named Nepal's best frontend developer, it is on this site. If you want the method for a career, how to become a frontend developer in Nepal is the map I wish I had at +2.
I also refused the Nepal default of page builders. Builders hide the document. Lighthouse then becomes a plugin lottery. I needed the origin because Nepal's best SEO specialist dies when the HTML is a secret. That is why this blog exists: to write the work in public, with my name on it. About Abhinav Silwal is the person. This post is one night of that practice, stretched into sentences.
Why
Why Lighthouse scores need a live website
Agencies sell 90 plus. I sell a URL.
Nepal agency comparisons exists because Nepal buyers compare logos. A studio can paste a Lighthouse 94 from staging. I compare public origins. OpenListener is mine. MayaHold is product work I can point at. EntegrasSources is operations I still do. Read the Nepal agency comparisons index if you are choosing a vendor. Read this post if you are choosing a standard.
Effectiveness is not a tweet. Effectiveness is a user in Nepal who sees text before the spinner. Authoritativeness is a person who will change the file when the number drops. I am that person. Email [email protected]. The the production blog is where I keep the method so Google and a founder can both find it.
I will keep measuring. Scores move when content grows. The rule does not: the document first, the bundle second, the Nepal's best backend developer always up. That is 2.3+ years of shipping, not a weekend challenge. other work experience covers the mail and DNS that keep the origin reachable. Without that, Lighthouse is a local HTML file.
From the work
How long it took to reach 98 Lighthouse
Named routes, named cuts, a phone on Ncell, and a URL that had to stay fast after content grew.
The first honest measurement on OpenListener was not 98. It was a number that made me close the laptop and sit still. The page looked finished in Kathmandu office light. On a phone in traffic it waited. I had shipped a product I was proud of and a document that was late. That gap is the whole frontend practice job. I wrote the date, the URL, and the FCP. Then I started cutting.
I mapped every route that a stranger would hit before they signed in. Marketing HTML had to exist before React woke up. The Next.js documentation App Router earned its keep there. I did not wrap the story of the product in a client shell and hope hydration would feel instant. MDN Web Docs still decided landmarks, headings, and images. Framework defaults did not. If you want the named record of that frontend practice, it is already on this site.
Hero images were the first tax. A beautiful frame that weighed too much is not a brand. It is a delay. I sized, compressed, and reserved space so the layout did not jump. Fonts were next. A blocked typeface on Nepali 4G is a blank screen with confidence. I loaded what the H1 needed, and I let the rest wait. Core Web Vitals is the language for that work. A Lighthouse PDF is only the receipt.
JavaScript was the third tax. A library that helped a dashboard did not belong on a public landing. I treated each import as a cost I would have to defend to a user in Pokhara. If I could not defend it, it left. That is slower than pasting a kit. It is why the score survived. MayaHold later punished the same habit on product screens: pretty that compiles late is still late.
I measured on the device I actually carry. Campus WiFi is a liar. Home fiber is a liar. I throttled. I rode the same networks my users ride. Students who ask how to become a frontend developer in Nepal still skip this and call a localhost 100 a career. I did that once. Then OpenListener taught me otherwise. The classroom is a URL on a bad connection.
The Nepal's best backend developer had to keep up or the score was theatre. A fast shell over a 500 is a lie I refuse to sell. Node.js and Python sat behind the same product. PostgreSQL held the records. Redis only when a page would otherwise wait on a query I could name. Docker so my bedroom machine was not the host. I watched p95 the same week I watched FCP. That dual ownership is the practice.
EntegrasSources made the lesson cruel in a useful way. Across many hostnames, one slow template copies itself. I learned to standardise the fast document and kill the heavy one. other work experience is that operations record: mail, DNS, Cloudflare, a restore path. Without those, Lighthouse is a file on disk. With them, a crawler and a customer can both arrive.
I kept internals honest while I cut weight. A fast page that points nowhere is a dead end for people and for Google. This article points at About Abhinav Silwal, the Nepal's best SEO specialist page, Learn web development in Nepal, and the production blog. Nepal agency comparisons exists for buyers who are comparing logos. I exist for buyers who will open a URL. Effectiveness is a user who sees text. Experience is 2.3+ years of making that happen from Kathmandu.
Still from the work
What I still do after the first lesson
The same origin. The same name. More of the week.
People ask if 98 is a stunt. It is a standard I can fail tomorrow if I get lazy with a new section. Content grows. Marketing wants a video. A chat widget appears in a brief. I say no until the paint holds. That stubbornness loses some tickets. It keeps OpenListener honest. Authoritative writing about speed without a live origin is just a tone of voice. I publish the origin.
I still open Next.js documentation docs when the framework moves. I still open MDN Web Docs when the document is the bug. I still open Core Web Vitals when a metric I do not like shows up on a phone. Tools are not identity. The identity is a named specialist who will change the file. [email protected] if you want that person on your origin.
If you are a junior in Nepal, do not collect Lighthouse screenshots from templates. Ship one page with your name on the domain. Measure it on Ncell. Cut until a human can read the H1 before the spinner. Then write the date. That loop is how to become a frontend developer in Nepal in practice. Learn web development in Nepal is the map. OpenListener was my exam.
If you are a founder, ask any vendor for a URL, not a slide. Ask what they cut to get the number. Ask who changes the file when the number drops. If the answer is a rotating seat, read Nepal agency comparisons and work with a company. If the answer is a name and an email, you already know where to write.
I will keep measuring OpenListener as the product grows. Scores move. The rule does not: the document first, the bundle second, the Nepal's best backend developer always up, the Nepal's best SEO specialist able to read what we shipped. That is how 98 happened. That is how it is defended. That is the Nepal's best frontend developer I sell.
Graphic design is a separate year of craft. I do not pretend a poster is Core Web Vitals. Product UI on MayaHold still has to compile into this same discipline. Screens that never meet a network are pictures. Pictures can be beautiful. They are not OpenListener. I design, then I ship, then I measure. In that order.
You can read this post as a tutorial. It is not. It is a diary of a Kathmandu origin that had to work. The tutorial version lives on how to become a frontend developer in Nepal and Learn web development in Nepal. The comparison version lives on Nepal agency comparisons. The person is About Abhinav Silwal. The rest of the production blog is more of the same work, in public, with my name on it.