Skip to content

Open nowPosted 14 hours ago

Senior AI Engineer

Ruby Labs32 open roles

Where
Ukraine
Work mode
Remote
Get the CV for this job

From $25 per CV, paid once. No subscription.

Your applicationOpen nowSenior AI EngineerRuby Labs · Ukraine
  1. YouYes, apply to this one.

  2. CV RocketCV written for this posting.

  3. 25 readersRecruiter, hiring manager, skeptic. Round after round.

  4. CV RocketApplied on Ruby Labs's own form.

The reply lands in your private mailbox

3×more interviews than doing it yourself with ChatGPT.

The clock on this job

Early applications get read.

11.5% of postings close within 7 days. Measured by our own scanner across the market. Ruby Labs postings stay open a median of 15 days.

Share of postings closed within
  1. 2.0%1 day
  2. 4.3%3 days
  3. 11.5%7 days
  4. 18.1%14 days
  5. 35.6%30 days
  6. 44.6%60 days
This job: posted 14 hours ago

Ruby Labs median: 15 days open

The posting

ABOUT US

Ruby Labs is a leading tech company that creates and operates innovative consumer products. We offer a diverse range of opportunities across the health, education, and entertainment industries. Our innovative teams are driving the future of consumer-led products, and we're always looking for passionate individuals to join us. Learn more about our story at: https://rubylabs.com/about-us/

ABOUT THE ROLE

We are looking for a Senior AI Engineer to own and scale the AI layer of one of our core D2C subscription products. You will be fully responsible for production LLM features and the browser automation built around them end to end — prompt systems, structured outputs, evaluation, observability, and model selection — from first experiment to live release, with quality, reliability, and cost as your accountability.

This is a high-impact role suited for someone who decides with data, not intuition. Unmeasured prompt changes, untraced failures, and model swaps without benchmarks are not acceptable. You work in a modern TypeScript stack — Next.js, Cloudflare Workers and Containers with Hono, Hatchet task queues, Drizzle on Supabase Postgres, Vercel Blob. Browser automation on Browserbase and Playwright is roughly half of the job.

KEY RESPONSIBILITIES

PROMPT SYSTEMS & STRUCTURED OUTPUTS

- Design dynamic prompt templates with conditional logic and context injection that maximise generation quality

- Enforce predictable outputs with JSON mode, function calling, Zod/JSON schemas, validators, and repair loops

- Own complex LLM workflows (LangChain, LlamaIndex, or custom) that integrate cleanly into application logic

BROWSER AUTOMATION

- Build and maintain browser automation on Browserbase Functions and Playwright that traverses web flows reliably

- Classify screens with a model inside each traversal, and decide what the model handles versus deterministic code

- Ship automations as frozen, published workers — versioned, reproducible, and safe to roll back

- Orchestrate runs through Hatchet with retries, timeouts, and failure traces that explain every broken run

EVALUATION & EXPERIMENTATION

- Build evaluation pipelines — test datasets, LLM-as-a-judge, RAGAS-style metrics — and score responses and screen classifications in Langfuse

- Trace complex LLM chains to find bottlenecks in cost, latency, and context-window usage

- Run A/B experiments across models and prompts through an AI gateway (OpenRouter, Cloudflare AI Gateway); release only on quantitative benchmarks

- Re-evaluate models as new architectures emerge; fine-tune when domain requirements demand it

PRODUCTION OWNERSHIP

- Take AI features from experiment to live production on Cloudflare Workers and Containers, and stay accountable after release

- Manage rate limits, fallbacks, and model cost so features stay reliable at scale

- Resolve production incidents in owned AI and automation systems with documented root-cause analysis

QUALIFICATIONS

MUST-HAVE EXPERIENCE

- 【5+】 years of software engineering with Node.js, TypeScript, Next.js, and Postgres, including edge or serverless runtimes such as Cloudflare Workers

- Production browser automation with Playwright (Browserbase or similar): resilient selectors, retries, failure handling at scale

- Production experience with dynamic prompting — content that depends on input variables and injected context

- Structured outputs in production: JSON mode, function calling, Zod/JSON schemas

- Experience with unified LLM APIs or AI gateways (OpenRouter, Cloudflare AI Gateway): rate limits, fallbacks, cost-effective model selection

- LLM observability with Langfuse or similar: tracing, test datasets, scoring integration

- Evaluation methodology: RAGAS or custom LLM-as-a-judge systems

LEADERSHIP ATTRIBUTES

- Decides on benchmarks and trace data, not intuition

- Analytical — converts generation logs into metrics a business can act on

- Iterative — builds feedback loops and improves continuously

- Owns the outcome from experiment to production, and after

