Humberto GuadalupeAlonso López

Case Study · B2B Social Media Analytics Platform

HidroScrapper

A B2B social media intelligence platform that scrapes, analyzes, and reports engagement data from Instagram, Facebook, and TikTok.

Role

UI/UX Design, Full-Stack Development, Data Automation & Analytics Dashboard

Year

2026

Industry

Social Media Analytics / Digital Marketing

Client

Personal Demo Project

HidroScrapper

01 · Overview

Project Context

HidroScrapper is a personal demo project built as a B2B media analytics platform. It allows users to manage social media profiles, scrape posts from Instagram, Facebook, and TikTok through Apify, persist data in MongoDB, and generate engagement reports with real metrics. The platform includes a Next.js dashboard, an Express.js backend, MongoDB persistence, shared TypeScript types, scraping jobs, report history, consolidated metrics, PDF exports, and configurable Apify and LLM settings.

02 · Taxonomies

Stack & Classification

Technologies

ExpressDokployGemini APIREST APINext.jsReactTypeScriptNode.jsPostgreSQLApify

Categories

Business PlatformAI Automation

03 · Problem

The Core Challenge

Marketing teams and agencies often need to analyze social media performance across multiple platforms, but collecting engagement data manually is slow, repetitive, and difficult to scale. Comparing accounts, reviewing posts, measuring interactions, tracking views, likes, comments, shares, and preparing reports can quickly become time-consuming when working with multiple brands or competitors.

04 · Solution

System Design Response

I designed and developed a full-stack social media analytics platform that centralizes media profiles, automates post scraping, stores engagement data, and generates structured reports. Users can create media profiles, add social links, select platforms, define scraping limits and date ranges, and launch background scraping jobs through Apify. The backend normalizes the collected data, stores posts in MongoDB, updates job status, and makes the results available through the dashboard. The platform also generates reports using real metrics from MongoDB, including total views, likes, comments, shares, total interactions, posting time distribution, platform breakdown, top posts, conclusions, and recommendations.

05 · Architecture

Engineering & Infrastructure

HidroScrapper uses a monorepo architecture with separate frontend, backend, and shared TypeScript packages. The frontend is built with Next.js 16, React 19, TypeScript, Tailwind CSS v4, and App Router, while the backend uses Express.js 5, MongoDB, Mongoose, and Apify REST API integration. MongoDB works as the single source of truth. All media profiles, posts, jobs, reports, users, and configuration values are stored persistently in MongoDB, avoiding in-memory state or JSON file storage. The system is designed around authenticated dashboard access, social media profile management, background scraping jobs, engagement analytics, report generation, and PDF exports.

Frontend Stack
The frontend was built with Next.js 16, React 19, TypeScript, Tailwind CSS v4, lucide-react, jspdf, html2canvas, clsx, and tailwind-merge. The application uses the App Router with protected dashboard routes, including Dashboard, Media, Media Detail, Reports, and Configuration sections. The UI includes reusable components such as MetricCard, JobsPanel, MediaCard, ScrapeModal, CompareModal, ReportsHistoryTable, ConsolidatedMetrics, and ReportViewer. The frontend communicates with the backend through service modules using NEXT_PUBLIC_API_URL as the API base URL.
Backend Stack
The backend was built with Express.js 5, MongoDB, Mongoose, TypeScript, dotenv, and Apify REST API integration. It exposes REST endpoints for authentication, media management, posts, scraping, reports, jobs, configuration, and system health checks. The backend starts immediately to avoid proxy 502 errors and connects to MongoDB in the background with retry logic. API routes are blocked with a 503 response until MongoDB is connected.
Database Stack
MongoDB is the persistent database and the single source of truth for the platform. The system stores media profiles, users, scraped posts, scraping jobs, generated reports, and global configuration. Posts include engagement metrics such as likes, comments, views, shares, total interactions, publication date, platform, URL, title, and content. Reports are persisted as serialized JSON with metrics, conclusions, and recommendations.
Automation Stack
HidroScrapper automates social media data collection through background scraping jobs. When a user starts a scrape, the backend marks the media profile as processing, creates a job record, responds immediately with a job ID, and continues the scraping process in the background. The backend calls the Apify API, retrieves dataset items, normalizes posts, filters results by date range, performs idempotent upserts by media ID and post URL, updates the media sync status, and marks the job as completed or failed.
AI Stack
The platform includes configuration support for LLM providers such as OpenAI, Anthropic, and Google. This makes the system extendable for AI-assisted analysis, report conclusions, recommendations, and future social media intelligence features. The current architecture is prepared to connect scraping data, engagement metrics, and LLM-based insights inside the reporting workflow.
Deployment Stack
The project is structured for Docker-based deployment. Each app includes its own Dockerfile, with separate build processes for the backend, frontend, and shared package. The backend compiles TypeScript into a dist directory and runs with Node.js, while the frontend uses next build to generate an optimized Next.js bundle. The backend is designed to start immediately and connect to MongoDB in the background to prevent reverse proxy errors.

07 · Results

Measured Business Impact

HidroScrapper demonstrates how social media monitoring can be transformed from a manual research task into a structured analytics platform. The result is a full-stack dashboard where users can manage social profiles, run scraping jobs, compare media, review engagement metrics, generate reports, and export insights to PDF. The project combines Next.js, React, TypeScript, Express.js, MongoDB, Mongoose, Apify, background jobs, reusable UI components, shared types, analytics logic, and PDF report generation.