Web Project · Tool for Musicians

Rhyme Dictionary & Songwriting Assistant

A tool for writing and practicing freestyle in Spanish. Type a word and get its perfect and assonant rhymes grouped by ending across more than 645,000 words; build your own board of endings; and write lyrics in an editor that counts each line's syllables, marks the rhyme scheme and suggests rhymes for the word under the cursor. Built with Next.js, TypeScript, Supabase and the Claude or Gemini API.

Rimas: diccionario de rimas y asistente de composición de letras
🎤

645k Words

Rhymes in 38 ms

Key Features

Everything you need to write lyrics that rhyme

🔎

Rhyme Finder

Type a word and get only the endings that rhyme with it, with filters for rhyme type, syllables, stress and part of speech.

🗂️

My Board

Columns with the endings you use most, where you can add words by hand, even poetic licenses that don't strictly rhyme.

✍️

Lyric Composer

An editor that counts each line's syllables with synalepha to compare the flow between lines, and highlights repeated words.

🔁

Automatic Rhyme Scheme

Each line gets its letter (A, B, A, B…) based on how it actually ends, and the rhyme panel follows the word under your cursor.

🤖

AI Lyric Ingestion

Paste a song's lyrics and Claude or Gemini extract new vocabulary and real rhyme pairs, which you approve before they enter the dictionary.

📚

Full Catalog

Every Spanish rhyme family in a virtualized view that scrolls smoothly even with hundreds of thousands of words.

Tech Stack

A custom phonetic engine on a modern web stack

▲Next.js 16
⚛️React 19
📘TypeScript
🟢Supabase
📜TanStack Virtual
✅Vitest

Challenges and Solutions

Technical problems solved during development

1

A Spanish Phonetic Engine

Knowing whether two words rhyme requires transcribing them, splitting them into syllables and finding the stressed one; a bug there gives believable but wrong results.

Solution: A pure TypeScript package with no dependencies, built with TDD, using Latin American seseo so «casa» and «caza» rhyme the way they do in freestyle.
2

Slow Search

Searching rhymes across hundreds of thousands of words took 1.7 seconds, and the free database paused itself, taking search down.

Solution: First, composite indexes that brought it down to 38 ms; then a partitioned static index that doesn't depend on the database.
3

AI Can Make Things Up

If the AI misreads two or three lyrics, it fills the dictionary with invented words and rhymes without anyone noticing.

Solution: The AI proposes and the user approves: every finding goes through a review gate and the output is validated with a Zod schema.
4

Counting Syllables Like a Musician

In a song, vowels between words merge (synalepha), so the grammatical count doesn't measure flow.

Solution: Per-line counting that applies synalepha between words and ignores numbers and symbols, covered by tests.

Source Code

Explore my projects on GitHub. This one includes the phonetic engine, the rhyme index, the composer and the AI ingestion.

🔤Phonetic engine
⚡38 ms search
🤖Claude & Gemini
View GitHub

Need a custom AI-powered tool?

I can build web apps that process language and use AI to solve concrete problems