poetry-assistant-cli-ads1-midterm-thumbnail

Academic

Poetry Assistant CLI (ADS1 Midterm)

2026 · 4 weeks

Grade · 81/100

About this project

A command-line rhyme assistant built in Node.js for CM1035 Algorithms and Data Structures 1 midterm (University of London). Reads a word from the terminal and returns rhyme candidates using two complementary algorithms plus a merged view. Features: 📖 Suffix matching against a plain-text word list using custom stack and queue data structures 🔊 Phonetic matching against the CMU Pronouncing Dictionary (ARPAbet), comparing the last three phonemes of each entry 🔀 Merge step interleaves the two sorted candidate lists into a single sorted array ⚙️ Built on Node `readline` + `fs` only — no external dependencies 🧠 Vowel- and consonant-final suffix extraction via tokenised character streams Going beyond the spec: - Two independent matching algorithms (orthographic + phonetic) with a merged view, not just one - Hand-rolled stack and queue implementations rather than built-in arrays - CMUdict header-skipping logic that respects the standard first-entry marker

Tech stack

  • Node.js
  • JavaScript
  • Data Structures
  • Algorithms