Skip to main content

Aurora

Content studio and operations dashboard for solo content creators

Aurora hero
The Problem

Aurora

A full-stack operations dashboard for managing content production across newsletter, YouTube, and social media. Features a Tiptap rich text editor for newsletter drafting, video review queues, a humanizer pass for AI-generated text, and direct Substack publishing integration.

Web

Platform

Solo Developer

Role

My Role
Full-Stack DevelopmentProduct DesignContent Operations
Process

From Workflow to Dashboard

01

Content Pipeline Design

Mapped the full content workflow: idea capture, draft generation, AI humanization pass, editorial review, publishing. Each stage has its own queue and status tracking. 80% automation, 20% human judgment. That ratio matters.

02

Newsletter Editor

Tiptap-based rich text editor with custom extensions for content blocks, image embedding, and inline editing. AI generates drafts, the humanizer pass strips out AI writing artifacts, then I review and edit before pushing to Substack. The humanizer exists because I got tired of catching the same patterns manually.

03

Video Review System

Videos from the AutoTube pipeline land in review queues. Video previews, metadata, scripts, approval controls. Approve and it's scheduled for publishing. Reject and it gets regeneration notes. Way faster than switching between YouTube Studio and a spreadsheet.

04

Operational Dashboard

System monitoring for pipeline health, content queue depths, publishing schedules, and analytics. PostgreSQL with postgres.js for all persistent state. PostHog tracks content performance.

Key Features

Automation Meets Editorial

01

AI-Assisted Newsletter Drafting

Drafts start with AI-generated outlines based on topics and research. A Gemini-powered humanizer pass strips out inflated language, formulaic structure, and the other telltale signs. Fine-tune in the Tiptap editor, one-click publish to Substack via their API.

02

Multi-Channel Content Review

YouTube, TikTok, and newsletter content all flows into unified review queues. Status, generation metadata, preview. Batch approval lets me process a week's content in minutes instead of switching between three platforms.

03

Production Operations View

One dashboard: what's in the pipeline, what's scheduled, what's published. Queue depths tell me if something is stalled. Monitors external service health too: Substack API availability, GPU box status, API rate limits.

Technical Deep Dive

Under the Hood

Built With
Next.js 15React 19PostgreSQLpostgres.jsTiptapGeminiPostHogSentryTailwind CSS
DashboardTiptap EditorPostgreSQLSubstack APIAutoTube

Key Technical Decisions

Tiptap Custom Extensions

Custom extensions for pull quotes, code snippets, and newsletter-specific formatting. Each extension is a React component that renders inline within the editor. On publish, everything transforms to Substack-compatible HTML. The gap between "editor content" and "published content" is where all the bugs hide.

postgres.js Over ORMs

I picked postgres.js (raw SQL with tagged template literals) over Prisma or Drizzle. For a solo project, an ORM's migration system and generated types add overhead without enough payoff. postgres.js gives me full SQL control with parameterized queries. When the interface stabilizes, I add types manually.

Humanizer Pipeline

"Delve into." Excessive em dashes. Every paragraph has exactly three points. AI-generated text has patterns you can't unsee once you notice them. The humanizer is a Gemini-powered post-processing step that identifies and rewrites these patterns while keeping the actual content. Quality gate, not a rewrite.

Learnings

What I Learned

I've tried three creator dashboards. They all added friction

Aurora works because it matches my actual workflow. Draft, review, approve, publish. No features I don't use, no configuration I don't need. Building your own tools is underrated.

The first newsletter drafts were obviously AI-generated

The humanizer catches patterns I'd miss manually. Overuse of "transformative", paragraph structures that follow the same template, conclusions that just restate the introduction. Quality went up measurably after adding it.

postgres.js doesn't get enough credit

Raw SQL with tagged template parameters beats any ORM for solo projects. No migration files, no generated types, no schema drift. Write the query, get the result.

Next ProjectSee more projects →
AutoTube

AutoTube

Automated video production pipeline from story sourcing to final render