Skip to main content
ASP Labs

The AI practice inside a 24-year firm.

ASP Labs is where we integrate AI into how we build software. Not as a marketing angle — as measurable acceleration in cycle time, code quality, and documentation. Led by our Head of R&D, deployed in every engagement.

  • Led by Eric Alfredo Haag
  • Since 2024
  • In every engagement

II · The thesis

AI isn't a tool. It's a discipline.

The market treats AI like a feature — something you bolt onto existing workflows and call yourself "AI-powered". The result is engineering teams shipping code with more bugs, teams unable to explain what the AI produced, and clients paying for slop wrapped in premium markup.

We take the opposite approach. ASP Labs treats AI as a set of practices that reshape how senior engineers work — with the discipline of a 24-year engineering firm as the backbone.

Every AI-generated artifact goes through the same review process as human-written code. Every acceleration claim is backed by measurable metrics. Every skill or MCP server we deploy internally has been battle-tested in production, not read about in a blog post.

This is what "AI-native" means when it's real.

Eric Alfredo Haag

Head of R&D · ASP Labs Lead

When people say their team uses AI, ask them one question: which specific tool, in which specific part of the workflow, with which measurable outcome. If they can't answer, they're using it the same way you would — occasionally.

III · In the loop

Where AI enters, step by step.

Four moments in the development cycle, each with the specific tool and the metric it moves.

01 · Code generation

Code generation with human-in-the-loop

Every senior engineer works with Claude Code integrated into their local environment. For multi-file edits, refactors, and boilerplate, the AI drafts; the engineer reviews line by line before commit. We never merge AI-generated code without human understanding — the goal is throughput without loss of intent. Custom skills are pre-loaded per project (conventions, testing patterns, architectural constraints) so the AI produces code that matches your codebase from the first prompt.

  • Claude Code
  • OpenCode
  • Custom Skills

~40% less boilerplate time

02 · Code review

AI-augmented code review

AI-augmented reviewers run on every PR before a human looks at it: security, performance, and convention-adherence analysis via GitHub Actions. Trivial findings are resolved before a senior spends time on the basics, and human review is reserved for what actually needs judgment.

  • Custom PR bot
  • Semgrep
  • CodeQL
  • Custom MCP servers

80% of trivial findings surfaced before human review

03 · Documentation

Documentation as continuous output

MCP servers connect the AI to your repo and generate docs that stay in sync with the code: ADRs, onboarding guides, OpenAPI specs. Changes are detected automatically, so documentation stops being a debt you pay at the end.

  • Custom MCP servers
  • Claude
  • OpenAPI generator

90%+ of technical docs generated automatically

04 · Test coverage

Test generation and coverage lift

Custom skills generate tests and lift coverage without ceremony. The AI surfaces edge cases a human would miss; humans validate them, they do not replace them. The result is real coverage, not inflated numbers.

  • Custom testing skills
  • Vitest
  • Playwright

42% → 89% coverage in the first sprint

IV · Tools we use

The full stack. No black boxes.

We tell you exactly which tools our engineers use, in which part of the workflow, and why. Transparency about the stack is what separates AI-native practice from marketing.

Terminal agent

Claude Code

Multi-file edits, refactors, and PR drafts in the engineer's terminal.

Terminal agent · OSS

OpenCode

Alternative to Claude Code where open source matters.

IDE

Cursor

Optional — for engineers who prefer an IDE over the terminal.

Context protocol

Custom MCP Servers

Repo-aware AI that reads your codebase, docs, and tickets.

Prompt engineering

Custom Skills

Pre-loaded conventions, testing patterns, and project constraints.

RAG infrastructure

Vector databases

pgvector or Qdrant for client-facing RAG bots.

Orchestration

LangChain / LlamaIndex

Production bot workflows with multi-step reasoning.

App integration

Vercel AI SDK

Streaming AI responses inside production apps.

Security review

Semgrep + rules

Static analysis with custom rules for team-specific patterns.

V · Bots we've shipped

Every bot in production. None in POC.

We don't build demos. Every bot below serves real users, handles real load, and has documented outcomes. If we can't ship it, we don't scope it.

Public sector · In production 18 months

Citizen support chatbot

Deployed for a government entity fielding thousands of repetitive regulatory questions a month. The challenge was not answering — it was answering with citations to actual policy documents, in a domain where a wrong answer has legal consequences.

The bot indexes current policy and answers with the exact source (resolution, article, page). When it is unsure, it says so and escalates to a human instead of inventing.

  • 1,200+ queries/day
  • ~60% ticket reduction
  • 98% citation accuracy
  • <2s response time

Lessons learned

  • Compliance requires a citation on every claim
  • Doc freshness matters more than model size
  • Off-topic detection was 30% of the engineering effort

Legal / corporate · In production 12 months

RAG agent over legal docs

Deployed for a corporate law firm with 40,000+ pages of contracts and rulings. Lawyers were losing hours hunting for specific clauses across scattered documents.

The agent answers natural-language questions over the whole corpus, with ranked sources and a confidence score. It does not replace legal judgment — it accelerates the search that precedes it.

  • 40k+ pages indexed
  • seconds vs hours of search
  • citations on every answer
  • confidence score per result

Lessons learned

  • Chunking quality decides answer quality
  • Lawyers trust the result only when they see the source
  • Incremental re-indexing avoids reprocessing the whole corpus

Operations / logistics · In production 9 months

Internal process automation

Deployed for a logistics operator whose approval flows stalled in manual queues. Every request waited for someone to classify and route it.

An LLM-based decision node classifies each request, routes it to the right approver, and records why. Humans still approve; the AI removes the classification wait.

  • 142 requests/day
  • routing in <1s
  • auditable decision trail
  • zero manual classification

Lessons learned

  • The LLM decision must be explainable, not just correct
  • A clear human fallback is non-negotiable
  • Measuring the before is what proves the after

VI · Open source

Skills we share back.

A subset of our internal skills is published openly for the community. Because if you can hand our AI setup to another engineer, we've done our job. Real defensibility comes from execution discipline, not proprietary prompts.

conventional-commits-strict

Enforces conventional commits and generates PR bodies from diffs.

  • git
  • all-langs

typescript-strict-review

AI code review focused on TypeScript strict mode.

  • typescript
  • code-review

spring-boot-migration

Migrates legacy Java to modern Spring Boot with tests.

  • java
  • spring
  • migration

postgres-query-optimizer

Analyzes slow queries and suggests index or rewrite strategies.

  • postgres
  • performance

See all skills on GitHub

Contribute back, or fork and extend for your team.

View on GitHub

VII · What we measure

Metrics and guardrails.

Numbers we track internally. Not because they look good in pitches — because they tell us whether AI is helping or hurting.

~40%

Less boilerplate time

Legacy migration throughput

80%+

AI-assisted test coverage

90%+

Docs generated automatically

<5%

AI bugs escaping to production

100%

Human review on production PRs

What we DON'T do

  • Merge AI code without human understanding
  • Bill AI throughput as senior engineer hours
  • Deploy AI to production without observability
  • Use AI for security-sensitive logic without extra review
  • Sell an AI capability we haven't shipped at least once
  • Hide when AI produced something — attribution is standard

Work with ASP Labs

Book time with Eric.

A deep-technical discussion. Bring your AI questions — the ones vendors won't answer straight.