The who-is-hiring issue tracker is the job board, and the English half of the README has no disclaimer
A repository created by the Rebase community, giving companies and teams in blockchain and other industries a free channel to post job listings, which are then published across all of the Rebase community's media.
At a glance
- What is it?
- rebase-network/who-is-hiring turns GitHub issues into a jobs board: you open an issue with your job description, a TypeScript script builds the site, and the only runtime dependency is a schema validator. Nothing checks what you typed. Salary, location and language are free text, one listing is published twice, a template with unfilled placeholders went live as a job, and the legal disclaimer exists only in the Chinese half of the file.
- Who is it for?
- This is a neat piece of infrastructure: a job board with no database, where the issue tracker is the submission form, a script is the content management system, and the site's whole runtime is one schema library. That design is why posting is free and why the repository was pushed as recently as 2026-10-01.
- Can I use it commercially?
- Yes. CC0-1.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly HTML, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Star history
- rebase-network/who-is-hiring1,850 ★ · +55
| Repository | 2026-08-22 | 2026-10-22 |
|---|---|---|
| rebase-network/who-is-hiring | 1.8k | 1.9k |
55 Stars in the last 61 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
The issue tracker is the submission form and the database
There is no form, no account and no jobs table. You create an issue and put your job description in the issue body, and the link to that issue then appears automatically in the README list and on the site at hire.rebase.network. The pipeline that does the automatic part is the build:site script, which runs scripts/build_site.ts through tsx, so the live board is generated output rather than something maintained by hand.
The list of postings in the README is a rendering of that issue stream, each line being a link to an issue with the date appended. Past listings move to jobs.md, which the README links as the archive, and the issue numbers visible in the list run from 1001 upward across postings dated from January 2026 into February. The project metadata records the last push on the default branch as 2026-10-01, and there are no GitHub releases, so the site's version history is the issue history.
It is worth being clear about what that means for durability. The channel depends on one repository, one issue tracker and one build script staying reachable, and the recorded homepage for the project is an http address rather than an https one, which makes it the only unencrypted link in the file.
One runtime dependency, and a TypeScript pipeline behind an HTML front end
The build package is small enough to describe exactly. It is named who-is-hiring, version 0.2.0, marked private so it is never published to a registry, declared as an ES module, and requires Node 20 or newer. It has exactly one runtime dependency, zod at ^4.1.5, and four development dependencies: @types/node, tsx, typescript and vitest.
A single schema library as the whole runtime tells you what the build is for. It is not fetching anything or talking to a service; its job is to take free text out of issue titles and bodies and turn it into records that pass a schema, which is then written out and rendered. A data directory sits in the tree for that output. The developer scripts match: test is vitest run, typecheck is tsc --noEmit, and build:site is the one script that produces something a person reads.
The other oddity is the split between the pipeline and the page. The repository's primary language is reported as HTML, which comes from the site side of the project in public/ and elsewhere, while the pipeline is TypeScript under src/, scripts/ and tests/. There is a second readme, README_TS.md, next to the bilingual README.md, so the project has been through at least one presentation rewrite on top of the pipeline rewrite.
The LLM spot check is a separate script with no declared provider
One script stands apart from the build: spotcheck:llm, which runs scripts/llm_spotcheck.ts. It is the only part of the package that implies a model in the loop, and the manifest says nothing about how it reaches one. There is no LLM client in the dependencies, no provider field, no key variable and no endpoint setting, and the single runtime dependency remains zod. So either the script picks up everything from the environment, or it talks to something the manifest does not describe.
Two things follow from where the script sits. It is not part of build:site, so the site can be generated without the check ever having run, and the check cannot be a gate on what appears. And because nothing in the manifest names a provider or a model, a reader cannot tell what it is checking for, whether it is advisory or blocking, or what happens to a listing it rejects.
That gap is the difference between a moderated board and a self-publishing one. Everything else about this project is designed so that anyone can publish for free, which is the stated goal, but the one component that could have added review is the one component with no visible configuration.
The English Disclaimer heading is followed by a rule and nothing else
The Chinese half of the README carries a disclaimer in full. It says every posting is published by the recruiting party itself, that Rebase only handles layout and editing, that it takes no responsibility for the final legality or the truth of the information, that it assumes no legal liability, and that readers should be careful and verify what they read. The contact handle for the person who runs the postings, a WeChat id, is in that half too.
The English half has a heading called Disclaimer and then nothing. It is followed immediately by a horizontal rule and the start of the Chinese half of the file, so an English reader scrolling the page sees the heading and no text under it. The contact section is absent from the English half in the same way.
So the file is not a translation of itself. Half the file tells you the postings are unverified and that you should check them; the other half tells you the postings are free and that developers prefer the ones with a salary. Since the job titles themselves are mostly written in Chinese, the readers most likely to need that warning are the ones least likely to be served by the half that carries it.
The two halves of the file disagree about the other job boards
Both halves carry a short list of other recruitment platforms, and the lists do not match. The English list names five sites: cryptocurrencyjobs.co, sailonchain.com, angel.co/candidates/overview, cryptojobslist.com and vuejobs.com. The Chinese list names the same set minus sailonchain.com, which means one of the five recommendations exists in only one of the two halves of the same file.
This is a small thing on its own, and worth naming because of what it measures. Both halves are maintained by hand, in parallel, in one file, and they have already drifted. The same drift produced the empty disclaimer heading and the missing contact section. A reader comparing the two halves is looking at the clearest available evidence of what a self-published board with no review step looks like after a year of two people editing.
It also sets the tone for the rest of the project. Nothing on the page claims editorial control, and the Chinese disclaimer says so outright, so the drift is not a broken promise. It is what a board with a volunteer editor and a build script looks like from the inside.
Salary is free text in five notations and three currencies
The Tips section asks for two things, a salary and clear work details, and asks rather than requires. Nothing in the pipeline enforces either, so the visible list shows salaries written the way each author felt like writing them: 5000-9000 USD, 3000-5000 USD, 40k-70k RMB/USD, 10-20k RMB, 5,000 - 9,500U, 3,500 - 6,500U, 15K-30K per month, 3000-8000USD/M, and combinations written as HKD/RMB/USD or plain RMB/USD.
That is at least five notations for one field, three currencies, and a suffix meaning per month. Locations are free text inside the issue title in the same way, written as [远程], [远程办公], [全远端], [Remote-远程], [广州 / 远程], [深圳/SG/HK] and [Remote/HK], with and without spaces inside the brackets.
The consequence is narrow but real. A board like this is good for finding leads and useless for comparing them, because nothing has normalised the one field a candidate is most likely to filter on. Any tool built on top of it would be reading authors' punctuation rather than their intent.
A duplicate listing and an unfilled template were both published
Two entries in the list show what happens with no review. First, two issues carry the same long title word for word: the Remote posting for a Web3, DEX and CEX company advertising an AI plus trading product manager, a quant developer, front-end, SRE, Go, Flutter, C++, senior business development manager and business development lead, at RMB or USD. One is dated 2026-01-08 and the other 2026-01-11, three days apart, with no visible difference beyond the date and the issue number.
Second, one entry is a template that was never filled in. It reads as a city placeholder, a company placeholder, an engineer placeholder and a salary placeholder, followed by RMB or USD, and it is dated 2026-02-08 and published like the rest. Nobody wrote a job; the shape of a job description was copied and shipped.
The same pass shows three postings written entirely in English, including a front-end role for an e-commerce site, a CTO or senior blockchain developer, and a senior Java developer marked on-site, sitting in a list that is otherwise in Chinese. So language is not normalised either, and the board publishes whatever arrives. The build script is doing exactly what it was asked to do, which is the point: the mechanism has no opinion.
Editorial conclusion
This is a neat piece of infrastructure: a job board with no database, where the issue tracker is the submission form, a script is the content management system, and the site's whole runtime is one schema library. That design is why posting is free and why the repository was pushed as recently as 2026-10-01. What it does not do is check anything. Salary, location and language are whatever the author typed, one listing is published twice, a template with its placeholders unfilled was published as a job, and the automated check is a separate script with no declared provider. Treat it as a lead list, and check the two things the project itself asks for, a salary range and clear responsibilities, before replying to anything. If you do not read the Chinese half of the README, know that the disclaimer and the contact handle are only there.
Frequently asked questions
How do I post a job on the Rebase who-is-hiring board?
Open an issue in the repository's issue tracker and put your job description in the issue body when you create it. The link is then displayed automatically, both in the README list and on the site at hire.rebase.network, and past listings move to jobs.md.
Does posting a job on who-is-hiring cost anything?
The README says publishing is free with no fee, and that all the listings appear across Rebase's own media. There is no paid tier, no featured slot and no account to create.
Is Rebase responsible for the postings on who-is-hiring?
Its own disclaimer says the postings are published by the recruiting parties themselves, that Rebase only handles layout and editing, and that it takes no responsibility for their legality or truth and no legal liability. That disclaimer text appears only in the Chinese half of the README; the English Disclaimer heading has nothing under it.
How is the hire.rebase.network site built?
By the build:site script, which runs scripts/build_site.ts through tsx, so the board is generated from the issue data. The pipeline is a private package at version 0.2.0 with one runtime dependency, zod, and it requires Node 20 or newer.
How are job listings formatted in who-is-hiring?
Whatever the issue title carries. Visible salaries are written as 5000-9000 USD, 40k-70k RMB/USD, 5,000 - 9,500U, 15K-30K per month and 3000-8000USD/M, and locations as [远程], [全远端], [广州 / 远程] and [Remote/HK].
Does who-is-hiring run any check on submissions?
There is a spotcheck:llm script that runs scripts/llm_spotcheck.ts. The manifest declares no LLM client, no provider and no key setting, with zod as the only runtime dependency, and the spot check is a separate script from build:site rather than a stage inside it.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/rebase-network-who-is-hiring)Star history chart for your README
[](https://hysenlabs.com/projects/rebase-network-who-is-hiring)