Closest to the customer, closest to the code
About the role
episki is an Autonomous GRC platform. Compliance teams use it to run SOC 2, ISO 27001, HIPAA and a dozen other frameworks without the spreadsheet sprawl and the per-framework upcharges the rest of the category runs on.
The product is good. The gap between what customers need and what's in front of them is still bigger than it should be — and closing that gap is the whole job here.
This role exists because the distance between hearing a problem and shipping a fix is currently one person long, and that person is the founder. You'd be shortening it. You'll sit in customer sessions, notice the thing they worked around without mentioning, write it up properly, build it, and get it in front of them. The loop should take days.
The interface half of this matters as much as the building half. GRC software has a reputation for being punishing to use, and most of the category has earned it. Consistency is the thing that separates a product that feels like one product from a pile of features that shipped in a different month each. You'd own that — not as a style guide nobody reads, but as the standing judgment of what's good enough to ship.
You will be early. That means unusual leverage and unusual ambiguity, in roughly equal measure. If that trade sounds good rather than stressful, we should talk.
What you'll actually do
- Join customer calls and onboarding sessions — watch how compliance teams actually work, not how they say they work.
- { "Turn what you observe into tickets that are specific enough to build from": "the problem, the affected screens, the edge cases, what \"done\" looks like." }
- Implement that work with AI coding tools, reviewing every change with the judgment to know when the model is confidently wrong.
- Own interface consistency across the product — spacing, states, empty states, error copy, keyboard paths. Catch the drift before it ships.
- Turn recurring customer friction into product changes instead of support macros.
- { "Close the loop": "go back to the customer who raised it and show them the thing you built." }
What we're looking for
- A real eye for UI and UX — you notice when two buttons in the same flow disagree, and it bothers you enough to fix it.
- Enough development fluency to read a codebase, reason about data models and state, and scope a change honestly. You don't need to have been a senior engineer.
- Fluent with AI coding tools as a daily driver — and specific about where they break down.
- { "Writing that is plain and precise": { " Most of this job is written": "tickets, specs, changelogs, customer replies." } }
- Comfort being the person in the room with the customer, including when the answer is "that's broken, here's when I'll fix it."
- Self-direction. There is no sprint ceremony to hide inside and no one assigning you work each morning.
Helpful, not required
- { "You've worked in or near GRC — SOC 2, ISO 27001, HIPAA — from any angle": "practitioner, auditor, or the person who got volunteered." }
- Experience with Vue or Nuxt, or the willingness to be productive in them inside a week.
- You've been the first or second technical hire somewhere and know what that actually costs.
- Design-system work, or any history of making a sprawling interface feel like one product again.
What this role is not
- Not a pure IC engineering role — if you want to be heads-down in a codebase with no customer contact, you'll be unhappy here.
- Not a solutions-architect role — you write and ship the code, you don't hand it to an engineering team.
- Not a design role — you'll hold the bar on craft, but you're not producing comps in Figma all week.
- Not a support role — the goal is to make the ticket unnecessary next time, not to close it faster.
How we hire for this role
- 1Apply15 minutes
The form below. A few sentences on why this role and a link to something you've built or shipped beats a cover letter every time.
- 2Intro call30 minutes
A conversation with Justin — what you're looking for, what this actually is, comp band, and whether it's worth continuing. No panel, no screening gauntlet.
- 3Working session90 minutes
We look at a real piece of episki together — a flow that isn't good enough yet. You tell us what's wrong with it and how you'd scope the fix. Paid if it runs long.
- 4Customer call60 minutes
You sit in on a real customer conversation. This is as much for you as for us — it's the actual job, and you should see it before you commit.
- 5Offer2 days
Decision within two business days of the last conversation, either way. You'll hear back with a reason.