We're looking for a data/ML engineer to own the brain of Palette: the signal engine.
The ideal person sits at the intersection of four hats:
Data engineer: owns the pipelines at real volume, and takes data privacy and security seriously
ML engineer: embeddings, clustering, retrieval, vector search, LLMs as system components, evals
Data scientist: spots the use cases and drives what we build next on top of the data
Software engineer: comfortable across the stack, comfortable in TypeScript / Postgres
You won't be equally deep in all four - nobody is. But you're genuinely strong in at least one and eager to grow into the rest. Right skills, but more importantly the right mindset: strong product sense, agency, curiosity. You think in relationships and retrieval, and you care about cost and quality. Bonus points for RAG and graph-shaped data.
At Palette you'll drive our signal engine, end to end. Today it captures events and stores them as signals - enough for the briefs and context pages we ship now. Next is a queryable graph of activities: everything that happens across a company's tools, on one timeline, answerable by who, what, when, and meaning, by both people and AI agents.
You work AI-native - use the tools, move fast, own the output. If the AI writes 80% of the code, great; just reason about it and ship.
Desktop: Tauri v2, Rust, TypeScript / React / TanStack
Frontend: Next.js (migrating to TanStack)
Backend: Hono
AI Agents: Mastra, plus the coding-agent harnesses we run on-device
Data & infra: PostgreSQL, Redis, Inngest, Nango, Railway
Plus: Linear, GitHub Actions, WorkOS, Cloudflare, Sentry, Incident.io, Requesty, Swarmia, PostHog, Atlas and more.
We're bullish on TypeScript but we're constantly evaluating our approach and open to be challenged.
Top-tier salary + warrants
Solid office in Copenhagen
The gear you need
Dental insurance
Lunch, snacks & drinks at the office
Copenhagen office. Mostly in person, but around two days from home every week.
We aim to stay a small and lean team.
We're all doers and care about our craftsmanship.
We're constantly exploring what AI-native means to us.
We're obsessed with making something people actually want to use, therefore everyone at the company talks to customers regularly.
For the last decade, knowledge work drifted away from its original promise. It was supposed to be about thinking, creating, deciding. Instead it became status meetings, reporting, alignment rituals, and busywork.
AI changes that. But the speed has created a new problem: the individual got faster than the organization. More and more work happens inside sessions between humans and agents, and the context behind that work disappears before anyone else in the company can see it.
Palette is the shared context layer for teams and AI. We ingest signals from the tools teams already use (Slack, Linear, Notion, GitHub, calendar, email), turn them into a living map of the organization, and serve that context to the agents people work with every day.
Palette Desktop is the app where teams put that context to work. Point it at a folder your team shares on Google Drive or Dropbox, and run agents on Anthropic, OpenAI, Mistral, or a local model inside it. More providers ship in regularly. It opens those agents up to the whole company, including non-engineers, and the team picks the model that fits. We shipped Desktop in May, and it's already where most of our own work happens.
We're 6 people in Copenhagen. Four co-founders, two founding engineers. We work with design partners across leading startups, scaleups, and household-name brands. We recently raised our pre-seed and are now bringing on our first commercial hire.
Please note that during week 29-31 there might be slower response times due to our small team taking some vacation ☀️
This job comes with several perks and benefits
