Content Automation Platform for Journalists

Live Preview

Working Duration

3 Weeks

Category

Full-Stack AI Platform

Client

Project Overview

This project is a comprehensive Content Automation Platform designed specifically for journalists and editorial teams. The goal was to build a robust, scalable, and secure application that streamlines content creation workflows, allowing journalists to focus on high-value tasks. The platform is built on a modern, decoupled architecture using a React frontend for a responsive user experience. The backend is powered entirely by Supabase, which handles user management, database operations, and real-time triggers. For the asynchronous automation tasks, n8n serves as the background worker, connecting directly to Supabase to execute content and image generation workflows using the Gemini and Canva APIs.

0 %

Reduction Manual Tasks

0 %

Faster Task Completion Rate

0 x

Employee Satisfaction

Project Statistics / Key Metrics

4 Distinct User Roles: For granular permission control: super_admin, admin, user, and pending roles are defined.

2+ External APIs Integrated:  The automation engine connects to the Google Gemini API for text generation and the Canva API for image creation.

100% Decoupled Architecture: The frontend, database, and automation engine are fully decoupled, with Supabase acting as the central backend-as-a-service hub.

Secure Multi-Tenancy: Row-Level Security is enforced at the database level to ensure users can only ever access their own data.

Key Features:

This platform was engineered with several core functional components to ensure a seamless and secure experience for both journalists and administrators. The UI/UX is designed to be professional and efficient, providing transparent feedback to the user at every step.

  • Role-Based Access Control (RBAC): A multi-tiered system manages user permissions. The “Admin Panel” is only visible to admin and super_admin roles , who can approve new users, assign credits, and set access periods.
  • Credit-Based API Usage & Task Queuing: The platform uses article_credits and photo_credits to manage API consumption. When a task is submitted, credits are deducted and a job is added to the generation_queue table in a single atomic operation to prevent race conditions.

  • Real-Time Asynchronous Automation: An n8n workflow is initiated by a Supabase Realtime Trigger when a new task is created. The workflow provides live status updates to the user by changing the task status from pending to processing and finally to completed.

  • Secure & Personalized Content Generation: Admins can assign unique Gemini prompts to each user. After generation, content is stored in a generated_content table where strict Row-Level Security policies guarantee a user can only view their own articles.

Solutions

The primary challenge was to create a powerful automation tool that was also simple to manage and secure for multiple users. The solution was a decoupled architecture centered around Supabase. This approach simplified the tech stack significantly by using a single platform for authentication, database storage, and real-time communication.

By using n8n as a separate background worker, the user-facing React application remains fast and responsive, offloading long-running AI generation tasks. This design pattern provides a robust solution that is both scalable and maintainable. The generation_queue table acts as the central message bus between the frontend and the automation engine, creating a resilient and observable workflow.

Impact

The platform is designed to deliver a measurable impact by transforming the editorial workflow. For journalists, it significantly reduces the time spent on repetitive rewriting and image sourcing tasks, freeing them to focus on investigative work and original reporting. The real-time feedback system, with toast notifications for submission and completion, creates a transparent and satisfying user experience. For administrators, the impact is centered on control and security. The Admin Panel provides complete oversight of user access, credits, and permissions. The use of Supabase Row-Level Security is the critical feature ensuring the platform’s integrity; it provides a guarantee at the database level that no user can ever see another user’s sensitive generated content, making it a trustworthy tool for any organization