sabique@portfolio:~$ cat projects/activity-recommender-cli.md

Activity Recommender CLI

C-based CLI tool that suggests group activities using 300D GloVe embeddings and cosine similarity. Features NLP pipeline and a minimal Next.js frontend wired to a C REST API via microhttpd and cJSON.

CGloVeNLPCosine SimilaritymicrohttpdNext.js

Activity Recommender CLI (ARC)

A sophisticated C-based command-line tool that leverages natural language processing to recommend group activities based on user preferences and contextual information.


Overview

The Activity Recommender CLI (ARC) demonstrates the power of combining low-level systems programming with advanced NLP techniques. Built entirely in C, this tool processes natural language input and provides intelligent activity recommendations using 300-dimensional GloVe word embeddings and cosine similarity algorithms.


Core Features

Natural Language Processing

  • 300D GloVe Embeddings: Utilizes pre-trained Global Vectors for Word Representation
  • Cosine Similarity: Implements efficient similarity calculations for semantic matching
  • Text Preprocessing: Comprehensive tokenization and normalization pipeline
  • Semantic Understanding: Captures contextual meaning beyond keyword matching

CLI Interface

  • Interactive Prompts: User-friendly command-line interface
  • Flexible Input: Accepts various input formats and natural language queries
  • Detailed Output: Provides ranked recommendations with confidence scores
  • Configuration Options: Customizable parameters for different use cases

Web Integration

  • REST API: C-based HTTP server using microhttpd
  • JSON Processing: Native JSON handling with cJSON library
  • Next.js Frontend: Modern web interface for broader accessibility
  • Cross-Platform: Works seamlessly across different operating systems

Activity Database

The system maintains a comprehensive database of activities categorized by:

Categories

  • Outdoor Activities: Hiking, camping, sports, picnics
  • Indoor Activities: Board games, cooking, movie nights, crafts
  • Social Events: Parties, gatherings, networking events
  • Educational: Workshops, classes, seminars, book clubs
  • Entertainment: Concerts, theaters, museums, festivals

Technology Stack

Core System

  • C: Primary programming language
  • GloVe: 300-dimensional word embeddings
  • microhttpd: Lightweight HTTP server library
  • cJSON: JSON parsing and generation
  • pthreads: Multi-threading support

Web Frontend

  • Next.js: React framework for the web interface
  • Tailwind CSS: Utility-first CSS framework
  • TypeScript: Type-safe JavaScript development

Build Tools

  • CMake: Cross-platform build system
  • GCC/Clang: C compiler toolchain
  • Make: Build automation