Skip to content
Go back

Blog Recorder

Posted on:June 19, 2024 at 06:00 PM
Visit website

What is Blog Recorder?

Blog Recorder saves you tons of time going from an idea to the first draft. You completely skip the blank page and immediately get something substantial.

How does it do that?

Blog Recorder lets you talk about a topic by recording audio, and it turns disorganised thoughts into an organised blog post draft structured with headings, lists, and other formatting. You can then edit and export your blog post to publish it on your favorite blog host.

It’s not a tool that replaces writers. It’s an AI assistant that empowers bloggers to create content, better, faster, and cheaper while still having a human touch and being based on human creativity.

And that is just the beginning. Blog Recorder will get AI editing features in the future, self-improving AI that learns from your editing to create better first drafts, SEO checks, AI reviewer/suggestions, and so much more.

Tech stack

Blog Recorder is a TypeScript monorepo so the Next.js app, shared packages, and Lambdas reuse types, validation, and utilities end to end.

Monorepo

Frontend

Backend

API package

Database

CI/CD and Terraform

Terraform holds environment-specific stacks such as production/ and reusable modules for S3, SNS, SQS, Lambdas, the database cluster, the DigitalOcean App Platform app, cron Lambdas, and related wiring. AWS modules lean on terraform-aws-modules patterns for Lambda, SQS (including dead-letter queues), and SNS.

Hosting

DigitalOcean App Platform runs the containerized web app from Terraform, maps the custom domain for blogrecorder.com, and injects environment variables from Terraform. GitHub Actions use the DigitalOcean App Platform deploy action, with deploy_on_push left false so deploys stay explicitly triggered from GitHub Actions. AWS hosts S3 buckets for audio and Lambda artifacts, plus SNS, SQS, Lambda, IAM policies, and a CA certificate Lambda layer so Lambdas can open TLS connections to DigitalOcean Postgres.

Payments

Stripe runs on the server.

Authentication

Clerk (@clerk/nextjs) owns sign-in and sign-up URLs, sessions, and webhook secrets through environment variables. Production auth flows through Clerk in the Next.js app.

Processing audio recordings

When you record or select audio in the browser, the bytes do not pass through the Next.js server on their way to storage. A tRPC procedure in packages/api/ (for example aws.createUploadArticleUrl) builds an S3 presigned POST with @aws-sdk/s3-presigned-post (createPresignedPost). It fixes the object key under your user id, inserts the audioRecordings row with that fileKey, and returns the upload URL, form fields, and bucket metadata. The client (useAudioUpload, AudioRecorder, ManualAudioUpload) builds FormData from those fields, sets Content-Type, appends the Blob or File, and POSTs straight to S3, so uploads stay browser to S3 behind short-lived, policy-scoped credentials.

In AWS, the audio bucket emits s3:ObjectCreated:* events to an SNS topic. Two subscribers react in parallel: a small Lambda (init-processing-status-in-database) marks the recording as processing and increments usage counters in Postgres, and an SQS queue (paired with a dead-letter queue and a visibility timeout aligned to the worker timeout) buffers work for the heavier Lambda (create-blog-post-sqs-handler). That worker reads SQS messages that wrap the SNS notification, parses the S3 event for bucket and key, downloads the object through shared S3 helpers, runs transcription with Deepgram, runs LLM steps with OpenAI or Anthropic depending on configuration, updates Drizzle models for articles, transcriptions, and statuses, and can notify users via SendGrid. SNS keeps the pipeline responsive for status bookkeeping while SQS isolates long-running transcription and generation behind retries, so uploads feel fast even when downstream work is slow.

The web application

Blog Recorder dashboard

On the dashboard you can see all your recently worked-on articles and start a new recording when you are ready to draft another post.

Blog Recorder recording screen

On this screen you speak into your microphone, then submit the recording to create a first draft.

Blog Recorder editor

When processing finishes, you can still edit the draft so the article says what you want.

Blog Recorder default writing preferences

On the writing preferences page you set defaults for tone, how headings are written, emoji usage, and other style choices that apply to new drafts.

Blog Recorder personal AI models

Blog Recorder also lets you train personal AI models that process your audio recordings.

Blog Recorder training a personal AI model

You train personal AI models from articles you have already written in Blog Recorder, or you import articles you have published on the web.

Blog Recorder usage limits

Subscription tiers include usage credits, so you can pick a plan that matches how much you record and generate.

Blog Recorder AI model writing preferences

For each personalized AI model you can open model-specific writing preferences and override your global defaults, so tone, headings, emoji rules, and the rest can differ from one trained model to the next.

Blog Recorder subscription page

The self-serve subscription page lets you compare plans, choose billing cadence, and complete checkout when you are ready to upgrade.

The marketing site

Blog Recorder marketing site hero

The hero states the core promise: faster posts by talking out loud. It adds primary calls to action, and pairs social proof with visuals that show recording and publishing in context.

Blog Recorder marketing site how it works step 1

The first step invites you to talk about your topic so AI can turn your speech into a structured first draft instead of a blank page.

Blog Recorder marketing site how it works step 2

Next you choose how the draft sounds by picking an AI model for tone and style, including models you train yourself.

Blog Recorder marketing site how it works step 3

You refine the result in a full editor with familiar formatting tools so the article reads the way you want.

Blog Recorder marketing site how it works step 4

When you are ready to ship, you copy or export in several formats and aim at the platforms you already use, with more direct integrations planned.

Blog Recorder marketing site personalized AI

A dedicated section explains training a personal AI on a handful of existing posts so new drafts match your voice.

Blog Recorder marketing site article preview

The examples flow opens a polished article preview in a modal, with a clear path to the live original post.

Blog Recorder marketing site comparison

A comparison layout contrasts Blog Recorder with traditional writing and with generic chat-based AI so the positioning stays explicit.

Blog Recorder marketing site pricing

Pricing lays out tiers with article limits, recording length, personalized models, and a monthly-or-yearly toggle that highlights savings on annual billing.

The end of Blog Recorder

Blog recorder was shut down end of May in 2026.