Connect — find peers, staff a project, talk directly
Terminalhire also matches you against people, not just roles: other opted-in developers, and founders looking to staff a project. Like everything else, your profile never leaves your machine — nobody sees you until you explicitly consent.
Discover
terminalhire devs # rank opted-in builders against your profile
terminalhire devs --as-project # rank builders against your declared project
terminalhire project "<title>: <skills>" # declare a project locally (never sent)
devs downloads an anonymous directory and ranks it against a profile that
never leaves your machine — no profile data is sent just to see who you match with. Each result shows a match
score, the tags you matched on, and a link to that person's verifiable
Proof of Work page.
Double opt-in, always
Nobody is notified that you looked at their profile. Reaching out requires an explicit request, and the other side has to say yes before anything is shared:
terminalhire intro <github-login> # request a consented intro (typed-yes)
terminalhire intro --list # see your sent + received requests
terminalhire intro --accept @<login> # accept a pending request (or --decline)
Both directions are typed, human consent — a model or script can never accept an intro on your behalf. Only after both sides have said yes does contact information cross the wire.
Chat, end to end
Once connected, you can talk without leaving the terminal:
terminalhire chat # inbox: one line per connection
terminalhire chat <login> --read # read a thread inline
terminalhire chat <login> --send "…" # send one line
terminalhire chat <login> # open a live chat pane
terminalhire inbox # interactive TUI: threads + invitations
Messages are end-to-end encrypted (X25519 + XChaCha20-Poly1305) before they leave your machine — the server stores ciphertext it cannot read. There's no way to reconstruct a conversation from a server-side breach.
What's local vs. what crosses the wire
| Stays on your machine | Crosses the wire (only after explicit action) |
|---|---|
| Your profile, match scores, "why matched" tags | A request to connect (an intro) |
| Which developers you looked at | Acceptance of an intro (both sides) |
| Message plaintext (encrypted before send) | Message ciphertext, once connected |
See Privacy architecture for the full picture of what stays local across every surface.