Case 17 / 17 · Full-stack AI app · 2024

News Assistant Studio

A complete platform for automatically collecting, processing, analysing and publishing news with AI models and a Telegram bot integration.

  • Development time: 15 days
  • UI pages: 10+
  • AI providers: 2
  • Lines of code: 25,000+

Challenge

Processing, analysing and rewriting news by hand takes a lot of time, and there was no automated publishing or performance analytics.

Solution

A full-stack app (React + Express + SQLite) integrating AI models (Google Gemini, Mistral) to automatically process, analyse and publish news to a Telegram channel, with full analytics and manual moderation.

Highlights

React 19 + Express + SQLite · Google Gemini + Mistral AI · Telegram Bot API · 10+ pages · WatermarkRemover submodule

What was built

  • Source management: adding Telegram channels, subscribing to RSS feeds, keyword search, content filtering
  • AI news processing: rewriting text, generating catchy headlines, sentiment analysis (positive/negative/neutral)
  • AI analysis: spotting promotional content (ad score), automatic breaking-news detection, processing via 2 providers (Gemini + Mistral)
  • Image processing: download and storage, watermark removal (WatermarkRemover-AI), cropping, adding your own watermark, parsing from content
  • Content moderation: manual review before publishing, statuses (Approved/Pending/Rejected), live news preview, action logging
  • Scheduling and publishing: automatic posting to a Telegram channel, a publishing schedule with intervals, a daily post limit
  • Queue management: viewing and managing the post queue with previews, setting a custom publish date/time
  • Analytics and stats: activity charts per source, a heatmap of content popularity over time
  • AI analytics: best-time-to-post recommendations, counts of unique/duplicate/blocked news, AI provider performance analysis
  • Full logging: a history of every action with timestamps, filters by event type, source and AI provider, log export
  • API key configuration: Telegram Bot Token, Google Gemini API, Mistral API, AI prompt management
  • Interval settings: periodic processing config, thresholds and filter parameters, error notifications
  • 10+ interface sections: Home (stats), Settings (config), Sources (channels), Moderation (review), Queue, Analytics (charts), History (events), AI Stats (analysis), Logs (details), About (info)
  • Dark mode with a responsive design for every device and screen
  • Real-time counters with a CountUp effect, animated transitions via Framer Motion
  • Live bot status (connected/rejected), drag and drop to reorder items
  • Rich text editor (TipTap) for editing content, Recharts for analytics charts
  • React DnD Kit for ordering items, React Router for page navigation
  • Redis caching and a queue for performance
  • WatermarkRemover-AI submodule: a Python tool with Florence-2 and LaMA for removing/restoring watermarks
  • Batch processing, video support with audio kept, CUDA acceleration, a PyWebView GUI in 6+ languages
  • A production-ready architecture with error handling, error collection via Sentry, RSS Parser and Cheerio integration

Stages

  1. Architecture (2 days) — Designing the news processing pipeline, choosing AI models, source integrations
  2. AI and processing (4 days) — Google Gemini + Mistral integration, text rewriting, sentiment analysis, ad score
  3. Frontend (4 days) — 10+ sections: Home, Settings, Sources, Moderation, Queue, Analytics, History, AI Stats, Logs
  4. Automation (3 days) — Publishing schedule, post queue, image processing, WatermarkRemover
  5. Analytics and deployment (2 days) — Heatmap, charts, Sentry, Redis caching, PM2, production deployment

Next project: WgSwitch