Skip to content
Project

Meridian

Built on Replit Built on Claude Code

An AI research analyst that interviews HR software buyers by voice or chat and matches them to verified vendors.

In progress Verified from GitHub

4 sources: GitHub (groverpaul/Meridian), Claude Code, Replit export, live link

HR techvendor matchingAI agentsvoice AI
Build your own version of Meridian
Start a short voice or chat interview to narrow vendors and get a buyer brief. You can also open a sample buyer brief first
Build a buyer brief
Product

What they built

What it is

Meridian is the buyer-facing AI analyst for Kyle & Co, an independent HR technology research platform. It runs a structured interview — by voice or text — to learn what a buyer actually needs, then matches them against vendors scored on the Category Compass framework and hands back a buyer brief. Analysts get an admin suite for vendor data, and vendors get a self-service portal to correct their own profiles. It started as a Replit prototype and was then rebuilt and extended in Claude Code.

Outcomes
Production matches with the rubric as primary decider: 35 sub-scores on 0 to 4 anchors, since 7 Oct 2026 Self-reported
Sized for 20 simultaneous voice interviews with six agent instances, bounded DB pools and load-test scripts Self-reported
Voice sessions survive a dropped LiveKit room, a lost connection and a buyer who walks away Self-reported
RFI import handles a 58-question workbook as Draft by default and keeps every analyst edit on re-import Self-reported
Buyers get a why-this-fits explanation and a public methodology page; vendors get a how-you-score view Self-reported
Handed over to the Kyle & Co team with an operating reference, a support knowledge base and CI that runs the Python suite against a throwaway Postgres Self-reported
How it works
  1. Buyer interview

    A LiveKit voice agent (Deepgram STT, Claude, ElevenLabs TTS) or an in-browser text chat runs a guided requirements interview.

    See it
  2. Post-processing

    When the interview wraps, the transcript is turned into structured buyer requirements.

    See it
  3. Objective matching

    Hard gates plus a scored rubric against the Category Compass bearings, producing tiers rather than vanity rankings.

  4. Buyer brief

    A generated brief with matches and reasoning, emailed to the buyer on consent.

    See it
  5. Vendor research agent

    A Claude-powered CLI and background enrichment queue that builds a structured vendor profile from just a URL.

    See it
  6. Vendor intake portal

    HMAC-secured links let vendors review and correct their AI-drafted profile before it goes live.

  7. Compare workspace

    Side-by-side vendor comparison with a streaming AI analyst to answer questions about the shortlist.

  8. Analyst admin

    Vendors, sessions, transcripts, leads, prompt editor, ingestion pipeline, and vendor analytics in one dashboard.

On screen

Core features

4 of 8 features on screen. Each one is a thing Meridian does.
Voice buyer interview

Buyer interview

A LiveKit voice agent (Deepgram STT, Claude, ElevenLabs TTS) or an in-browser text chat runs a guided requirements interview.

Build a buyer brief

Post-processing

When the interview wraps, the transcript is turned into structured buyer requirements.

Build a Buyer Brief

Buyer brief

A generated brief with matches and reasoning, emailed to the buyer on consent.

Vendor fit summary

Vendor research agent

A Claude-powered CLI and background enrichment queue that builds a structured vendor profile from just a URL.

Build

How it was built

Meridian took three runs. The first was on Replit: 15 weeks from late March to mid July 2026, with 2,192 commits along the way. In July the code moved to GitHub and Replit took over. That second run was 8 weeks from mid July to early September 2026, with 37 commits along the way. In July Claude Code took over. That third run was 3 sittings over 5 days, 8 prompts in all, and 232 commits. One person built it.

From Claude Code, in the builder's own words
What it runs on

VibeStack

Check mark: verified from a connected source. Outlined chips: self-reported by the builder.
Built on
Replit Verified Found in the repository.
Claude Code Named by the builder.
Supporting stack
Claude API FastAPI React Vite PostgreSQL LiveKit Deepgram ElevenLabs Alembic Render Anthropic Postgres Resend OpenAI
What the sources say

VibeFacts

Read from the connected sources. Every tile names its source. Nothing is typed.
29 weeks build span Mar to Oct
27 weeks
active weeks
7 days ago
last push
3 sessions
Claude Code sessions
8 prompts
typed in Claude Code
Commits per week · GitHub · groverpaul/Meridian · Replit export · Sent from Claude Code by their AI
2,461 commits GitHub · groverpaul/Meridian · Replit export · Sent from Claude Code by their AI
5,275 files GitHub · groverpaul/Meridian · Replit export · Sent from Claude Code by their AI · Python, JavaScript and HTML
1 contributor GitHub · groverpaul/Meridian · Replit export · Sent from Claude Code by their AI
Read from GitHub · groverpaul/Meridian, Replit export, Sent from Claude Code by their AI. Nothing typed.
Voice

In their own words

Answered by the builder, by voice or by hand.
Why
Why I built this
I built Meridian to create a way for us to monetize our research. We had done an AI interviewer research project called the Category Compass, where I went really deep on every AI interviewer product across 12 different solutions and vendors. I realized how valuable that research was to prospective…
How
Biggest challenge
The biggest challenge was fine-tuning the latency in the voice component during a buyer brief interview. Sometimes the voice would jump in too quickly, and sometimes it would wait too long. Getting that to feel natural and flow naturally was definitely a challenge. It took a lot of testing, and…
What I learned
Least favorite part
My least favorite part was dealing with so many third-party integrations. Managing them, manually entering secret keys, and creating API keys was time-consuming and just a pain in the butt. It was really annoying and frustrating, and it felt highly inefficient. I wish somebody would build a solution to fully automate that.