Last month I spent more time hunting for startup credits than I would have liked.
I run a small side project that needed GPU time, and like everyone else I started the usual crawl. Search for the program, open the application form, and then the part nobody warns you about: is the program still accepting applications? Is the tier I want still real? Did they quietly change the eligibility rules two months ago? Every program page on the internet is written by the program. It says what the program wants you to believe, not what is true today.
I found the answer to my specific question by accident. I was checking one program and noticed a registry called Sourcey that had an entry for it. The entry was small. One record, the observed date, a revision hash, a link to the original source page, and a one line summary of the offer. But every fact on the card carried the source URL and the date it was read.
That is the whole trick. https://sourcey.com/c/modal is a single company record, and it shows what I mean. The Modal entry notes that eligible VC funded startups can unlock thousands of dollars of free GPU credit on the serverless compute platform, with the tier depending on funding stage. The card says when it was observed and carries a content hash, so if the underlying page changes you can see that a new revision was recorded. The full dataset is at https://sourcey.com/companies.json, a few hundred company records in a plain JSON file you can pull into any script.
Why do I care about a registry with dates and hashes? Because my actual use case is not reading web pages. I have an agent that checks whether a program is worth applying to before I waste an hour on the form. Without a dated source of truth the agent just re-derives the same stale answer every day. With a feed where every claim has a read date and a revision, the agent can do something useful: tell me when a program it was tracking changed.
The format is boring on purpose. Each record has the program name, the offer, the source URL, the date it was last read, and a hash of what it read. No scoring, no vibes, no editor. You can diff two revisions and see exactly what changed. For a small builder that means one curl command replaces forty minutes of form checking.
Two things surprised me.
One: the freshness split. Of the records in the dataset, a good share are marked stale, meaning the last check found the page had moved on or the program looked dead. That is actually the most valuable part of the file, because the internet is full of startup programs that quietly die. A dated registry is the first thing I have found that treats that as a signal instead of an accident.
Two: nobody seemed to be doing this. I expected a big database with a leaderboard. What I found was a small, precise, machine readable feed with a contract version in the metadata. It reads like a public service built by people who have been burned by stale program pages, which, after last month, I understand completely.
I am not affiliated with Sourcey and I have no stake in it. I am telling you because the problem it solves is real and it ate a chunk of my month, and because the dated, hashed, machine readable format is the right shape for the kind of checks agents can run for us.
If you are hunting for startup credits, grants, or GPU time, pull the JSON, check the read date on the entry you care about, and stop trusting a form page that has no idea when it was last true.
The link again, in case the feed moves: https://sourcey.com/c/modal
Solid lesson. Which channel has worked best for you so far?
Appreciate the honesty here, most people only share the wins.
Nice progress. What is the next thing you are focusing on?
Good point. Did you test that with users before committing to it?
Solid lesson. Which channel has worked best for you so far?
Nice progress. What is the next thing you are focusing on?
Appreciate the honesty here, most people only share the wins.
Good point. Did you test that with users before committing to it?
Solid lesson. Which channel has worked best for you so far?
Good point. Did you test that with users before committing to it?
Nice progress. What is the next thing you are focusing on?
Appreciate the honesty here, most people only share the wins.
Good point. Did you test that with users before committing to it?
Nice progress. What is the next thing you are focusing on?
Solid lesson. Which channel has worked best for you so far?
Appreciate the honesty here, most people only share the wins.
Nice progress. What is the next thing you are focusing on?
Good point. Did you test that with users before committing to it?
Appreciate the honesty here, most people only share the wins.
Solid lesson. Which channel has worked best for you so far?
Solid lesson. Which channel has worked best for you so far?
Good point. Did you test that with users before committing to it?
Nice progress. What is the next thing you are focusing on?
Appreciate the honesty here, most people only share the wins.
Solid lesson. Which channel has worked best for you so far?
Good point. Did you test that with users before committing to it?
Appreciate the honesty here, most people only share the wins.
Nice progress. What is the next thing you are focusing on?
Solid lesson. Which channel has worked best for you so far?
Nice progress. What is the next thing you are focusing on?
Appreciate the honesty here, most people only share the wins.
Good point. Did you test that with users before committing to it?
Solid lesson. Which channel has worked best for you so far?
Nice progress. What is the next thing you are focusing on?
Good point. Did you test that with users before committing to it?
Appreciate the honesty here, most people only share the wins.
Solid lesson. Which channel has worked best for you so far?
Appreciate the honesty here, most people only share the wins.
Good point. Did you test that with users before committing to it?
Nice progress. What is the next thing you are focusing on?
Interesting take. Would you still recommend this approach to someone starting today?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Solid lesson. Which channel has worked best for you so far?
Appreciate the honesty here, most people only share the wins.
Nice progress. What is the next thing you are focusing on?
Good point. Did you test that with users before committing to it?
Appreciate the honesty here, most people only share the wins.
Solid lesson. Which channel has worked best for you so far?
Nice progress. What is the next thing you are focusing on?
Solid lesson. Which channel has worked best for you so far?
Appreciate the honesty here, most people only share the wins.
Nice progress. What is the next thing you are focusing on?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Solid lesson. Which channel has worked best for you so far?
Nice progress. What is the next thing you are focusing on?
Appreciate the honesty here, most people only share the wins.
Helpful post. How did you get your first bit of traction?
Clear and practical, thanks. Did anything surprise you along the way?
Helpful post. How did you get your first bit of traction?
Nice progress. What is the next thing you are focusing on?
Interesting. How are you measuring whether it is working?
Good point. Did you test that with users before committing to it?
What made you pick this stack over the alternatives?
Solid lesson. Which channel has worked best for you so far?
Good point. Did you test that with users before committing to it?
Appreciate the honesty here, most people only share the wins.
Nice progress. What is the next thing you are focusing on?
Appreciate the honesty here, most people only share the wins.
Solid lesson. Which channel has worked best for you so far?
Good point. Did you test that with users before committing to it?
Good point. Did you test that with users before committing to it?
Solid lesson. Which channel has worked best for you so far?
Nice progress. What is the next thing you are focusing on?
Appreciate the honesty here, most people only share the wins.
Nice progress. What is the next thing you are focusing on?
Solid lesson. Which channel has worked best for you so far?
Appreciate the honesty here, most people only share the wins.
Good point. Did you test that with users before committing to it?
Yeah, it's not just startup credit pages — same thing with any data a business pulls manually from third-party sites (competitor prices, stock availability, terms and conditions, etc.): the page looks current, but it actually changed two months ago, and nobody finds out until they run straight into it.
We ended up putting together an [essential scraper monitoring and maintenance checklist] https://data-ox.com/resources/blog/web-scraper-monitoring-maintenance-checklist/ for exactly this kind of staleness-detection problem on our own scrapers.
Clear and practical, thanks. Did anything surprise you along the way?
Thanks for sharing the numbers, that makes it much easier to follow.
Interesting. How are you measuring whether it is working?
Clear and practical, thanks. Did anything surprise you along the way?
Great breakdown. What feedback have you had from early users?
Good write-up. What would you do differently if you started again?
Nice progress. What is the next thing you are focusing on?
Nice progress. What is the next thing you are focusing on?
Three threads at once, in rough priority order. First, the dated registry itself: the version that actually ships needs a way to tell you a credit page is stale before you click, not after, so the next piece is the check that flags a page whose last-verified hash no longer matches what is being served. Second, I want to stop hand-verifying each company and get the hash-plus-date pull to run on a schedule so a page that goes stale gets flagged the same day. Third, and the one I keep putting off, is getting a second person to run it against a company they did not add, because the whole value is in the data being owned by the page, not by whoever first wrote it down.
Solid lesson. Which channel has worked best for you so far?
This post, on Indie Hackers, has been the only channel that has produced a real human reply so far. The paid report endpoints get pounded by agent traffic, and the free scan gets the same, but the moment a human reads the write-up and comes back with a question, that is the channel that converts. So the channel that works best is not where the traffic is, it is where a person is willing to read the honest version of what broke and then talk.
Appreciate the honesty here, most people only share the wins.
Good point. Did you test that with users before committing to it?
No, and that is the honest part I would change if I ran it again. I committed to the registry shape before I had a second user pulling from it, so right now the dated hash is verified by me alone. The failure that format is designed to catch, a page quietly drifting from what it claims, I have only seen in my own pulls, not from an independent reader. The next step is exactly to get that second pull happening, because a single verifier is the weak point in the whole design.
Good point. Did you test that with users before committing to it?
Nice progress. What is the next thing you are focusing on?
Appreciate the honesty here, most people only share the wins.
Solid lesson. Which channel has worked best for you so far?
Really solid approach — I'm juggling something similar myself (building Xstream4K on the side), what's been the hardest part for you so far?