ruby-labs

Senior AI Engineer

Listed by employer · Checked

Posted within 60 days ·

  • remote
  • FullTime
  • Engineering
  • Ukraine
  • North Macedonia
  • Turkey
  • European Union
  • Serbia
  • Bosnia
  • Georgia
Work arrangement
remote
Employment
FullTime
Stated compensation
Not specified
Stated sponsorship
Not stated
Apply on company website ↗
01 / A QUICK CHECK BEFORE YOU APPLY

Does the location policy fit?

Choose where you would work from. We’ll compare it with the posting’s stated requirements.

Choose the country you will work from. You can change this anytime.

Country and sponsorship changes take effect when you click Check eligibility.

Applying from Albania

Stated requirements conflict with your selections

Checked for applicants in Albania; employer sponsorship is needed. Based on the source posting · not a hiring or work-authorization guarantee.

Your country is outside the stated applicant locations.

Why this result?

1 stated blockers

  • Your country is outside the stated applicant locations.

1 supporting signals

  • The role is described as remote; geographic restrictions still apply.

1 still unclear

  • Visa sponsorship is not specified.
Source: ashbyChecked Original posting ↗

Requirements

2 with evidence7 unclear or unstated
Remote policy
remote
“Provider workplace type: remote”
From employer posting metadata
Geographic scope
UA, MK, RS, GE, EU
“Provider location: Ukraine • Provider location: North Macedonia • Provider location: European Union • Provider location: Serbia • Provider location: Georgia”
From employer posting metadata
Employment type
FullTime
8 fields not stated in this posting
Employer sponsorship
Not specified
Degree requirement
Not specified
Security clearance
Not mentioned
Timezone / hours
Not specified
Citizenship requirement
Not mentioned
Minimum experience (years)
Not specified
Work authorization
Not specified
Compensation
Not specified

These details were not stated in the tracked posting. Confirm with the employer.

READ IT IN THE EMPLOYER’S OWN WORDS

Original job description

Reading view uses normalized posting text so exact evidence excerpts can be highlighted.

About usRuby 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 roleWe 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.
Read full descriptionShow less description
Key ResponsibilitiesPrompt 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 QualificationsMust-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 AttributesDecides 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 LocationRuby 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. BenefitsDiscover 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 ProcessAfter 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 LabsAt 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
Original formatting and links
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

Matched by role category. Review each posting’s requirements before applying.

Explore stated remote geography

These collections reflect applicant location statements, not authorization or citizenship.

THE JOB ELIGIBILITY CHECKER

Check a job