For Indian developers chasing global remote roles: the exact IST overlap window, computed per listing.

A “remote” role advertised from San Francisco can mean a 9pm–2am working day from Ludhiana. That single fact decides whether a job is livable, yet it is never on the listing — applicants reverse-engineer it from a city name after they have already invested in applying.
NxtRmtJobs treats timezone overlap as a first-class filter, the way other boards treat salary band or seniority.
A real backend, not just a Next.js API folder — Hono owns ingestion, search, and the overlap computation, with Postgres full-text search doing the heavy lifting.
The IST overlap is derived once at ingestion from the role's stated timezone and stored, so it is sortable and filterable instantly — not recomputed in the browser on every render.
Bringing in Elastic/Meilisearch for a single-developer project is premature infrastructure. Postgres full-text search with proper indexes handles the corpus comfortably and keeps the stack to one datastore.
Ingestion, queues, and search wanted a long-running service with its own lifecycle. A dedicated Hono backend keeps that work out of the serverless request path and gives the typed hc client to the front end.
DST, half-hour offsets, and listings that state a city instead of a zone all conspire against a clean overlap number. Normalising messy source data into a trustworthy IST window is the core difficulty.
The same role appears on multiple sources with slightly different titles. Deduplication and normalisation at ingestion time decide whether search results feel curated or like noise.
Relevance is not just text match — a perfect keyword hit at 3am IST is worse than a good hit at noon. Blending FTS rank with overlap into a single sensible ordering took iteration.
“Salary tells you if a remote job is worth it. Timezone tells you if it is survivable. I built the board around the second number.”— Parm, on NxtRmtJobs