tapped = false, 1500); navigator.clipboard?.writeText(location.href.split('#')[0] + '#job-alerts-where-freelancers-already-are')" >Job alerts where freelancers already are
I built a Telegram bot that freelancers sign in through, then get matched jobs, browse openings, pass on the ones they don't want, and set their availability, roles and skills, all in chat.
Later came a Slack integration: sign in with Slack, community invites, job matches posted to Slack, and Gun.io profiles synced to Slack profiles. There's also "Six", a staff bot that posts alerts and pulls reports on command.
tapped = false, 1500); navigator.clipboard?.writeText(location.href.split('#')[0] + '#matching-the-right-engineer-to-the-job')" >Matching the right engineer to the job
I wrote the scoring engine that rates how well a freelancer fits a job: their skills, roles, rated skills, where they'll work and how recently they've been active. Automatch uses it to pick who gets notified, so the right people hear about a job first. The skills and roles taxonomy and the staff talent search sit underneath.
tapped = false, 1500); navigator.clipboard?.writeText(location.href.split('#')[0] + '#rebuilding-the-hiring-pipeline')" >Rebuilding the hiring pipeline
I wrote the deals, presentations and interviews APIs, and the migrations that moved years of legacy candidates and notes into them, with tests proving every past hire still lined up.
tapped = false, 1500); navigator.clipboard?.writeText(location.href.split('#')[0] + '#worf-a-rest-framework-with-honor')" >Worf, a REST framework with honor
Gun.io's v2 API runs on Worf, Wade's open-source Django REST framework, which aims to be more Djangonic than Django REST Framework. I became its top contributor, adding actions, permissions, search and include fields, and many-to-many assignment, plus Django 4 and Python 3.11 support and release automation. Today was a good day to ship.
tapped = false, 1500); navigator.clipboard?.writeText(location.href.split('#')[0] + '#releases-on-autopilot')" >Releases on autopilot
A GitHub Actions release builder tags versions, writes changelogs, deploys app.gun.io and posts the release notes to Slack. I also wrote a generator that turns Django models into TypeScript, and rewrote the Cypress suite on a factories API.
tapped = false, 1500); navigator.clipboard?.writeText(location.href.split('#')[0] + '#the-marketing-site')" >The marketing site
I built gun.io's WordPress theme: Tailwind and Alpine on Laravel components, with about 20 custom blocks. The jobs and team blocks pull live from the app's API. I moved the blog over from HubSpot with redirects, so no links broke, and built the Frontier podcast section with transcripts and episode links.
