Skip to content

hereisSwapnil/text-to-emoji

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Text-to-Emoji

A powerful, local semantic search engine that finds the perfect emoji using natural language. Built with the Streamlit framework and Sentence Transformers, it allows users to search for emojis conceptually (e.g., "victory" → ✌️, 🏆, 🎆) rather than just by keyword. It uses a persistent local vector database for fast, efficient queries.

🚀 Features

  • Natural Language Search: Type complex queries like "feeling loved" or "space travel" to find matching emojis.
  • Semantic Understanding: Uses a transformer model to understand the meaning behind emojis, not just their names.
  • Blazing Fast: Powered by sqlite-vec for millisecond-level vector similarity search.
  • Persistent Index: efficient local storage using SQLite; indexes thousands of emojis once and reuses the database.
  • Modern UI: Clean, responsive interface built with Streamlit, featuring gradient cards and match percentage scores.

� Screenshots

Clean-Shot-2025-12-10-at-10-12-19-2x.png

Clean-Shot-2025-12-10-at-10-11-57-2x.png

🛠️ Tech Stack

Core

  • Python: The primary programming language.
  • Sentence Transformers: all-MiniLM-L6-v2 model for generating dense vector embeddings.

Frontend

  • Streamlit: For building the interactive web application.

Database

  • SQLite: Reliable local database engine.
  • sqlite-vec: Vector search extension for SQLite.

Data

  • Requests: For fetching the latest emoji definitions from Unicode.org.

📋 Prerequisites

Before installation, ensure you have the following:

🔧 Installation

  1. Clone the repository

    git clone <repository-url>
    cd text-to-emoji
  2. Install dependencies

    pip install -r requirements.txt

    (Note: Ensure sqlite-vec is installed correctly for your platform)

🚀 Running the App

Start the Application

streamlit run main.py

Accessible at http://localhost:8501

On the first run, the app will download the embedding model and index the emoji dataset. This is a one-time process.

About

A local semantic emoji search engine that uses transformer embeddings and sqlite vector search to find the perfect emoji from natural language queries. Fast, offline, and powered by Streamlit.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages