The transparent place where IT offers meet talent.
itoffers.online connects recruiters with candidates through fresh, non-duplicated job offers. Built in the open in PHP, posted to multiple channels, and free to self-host.
A job board that respects both sides of the table
No mandatory salary fields that scare recruiters away. No stale, recycled offers that waste candidates' time. Throttling, channels and notifications baked into the core.
Fresh offers, not duplicates
Per-recruiter posting limits inside a time window keep the feed signal-rich for candidates.
Multi-channel publishing
One offer reaches your site, your Facebook page-to-group pipeline, and Twitter — without copy/paste.
Recruiter-friendly fields
Salary ranges optional. Recruiters publish what they can disclose, candidates get to filter what they care about.
Specializations & filters
Browse all offers or narrow by specialization with basic filters tailored to IT roles.
Email-driven applications
Candidate applications are fetched directly from email — no extra inbox to monitor.
Open-source forever
MIT-licensed. Inspect, fork, self-host. Transparency is the key to quality.
From recruiter post to candidate match
- step / 01
Recruiter posts an offer
Pick a specialization, write the role, set what you can disclose. Throttling guards quality.
- step / 02
Offer fans out to channels
Website listing plus optional Facebook page-to-group and Twitter posts — automatic and traceable.
- step / 03
Candidates apply by email
Applications are pulled in from email and linked back to the original offer for the recruiter.
Modular monolith, built to last
Two well-bounded contexts
Offers handles specializations, posting, throttling, listings, applications. Notifications handles candidate and recruiter messaging.
Boring, proven stack
PHP 7.4 · PostgreSQL 11 · Redis · Nginx · Ubuntu. Vagrant box for one-command local setup, Ansible for provisioning.
Self-host it in an afternoon.
Clone the repo, spin up the Vagrant box, run the test suite. Everything is documented, everything is in the open.