Aurora
Content studio and operations dashboard for solo content creators
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
From Workflow to Dashboard
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.
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.
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.
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.
Automation Meets Editorial
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.
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.
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.
Under the Hood
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.
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.
AutoTube
Automated video production pipeline from story sourcing to final render