whatisgithub

What is lingo?

pascalorg/lingo — explained in plain English

Analysis updated 2026-05-18

14TypeScriptAudience · developerComplexity · 3/5LicenseSetup · easy

In one sentence

A zero-dependency library that parses natural-language quantities, units, and dates into canonical values for forms and AI tool calls.

Mindmap

mindmap
  root((lingo))
    What it does
      Parses natural language input
      Validates AI tool call values
      Humanizes values back to text
    Tech stack
      TypeScript
      React
      MCP
    Use cases
      Replace value plus unit dropdown with one text field
      Validate ambiguous quantities in LLM tool calls
      Reproduce relative date parsing with a fixed reference time
    Audience
      Frontend developers building forms
      Developers building AI agent tools

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace a value-and-unit form field pair with a single natural-language text input.

USE CASE 2

Validate and auto-correct ambiguous quantities or dates in an LLM tool call.

USE CASE 3

Reproduce exact parsing results for relative dates using a fixed reference time.

What is it built with?

TypeScriptReactMCP

How does it compare?

pascalorg/lingo0xbebis/hyperpayalfredxw/nova
Stars141414
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyhardmoderate
Complexity3/55/53/5
Audiencedeveloperdeveloperwriter

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Zero runtime dependencies, opt-in locale packs available for non-English parsing.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

Lingo is a library that turns messy, natural language text into clean, standardized values that a database or program can trust. People type things like 180cm, 5ft 11, or next friday into form fields, and AI models often output oddly formatted strings like 5'11" or twenty-five kg. Lingo sits between that messy input and your system, parsing quantities, units, dates, and ranges into one consistent number and unit, then can turn that clean value back into readable text again. On the web side, it lets a single text field replace a separate value box and unit dropdown, accepting however people actually type measurements, including typos, and offering did you mean suggestions rather than harsh error messages while someone is still typing. When input is genuinely ambiguous, like whether 1,234 means one point two three four or one thousand two hundred thirty four, it returns its best guess along with alternatives and a warning instead of silently picking one. It ships as a headless controller, a custom input element, and a React hook, with no visual styling forced on you. For AI tools, lingo provides ready made field definitions that plug into popular AI development kits and protocols, so a language model's tool call gets validated and corrected using the same underlying parser used for human typed forms. It rejects risky ambiguous values at that boundary with clear error messages a model can use to fix its own mistake on the next attempt, and results are reproducible when you supply a fixed reference time, which matters for retried or queued requests. The library itself has zero runtime dependencies and includes English support by default, with optional language packs for several other languages. This repository is a monorepo containing the published library package, along with a documentation site and internal planning files. This project is aimed at developers building web forms or AI powered tools who need reliable, consistent parsing of everyday quantities and dates. It is released under the MIT License.

Copy-paste prompts

Prompt 1
Help me integrate lingo's quantityField into an AI SDK tool definition.
Prompt 2
Explain how lingo handles ambiguous numbers like 1,234 during parsing.
Prompt 3
Walk me through adding the lingo-input element to a web form.
Prompt 4
How does lingo keep date parsing reproducible for retried tool calls?

Frequently asked questions

What is lingo?

A zero-dependency library that parses natural-language quantities, units, and dates into canonical values for forms and AI tool calls.

What language is lingo written in?

Mainly TypeScript. The stack also includes TypeScript, React, MCP.

What license does lingo use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is lingo to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is lingo for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.