Covenant is a technology company embedded in a law firm that integrates advanced AI with legal expertise to enhance private market investments. By leveraging multiple foundational AI models, Covenant…
Covenant is a technology company embedded in a law firm that integrates advanced AI with legal expertise to enhance private market investments. By leveraging multiple foundational AI models, Covenant…
We're building AI-powered tooling for institutional Limited Partners (sovereign wealth funds, endowments, large allocators) to read, compare, and extract structured insight from private-markets fund documents.
Our product turns hundreds of pages of legalese into structured answers a deal team can actually filter, sort, and use for accelerating getting things done.
We are close to profitability and don't expect to fund raise again.
Remote / RTO Approach
Personally, my preference is everyone remote forever. Everyone apart from engineering is in NYC.
However, since both myself and the other engineer are here in Ottawa where periodically work together in a coworking space in Vanier, we would like to try to have an "Ottawa Hub" where we can at the very least have lunch once a month.
What you'll work on
You'd be joining me (Staff+ Engineer/CTO) and our other intermediate/senior engineering driving feature work on the client app. We need someone who can own a meaningful surface area end-to-end who can work mostly autonomously, and who has the judgment to know when a 200-line patch is the right answer and when the right answer is a refactor.
Recent work that gives you a flavour:
LLM pipelines.
Our Survey pipeline runs an ensemble of frontier models per question and a judge LLM that picks/synthesises the winning answer, with structured-value extraction (MONEY, PERCENTAGE, YEAR, DURATION) and section references back to the source PDF. Recent work: deterministic section locator, schema-enforced self-healing repair, cross-provider daily spend caps via PostHog, repair wrappers that re-prompt with conversation context.
Stack
What we're looking for
Nice to have
Drizzle / Postgres internals
Inngest, Temporal, Kafka or similar durable-execution experience
Small team. We have strong testing and correctness checks in CI. PRs are reviewed within hours, not days. Heavy Linear use, heavy PostHog use, heavy CLAUDE.md / agent use. You're expected to push back on bad ideas including ours.
Interview Process
45 minute exploration phone call where we talk about your background, what you're looking for and walk through some of your recent projects.
System design interview to whiteboard together and talk through approaches.
Interview with the CEO.
Looking forward to meeting you!
Startup jobs. A lot of them.
Your next opportunity is in here somewhere. Sign up to explore 70,000+ startups and their open roles. No spam. No gamification. Just jobs.
70,000+
Startups
83,000+
Open Roles
4,500+
New This Week
Data Scientist
InternshipRotterdam, NL
Internship • Rotterdam, NL
Machine Learning Engineer
ContractLondon, GB
Contract • London, GB
Software Engineer
ContractBelgrade, RS
Contract • Belgrade, RS
Product Designer
ContractAustin, US
Contract • Austin, US
Machine Learning Engineer
Full-timeBerlin, DE
Full-time • Berlin, DE
Technical Writer
Part-timeNiš, RS
Part-time • Niš, RS
MFN pipeline.
Single-function Inngest orchestrator that walks Topics → Provisions → Evaluation → Summary. Lots of correctness work, idempotent process-topic, resume-from-failed-phase, avoiding O(N²) Inngest state growth, not leaking raw entity names to the LLM.
Document processing.
LibreOffice on Cloud Run for Word→PDF conversion, anonymization for sensitive client data, PDF preview in the client app, advanced Word export.
Admin tooling.
Approve / review / re-run UIs for the human checkpoints in our pipelines. QA review dashboard, patch-job sub-lists, server-side search.
Customer features.
Portfolio analysis filters, Excel/Word exports, audit logs in WorkOS shape for GIC InfoSec, event-driven notification emails.
5–8+ years
building production TypeScript / React apps. You've owned features end-to-end: schema, resolvers, UI, tests, rollout.
Pipelines and eventual consistency
Pipelines can take awhile and they need to be robust. Experience with distributed systems or pipelines is important here.
Strong on data correctness.
You think in transactions, idempotency keys, compensating actions, and "what happens on retry." A lot of our recent fixes are about making pipelines safe to re-run.
Comfort with LLM-shaped systems
— structured outputs, schema enforcement, prompt iteration, cost/latency tradeoffs. You don't need years of it, but you should have shipped at least one feature where the model can lie and you had to design around that.
Good taste on abstractions.
We just finished a 3-wave filter-registry refactor and a schemas package extraction. We also revert PRs that didn't pan out. You should know when each is the right move.
Operate without a tight leash.
Pick up a Linear ticket, ask the right clarifying questions, ship it, watch it in PostHog.