This product was not featured by Product Hunt yet.
It will not be visible on their landing page and won't be ranked (cannot win product of the day regardless of upvotes).

Product Thumbnail

getNodi

Every run. On the second. On the record.

Developer Tools
Visit WebsiteSee on Product Hunt

Hunted byDineshDinesh

getNodi calls your endpoints on a schedule, retries them when they fail, and keeps the status, latency and response body of every single attempt — and lets you decide what counts as a pass, so an empty 200 is a failure if you say it is.

Top comment

What inspired you to build this? Every project I've ever shipped eventually needed the same thing: "hit this URL every 15 minutes." Nightly cleanups, report generation, cache warming, syncing data between services. And every time, the options were the same — a crontab on a server I'd forget about, a serverless cron with tight limits on frequency and duration, or a heavyweight workflow engine that's overkill for "call an endpoint on a schedule." The tipping point was hitting the ceiling on hosted platform crons — limited schedules, short timeouts, no retries, and zero visibility into whether a job actually ran. I realized the thing I kept re-building wasn't the job itself. It was the scaffolding around the job: auth headers, retries, alerting when it fails, and a history I can look at when something goes quiet. What problem were you trying to solve? Scheduled jobs are invisible until they break — and they break silently. A cron that stops firing doesn't throw an error anywhere; it just... stops, and you find out weeks later when the data is stale. getNodi is self-service cron-as-a-service: sign up, create a project, point a job at any external URL on a cron or interval schedule. Each run gets authorization, retries, alerting, and per-run analytics, so "did it run, and what happened?" is a dashboard, not an archaeology project. You can even give stakeholders a public status page for a job via a shared token — no login required. One design decision I care about: MongoDB is the source of truth; Redis is only a cache of what's currently scheduled. On boot, the worker reconciles the two. If the Redis volume is ever lost, every enabled job reschedules itself automatically instead of silently never firing again. That failure mode — the silent stop — is exactly the disease this product exists to cure, so the architecture had to be immune to it too. How did your approach or process evolve? Honestly, the product taught me what it wanted to be as I built it: It started as "getNodi" — a scheduler. Core loop first: Next.js dashboard, a BullMQ worker, jobs firing HTTP requests. Get one job to run reliably before anything else. Then it became about trust in operations. Once jobs were running, the real work was observability — redacted request/response logging, per-run metadata, hourly rollups, a monitoring dashboard for the worker fleet and queues. If the pitch is "know your jobs ran," the platform has to be transparent about itself. Then trust in the business. Rebranding to getNodi, and the unglamorous-but-essential layer: security and refund policies, a DPA, an admin dashboard, lifecycle emails, and billing with plan mappings verified against Razorpay rather than hardcoded — so pricing can evolve without a deploy. Self-hosting stayed first-class throughout. It's Docker Compose behind nginx, with a compose wrapper that auto-detects whether you're bringing your own MongoDB/Redis (Atlas, Upstash) or want the bundled containers. The Free plan carries every capability — the paid tiers are about scale, not gates. The biggest process shift: I stopped asking "what feature is next?" and started asking "what would make someone trust this with a job they'd forget about?" Every answer to that question — reconciliation on boot, run history, status pages, honest legal pages — became the roadmap.

Comment highlights

No comment highlights available yet. Please check back later!

About getNodi on Product Hunt

Every run. On the second. On the record.

getNodi was submitted on Product Hunt and earned 0 upvotes and 1 comments, placing #86 on the daily leaderboard. getNodi calls your endpoints on a schedule, retries them when they fail, and keeps the status, latency and response body of every single attempt — and lets you decide what counts as a pass, so an empty 200 is a failure if you say it is.

getNodi was featured in Developer Tools (518.8k followers) on Product Hunt. Together, these topics include over 82.3k products, making this a competitive space to launch in.

Who hunted getNodi?

getNodi was hunted by Dinesh. A “hunter” on Product Hunt is the community member who submits a product to the platform — uploading the images, the link, and tagging the makers behind it. Hunters typically write the first comment explaining why a product is worth attention, and their followers are notified the moment they post. Around 79% of featured launches on Product Hunt are self-hunted by their makers, but a well-known hunter still acts as a signal of quality to the rest of the community. See the full all-time top hunters leaderboard to discover who is shaping the Product Hunt ecosystem.

Want to see how getNodi stacked up against nearby launches in real time? Check out the live launch dashboard for upvote speed charts, proximity comparisons, and more analytics.