AI systems, data engineering and software development that hold up in production.

We build assistants that answer from your own sources, agents that act safely, the data pipelines underneath them, and the software that puts them in front of your team.

Capabilities

Index / 01–05

  1. Retrieval-augmented generation

    Assistants that answer from your manuals, policies and records, cite the page behind each answer, and say so when the sources don't cover a question.

    See the work for Retrieval-augmented generation
  2. Embeddings & semantic search

    Search that finds what people mean, not just the words they type, with keyword signals that filter out look-alike results.

    See the work for Embeddings & semantic search
  3. Agentic chatbots

    Agents that look up live accounts, change things only after the customer confirms, and hand off to a person when they should.

    See the work for Agentic chatbots
  4. Data engineering

    Pipelines and platforms that move and stream business data without losing a record: re-runnable, audited, and safe for sensitive fields.

    See the work for Data engineering
  5. Software development

    Web, mobile and desktop software built end to end, with automated tests and repeatable deployments.

    See the work for Software development

Selected work

From our team

Production systems our team has designed and delivered. Client names are kept confidential.

01 · Retrieval-augmented generation

Manual-grounded answers with page and diagram citations

For an automotive technology company

  • Python
  • Vision LLM
  • Multimodal embeddings
  • PostgreSQL
  • pgvector

Problem

Repair steps and safety cautions have to come from the manual for the exact vehicle, not from a model's general knowledge. The manuals are long scanned PDFs, and their diagrams are labeled only by figure number.

Approach

A vision model parses every page into procedures, tables, cautions and figures. Passages and cropped figures are embedded into a Postgres vector index, so a plain question can retrieve the right diagram, filtered to the exact vehicle and returned with structured citations.

Result

In production for a library of manuals of up to about a thousand pages each, answering lookups in milliseconds. Questions the manuals don't cover return nothing instead of a guess.

Illustrative walkthrough with sample data · 1:02
How it works
Scanned manuals Vision model parses pages Passages + cropped figures Answer with page citations Retrieve: vehicle filter + cut-off Multimodal vector index Question

03 · Agentic chatbots

Support agent that changes accounts only after the customer confirms

For a mid-sized consumer products company

  • Python
  • Agent Development Kit
  • Gemini
  • MCP tools
  • PostgreSQL

Problem

The previous chatbot was hard to maintain, could not take actions safely and charged a fee per turn. Most account questions ended in a hand-off that cost customers a day or two.

Approach

A self-hosted agent with specialist sub-agents reads data through parameterized tools and writes only through backend endpoints. Sign-in checks, preview-then-confirm on every change and an output filter for personal data run in code, and every release is scored on replayed conversations.

Result

Live in production, answering in about four seconds per turn at roughly an eighth of the previous platform's cost per turn.

Illustrative walkthrough with sample data · 1:06
How it works
Customer message Agent + sub-agents Read tools (SQL) Sign-in check Preview the change "Yes" in the next message Hand-off to a person Reply, personal data filtered Write via backend API

04 · Data engineering

Real-time clinical data streams with de-identification

For healthcare organizations

  • Kafka
  • Pub/Sub
  • Flink SQL
  • Dataflow
  • BigQuery
  • Cloud DLP

Problem

Clinical event streams arrive late, out of order or duplicated, and analytics teams need data they can use without exposing patients.

Approach

Event-driven pipelines on Kafka and Pub/Sub, processed with Flink SQL and Dataflow into BigQuery. Watermarks handle late events, exactly-once processing removes duplicates, sensitive fields are de-identified at scale, and column-level security controls who sees what.

Result

Tens of millions of records de-identified on their way to analytics, with access controlled down to the column and lineage tracked end to end.

Illustrative walkthrough with sample data · 1:11
How it works
Clinical event streams Kafka / Pub/Sub Stream SQL: watermarks Analysts: column access Warehouse + lineage De-identify sensitive fields

05 · Software development

Project, profitability and staffing platform with built-in AI

For a mid-sized corporate training consultancy

  • React
  • TypeScript
  • Firebase
  • Cloud Functions
  • Gemini

Problem

Projects, time logs, resource plans, margins and staffing lived in separate tools, so managers had no single view of project health.

Approach

A React and TypeScript web app on a serverless Firebase backend, with role-based security covered by hundreds of automated rule tests. Built-in AI returns structured results: a bilingual assistant grounded in each person's own work, plan suggestions, risk views and staffing matches.

Result

In production as the firm's system for projects, profitability and staffing.

Illustrative walkthrough with sample data · 1:10
How it works
Web app React + TS Serverless backend Database + triggers Assistant, plans, risk, staffing AI services: structured JSON Scheduled digests

About

Based in Texas, USA

YSL Labs is an AI and software company based in Texas, USA. We build AI systems that answer from your own sources and act safely, data pipelines that keep every record accounted for, and software that teams use every day. We test AI the way we test code, with evaluations, cost controls and human hand-offs built in, and we stay with you from first prototype through production support.

Tell us what you are building

A few lines are enough. We reply to every message.

We use your details only to reply. Messages are deleted after 180 days.

Thanks — your message is on its way. We'll reply soon.

Something in the form needs fixing. Please go back and check the fields.

Too many messages right now. Please try again later.

Your message couldn't be sent. Please try again in a few minutes.