- Verifies before trusting — treats LLM output as unproven until validated

LOCATION

Ruby Labs operates within the CET (Central European Time) zone. Applicants from any country are welcome to apply for the position as long as they are located within approximately ± 4 hours of CET. This ensures optimal collaboration and communication during working hours.

BENEFITS

Discover the perks of being part of our vibrant team! We offer:

- Remote Work Environment: Embrace the freedom to work from anywhere, anytime, promoting a healthy work-life balance.

- Unlimited PTO: Enjoy unlimited paid time off to recharge and prioritize your well-being, without counting days.

- Paid National Holidays: Celebrate and relax on national holidays with paid time off to unwind and recharge.

- Company-provided MacBook: Experience seamless productivity with top-notch Apple MacBooks provided to all employees who need them.

- Flexible Independent Contractor Agreement: Unlock the benefits of flexibility, autonomy, and entrepreneurial opportunities. Benefit from tax advantages, networking opportunities, reduced employment obligations, and the freedom to work from anywhere. Read more about it here: https://docs.google.com/document/d/1nkrN76JlZkbKj9WSOhlT1_mni_CZeDkHdwfIjPXVwvk/preview?tab=t.0#heading=h.ndsdl4wapxtt

Be part of our fast-growing team and seize this excellent opportunity for personal and professional growth!

INTERVIEW PROCESS

After submitting your application, we conduct a thorough review which typically takes 3 to 5 days, but may occasionally take longer due to the volume of applications received. If we see a potential fit, we proceed with the following steps:

- Recruiter Screening (40 minutes)

- Technical Interview (60 minutes)

- Final Interview (30 minutes)

LIFE AT RUBY LABS

At Ruby Labs, we move fast, aim high, and expect the same from our team. We’re not here to play small—we’re here to build, grow, and win. That means we look for people who are ambitious, driven, and ready to give their best every single day.

This is a place for individuals who thrive under pressure, embrace challenges, and see opportunity in every obstacle. If you’re hungry to achieve, motivated by impact, and want to grow at the speed of your own ambition, Ruby Labs offers the platform to make it happen.

Here, effort is matched with reward. We recognize those who go all in and deliver results, and we create space for people who want more—more responsibility, more growth, and more success.

#LI-Remote

From $25, paid onceGet the CV for this job

What happens when you press

One press. We do the rest.

  1. A CV for this posting

    Written against Ruby Labs's own wording, from every piece of relevant proof in your profile.

  2. 25 readers review it

    Recruiter, hiring manager, skeptic and more read every draft, round after round. You get the best round.

    The review screen in CV Rocket: how each CV was read, round by round.
  3. We apply on Ruby Labs's form

    Our application engine gets through the hardest forms there are. Where a question needs you, AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

    An application in CV Rocket: every answer filled in on the employer's form.
  4. Every reply, sorted

    Ruby Labs's answer lands in your private mailbox, and we classify it on arrival: interview, question, rejection.

    The CV Rocket inbox: each employer reply classified as an interview, an action or a rejection.
  5. Reply with AI

    AI helps you write the email, checks it and sends it. We show you whether the recruiter read it.

  6. The interview in your calendar

    Full integration with your calendar. The invitation goes straight in.

    An interview invitation in the CV Rocket inbox, added to the candidate's calendar.
Get the CV for this job

From $25 per CV, paid once. No subscription.

Why it works

3×

more interviews than doing it yourself with ChatGPT.

ChatGPT writes a CV and never learns what happened to it. We see every reply. For each CV we know:

  • How it was written, and how the review scored it
  • When we applied, and how long after the posting went up
  • Which posting, which company, which city
  • Who got the interview, and who heard nothing

That is how we know which CVs get called.

Get the CV for this job

From $25 per CV, paid once. No subscription.

The numbers game

More applications. More interviews.

Every application goes out with its own CV, written for that posting and paid once. Send enough of them and the law of large numbers finds you the job.

By hand5–10
With CV Rocket100
applications a day

Nearby

Live postings like this one

Same employer first, then the same role elsewhere.

Before you press

Straight answers

Get the CV for this job

From $25 per CV, paid once. No subscription.

What if my background isn't good enough?

We make the most of the background you have. The CV uses every piece of relevant proof your profile holds, and one of the 25 readers reads your whole profile and flags what the CV left out.

Do you really apply for me?

Yes, on the employer's own form, the hardest ones included. Where a question needs you, you answer it right there and AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

Is it a subscription?

No. You pay once per CV, from $25. Every application goes out with its own CV, written for that posting.

One job. One CV.
Paid once.

Pick the posting you want. We write for it, apply for you and catch the reply.

Get the CV for this job

From $25 per CV, paid once. No subscription.