Job Description
Senior Full Stack Engineer — AI Publishing Platform
Location: Ashford, Kent (hybrid — 2–3 days on-site)
Team: Core Platform & AI Autolayout
About PageSuite
PageSuite powers the digital editions and apps behind many of the world's best-known
newspaper and magazine publishers, reaching millions of readers across web and
mobile. As print deadlines tighten and print days shrink, we're building the tools
that let publishers produce, lay out, and ship editions faster than ever - including
an AI-driven automated layout engine that turns raw content feeds and ad plans into
print-ready pages with no manual paste-up.
You'll work at the heart of that system: real, in-production AI features, demanding
PDF/typesetting problems, and a modern TypeScript service architecture.
What you'll work on
- The AI Autolayout Engine — automatically composing newspaper/magazine pages from
content feeds and ad plans, with a scoring-and-branching system that searches for
the best layout per page.
- A high-fidelity PDF rendering pipeline — text measurement, grid/flex layout
resolution, image processing and smart cropping, all producing CMYK print-ready
output that must match exactly across server and browser.
- A browser-based client render engine that mirrors backend rendering for instant
editor feedback.
- The services and data layer behind it: ad plans, editions, templates, feeds, and a
canonical article/slot store with concurrent-editing support.
Our stack
- Language: TypeScript (strict), end to end
- Backend: Express 5, modular monolith of independently-deployed services sharing
one PostgreSQL database; Zod for validation; InversifyJS for dependency injection;
vertical-slice architecture
- Data: PostgreSQL (primary), DynamoDB (performance-critical paths)
- Frontend: React + Redux, TypeScript
- Rendering/Media: Puppeteer, Sharp
- AI/LLM: Anthropic Claude (model cascades, structured prompting) for content
transformation, plus AWS Rekognition for image analysis
- Cloud: AWS — S3, SQS, Cognito, Step Functions, ALB; nginx routing
- Infra/Tooling: Docker Compose (local), IaC for AWS, Git
What we're looking for
Must have
- Strong production TypeScript/JavaScript across both front-end (React/Redux or
similar) and back-end (Node/Express or comparable API frameworks)
- Solid relational database experience (PostgreSQL) and comfort designing schemas
and queries; bonus for NoSQL (DynamoDB)
- Real AWS experience (S3, queues, serverless/containers) and Docker
- Git, testing discipline, and CI/CD
- The ability to read into a large, unfamiliar codebase and ship safely — we value
engineers who reduce complexity, not just add features
Strongly desired — the differentiators
- You work effectively with AI coding tools (Claude Code / Claude, Copilot, or
similar) as a daily multiplier — you know how to prompt, review, and verify
AI-generated code, and you understand its failure modes rather than trusting it
blindly.
- Experience building with LLM APIs (Anthropic Claude, OpenAI, etc.): prompt design,
model selection/cost trade-offs, structured outputs, fallbacks, and evaluating
output quality.
- Exposure to document/PDF rendering, typography, layout algorithms, or
computational geometry — anything involving measuring and placing content precisely.
- Event-driven / queue-based architectures (SQS, Step Functions) and an eye for
performance (caching, parallelism).
Nice to have
- Publishing, print, CMS, or media-tech background
- Image processing (Sharp / ImageMagick), focal-point/crop work
- Kubernetes; AWS Step Functions; infrastructure-as-code
How we work
We're a small, high-ownership team. You'll have direct input into architecture,
you'll review and be reviewed, and you'll use modern AI tooling as a core part of
the workflow — not a novelty. We care about clean, testable, well-documented code
and about engineers who can reason about trade-offs out loud.
Why join
Genuinely hard, genuinely interesting problems - AI layout, real-time rendering,
print-grade output - used every day by major publishers, in a stack that's modern
and a team where your decisions actually count.