← All projects
personal

AI Text Similarity App

Embedding-based text comparison

Node.jsExpress.jsPythonNext.jsDocker

Overview

This project combines a Next.js frontend with Node/Express and Python services to compute text similarity via pre-trained sentence embeddings. The all-MiniLM-L6-v2 model produces vector representations used to compare and score textual similarity. Docker keeps the multi-language stack reproducible.

Architecture

flowchart TB
  User(["User"])
  subgraph docker ["Docker Compose"]
    Next["Next.js UI"]
    Express["Express.js API"]
    Python["Python ML service"]
    Model["all-MiniLM-L6-v2"]
  end

  User -->|"Text A + Text B"| Next
  Next --> Express
  Express -->|"Embedding request"| Python
  Python --> Model
  Model -->|"Vectors"| Python
  Python -->|"Similarity score"| Express
  Express -->|"Comparison result"| Next

Summary

An AI-powered application that analyzes and compares textual data using the sentence-transformers embedding model all-MiniLM-L6-v2.

What I worked on

  • Built the Express.js and Python services for embedding and similarity scoring.
  • Integrated the pre-trained model sentence-transformers/all-MiniLM-L6-v2.
  • Developed the Next.js frontend for text analysis workflows.
  • Containerized the stack with Docker.

Results

  • Semantic text comparison using sentence embeddings
  • Integration of Python ML model with Node.js services
  • Next.js UI for analyzing and comparing text inputs
  • Dockerized multi-service architecture