Sentify

Turning News-Based-Sentiment into Crypto Certainty..

Team: Teams/Team Apex

Project Status: Planning

📘 Project Overview


🚨 The Problem


🔊 Signal-to-Noise Problem

The crypto market thrives on constant online chatter — from influencers, news sources, and discussion forums — but manually analyzing this flood of information is nearly impossible.
Traders struggle to distinguish authentic market-moving insights from distractions like scams, bots, and irrelevant commentary.

📉 Lack of Quantified Sentiment

News-Based-Sentiment is one of the primary drivers of crypto volatility, yet most traders lack a reliable, data-driven way to measure it.
There is no objective, probabilistic tool that links market conversation directly to actionable price predictions, leaving traders to rely on intuition instead of insight.


Our AI Solution

What It Does ? 🎯

  • Delivers real-time alerts on global crypto-related news — complete with a probability score showing whether the event is likely to move the market positively or negatively.

  • Replaces emotional, reactionary trading with clear, data-driven insights so you can make confident Long/Short decisions.

How It Works ? ⚙️

  • Ingestion: Continuously scans trusted global news sources, forums, and updates relevant to crypto.

  • AI: Our specialized NLP model interprets the context, detects sentiment, and evaluates the credibility of the information.

  • Prediction: A probabilistic model correlates sentiment intensity and relevance with potential market impact.

  • Output: Users receive instant notifications with a predicted percentage — telling you if the news is likely bullish or bearish — so you never miss a market-moving event.


Technology Stack

  • AI/ML Models: (Gemini API)
  • Frameworks & Libraries: (PyTorch, LangChain, Pandas)
  • Backend: (Python-FastAPI, Node.js)
  • Frontend: (Flutter)
  • Databases: (PostgreSQL with pgvector, Redis, Firebase)
  • Deployment & Tools: (Docker, Git, AWS)
  • APIs Used: (coingecko.com / coinmarketcap.com API)


Project Architecture

1. High-Level Goal
Sentify is an AI-powered mobile application designed to provide cryptocurrency traders and enthusiasts with timely, actionable intelligence. The system ingests and analyzes a high volume of news, identifies high-impact events through sentiment analysis, and delivers personalized alerts to users based on their interests and sensitivity preferences.

2. System Architecture Overview
The architecture is designed around modern, decoupled modules to ensure scalability, resilience, and maintainability. It consists of three primary, independent services that communicate asynchronously through a central database and a task queue.

  • Data Ingestion & Processing Pipeline: The data collection and AI analysis engine.
  • The Alerting Engine: The core value-delivery component that monitors for and dispatches notifications.
  • Backend API: The gateway for the user-facing mobile application.

Module 1: Data Ingestion & Processing Pipeline

Objective: To continuously discover, process, analyze, and store relevant crypto news from across the web.

Technology: Python, Scrapy, Sentence-Transformers, LangChain, Gemini API.

Process Flow:

  • Source Fetching: A scheduled task (running every few minutes) initiates the pipeline, fetching new articles from a predefined list of news APIs, blogs, and financial websites.
  • Preprocessing: Raw HTML is cleaned, and the core article text, title, and metadata are extracted.
  • Vectorization: The cleaned text is converted into a numerical vector embedding using a Sentence-Transformers model.
  • Deduplication: A similarity search is performed against the PG Vector database. If an article with a highly similar vector already exists, it is discarded to avoid redundant analysis and alerts.
  • AI Sentiment Analysis: For new, unique articles, a structured prompt is sent to the Gemini API. The API returns a detailed analysis, including:
  • A sentiment score (e.g., from -1.0 to 1.0).
  • An impact level (e.g., High, Medium, Low).
  • A concise summary of the news.
  • Persistence: The processed article—including its text, metadata, vector embedding, and the full sentiment analysis result—is saved as a new record in the news_articles table in the PostgreSQL database.

Module 2: The Alerting Engine

Objective:
To monitor the analyzed news in real-time and deliver personalized, high-impact alerts to the correct users instantly.

Technology: Python, Redis, PostgreSQL.

Process Flow:

  • Event Detection: A dedicated worker service continuously monitors the news_articles table for newly inserted records.
  • Audience Matching: For each new article, the engine performs a critical matching query to identify the
  • target audience: It retrieves the coin_id (e.g., 'ethereum') and the sentiment_score (e.g., -0.92) from the new article.It then queries the users and user_watchlist tables to find all users who meet both of the following criteria:
    a. The user is following that specific coin (user_watchlist.coin_id = 'ethereum').
    b. The article's sentiment score meets the user's personal alert_sensitivity threshold (e.g., abs(-0.92) >= user.alert_sensitivity).
  • Payload Construction: For the matched list of users, the engine constructs the push notification payload (title, body, and any data needed to deep-link into the app).
  • Dispatch: The engine makes a single API call to Firebase Cloud Messaging (FCM), providing the payload and the list of unique device tokens for the matched users. FCM then handles the reliable delivery of the notification to each user's mobile device.

Module 3: Backend API

Objective:
To serve as the secure and efficient interface between the Sentify mobile app and the backend ecosystem.

Technology: NodeJS, PostgreSQL.

Key Responsibilities:

  • User Management: Handles user registration, login (authentication), and profile management.
  • Watchlist Management: Provides CRUD (Create, Read, Update, Delete) endpoints for users to manage their list of followed cryptocurrencies.
  • Settings Management: Allows users to update their personal settings, most importantly their alert_sensitivity level.
  • Data Serving: Provides data for the main dashboard, including prices (fetched and cached from the CoinGecko API) and a feed of recent high-impact news from the PostgreSQL database. Serves historical news and sentiment data for specific coin detail pages.
  • Device Registration: Securely receives and stores the user's FCM device token required for push notifications.
  • End-to-End Workflow Example
  • A news site publishes an article: "Major Exchange Reports Security Audit Failure."
  • The Ingestion Pipeline fetches it, creates an embedding, sees it's unique, and sends it to Gemini. Gemini returns a sentiment score of -0.95. The data is saved to PostgreSQL.
  • The Alerting Engine detects the new article.
  • The engine queries the database: "Find all users following this exchange's coin whose sensitivity is set to 95% or less."
  • It finds two users:
    User A (sensitivity 80%) and User B (sensitivity 90%).
    It discards User C (sensitivity 98%).
  • The engine sends the device tokens for User A and B to FCM with the alert message.
  • Users A and B receive a push notification within minutes of the news being published. User C does not.

Later, all three users open the Sentify App. The Backend API serves them the dashboard, where they can all see the negative news item in their feed.

Challenges & Learnings

What was the hardest part of this project? What did your team learn about the AI models, the data, or the problem domain?

Future Roadmap

What are the next steps for this project if it were to continue?

  • Short-term goal (e.g., Improve model accuracy to 95%)
  • Medium-term goal (e.g., Launch a mobile app)
  • Long-term goal (e.g., Open-source the project)

Repository & Live Demo

  • GitHub Repository: [Link to your code repo here]
  • Live Demo: [Link to your live demo or video walkthrough here] (Highly encouraged!)

Screenshots / Demo Video

(Embed screenshots of your working application or a video demo here. A picture is worth a thousand words.)


Categories: #project #ai-hackathon-[year] #category-[your-topic]