Summary
β¨ AIβGenerated
An early-stage team is building an AI-driven product where a language model interacts with real data and takes consequential actions. The backend is built in Python using a modern web framework over a multi-tenant relational database. Key challenges include ensuring exactly-once execution, maintaining human oversight of consequential actions, and enabling full auditability of model interactions. The role involves building REST APIs, background job processing with idempotency and atomic claiming, and database schema design with enforced migrations.
Highlights
Build an AI product where language models take real actions on real data. Work with Python, FastAPI, and PostgreSQL on a multi-tenant backend. Flexible full-time or part-time, remote or in-person. Tackle challenges around idempotency, atomic claiming, and full auditability.
Description
Full-time/Part-time Β· Remote/In-person
The role
We're an early-stage team building an AI product on a Python backend.
The backend is a FastAPI service over Postgres.
The problems that make this job interesting are the ones that come with letting a language model take real actions on real data: ensuring a piece of work happens exactly once, ensuring a person stays in control of anything consequential, and being able to reconstruct exactly what happened and why afterwards.
What you'd work on
β The loop around a model: assembling context within a token budget, validating what comes back, executing the tool calls it asks for, and streaming the result to the client while all of that is still in flight.
β REST API design and implementation against a multi-tenant Postgres database.
β Background job processing.
Idempotency, atomic claiming, retries, and correct behaviour when a worker dies halfway through a task.
β Schema design and migrations, with correctness enforced by database constraints rather than defended in application code.
β Retrieval: chunking, embeddings, vector similarity search in Postgres.
β Third-party service integrations: model providers, email, notifications, and file storage.
β Tests that reproduce real concurrency bugs, and tests that hold up when the thing under test is non-deterministic.
You'll be reading and extending an agent runtime that we wrote ourselves.
We call model APIs directly rather than through an agent framework, so you need to understand the loop, not a library that hides it.
What we're looking for
β 2β3 years writing Python backends that real users hit.**
β You've called a language model API directly.** Structured output, tool calling, streaming.
A side project counts.
What matters is that you've handled a model's response as data and dealt with it being wrong.
β Genuine SQL.** You can explain where a transaction begins and ends, what happens when two workers try to claim the same row.
β Async Python for real.** Concurrent I/O, timeouts, cancellation, and what `async` actually buys you when the slowest call in the system is a model that takes twelve seconds to respond.
β You treat model output as untrusted input.** Validated at the boundary with Pydantic or equivalent, never passed through on trust.
β You test concurrent code by making it concurrent.** Spawning real clients, not mocking the thing that was the point.
β - Docker, git, CI.
β You write things down.** We work across time zones.
A decision that exists only in someone's head does not exist.
Helpful, not required
β Multi-tenant data isolation.
Postgres row-level security, or any model you've had to defend in practice.
β Evals.
Any experience deciding whether a prompt change made things better or worse, and how you'd know.
β Embeddings and vector search.
pgvector or otherwise.
β Prompt injection and the other ways a model gets talked into doing something it shouldn't.
β Token usage, latency, and cost as things you've had to measure and bring down.
β Experience being the person who got paged when it broke.
How we work
Architecture decisions get written down before they get built, and the document is the contract.
Everything goes through code review.
We use AI coding tools extensively and expect you to as well.
We also expect you to be able to defend any line you ship, whatever wrote it.
Small team, so the scope is broad and there's nobody to hand the hard part to.
Apply
Email sale@workcore.ai with your CV and GitHub, and a link to something you've built if you have one.
Attention: Reza