Gun.io

Gun.io

2021 – 2023See live
Steve on X

Gun.io helps world-class engineering teams hire the world's most sought-after freelance engineers at a moment's notice. I worked on their Django and Vue web app and APIs for two years, about 2,000 commits, built their marketing site, and worked as a freelancer on the platform too, so I knew it from both sides.

Gun.io

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.

The Gun.io bot asking a freelancer for their availability in Slack
Keeping a profile current, in chat
The Gun.io bot's menu in Slack
The bot's menu

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.

A freelancer profile on app.gun.io
My own freelancer profile, with roles, skills and availability

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.

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.

Worf staring, captioned "Stares in Klingon"
Worf's README, as it has always been
Worf on GitHub
Worf on GitHub

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.

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.

Finding work on gun.io
Find work, on the marketing site
The Frontier podcast on gun.io in May 2023
Frontier, the Gun.io podcast

References

Teja Yenamandra, Co-Founder & CEO at Gun.io

I've had the pleasure of working alongside Steve for a few years, and I found Steve to be one of the most thoughtful developers I've ever worked with - he's opinionated, diligent, and incredibly passionate about his craft. One of the mythical 10x!

Teja Yenamandra, Co-Founder & CEO at Gun.io

Grey Garner, VP of Product at Gun.io

Steve was a key member of our engineering team at Gun.io and was a critical player in helping guide architectural decisions, our core engineering tenets, and code standards for the entire team. He's clearly a talented programmer, with the fluency across multiple languages and frameworks to bring instant value to a huge spectrum pf projects. But Steve also pairs his technical talent with a keen sense of business value, a knack for efficiency and innovation, and the ability to reliably work independently. Highly recommended.

Grey Garner, VP of Product at Gun.io