What's Included

A complete breakdown of every feature shipped with BloggFast.

Last updated:

Core application

  • Next.js 16 with App Router and React 19
  • React Compiler enabled for automatic performance optimization
  • TypeScript throughout the entire codebase
  • Homepage with article feed, trending, editor's picks, and featured sections
  • Blog listing page with pagination, search, and filtering
  • Individual article page with rich Portable Text rendering
  • Category, tag, author, and trending listing pages
  • Search page with real-time results
  • 404 and error pages
  • Dark mode support via next-themes
  • Fully responsive layout
  • RSS feed at /api/rss
  • User profile, saved articles, and liked articles pages

Authentication & users

  • Neon Auth integration with cookie-based sessions
  • Sign in & sign up flows at /auth/sign-in and /auth/sign-up
  • Protected routes via Next.js middleware for admin and user-specific pages
  • Role-based access: USER, EDITOR, ADMIN
  • User onboarding flow with interest selection
  • Social OAuth support (Google, GitHub) via Neon Auth

Database & ORM

  • Neon serverless Postgres with connection pooling via @prisma/adapter-neon
  • Prisma 7 ORM with preview feature: driverAdapters
  • Full schema with models: User, Author, Category, Tag, Article, ArticleTag, Comment, SavedArticle, LikedArticle, UserInterest, ArticleView, ArticleGenerationRequest, AuditLog, SiteSettings, AiSettings, Subscriber, SubscriberEvent
  • Enum types: UserRole, ArticleStatus, CommentStatus, GenerationStatus, SubscriberSource, SubscriberStatus
  • Database seeding with npm run db:seed
  • Migration scripts via npm run db:migrate
  • Prisma Studio for visual data browsing via npm run db:studio

Content management

  • Sanity Studio embedded at /studio — no separate server needed
  • Content types: Post (rich article), Category, Author
  • Rich text editor with Portable Text (blockContent schema)
  • Image upload, optimization, and alt text
  • Dual content strategy: articles can store body in Postgres OR Sanity — the app reads from both
  • GROQ queries via next-sanity client
  • Sanity Vision plugin for query exploration

AI writing & image tools

  • AI article generator in the admin dashboard (/admin/generate)
  • Powered by OpenAI via the Vercel AI SDK (ai + @ai-sdk/openai) with 6 selectable text models (default: gpt-5-mini)
  • Structured output using generateObject and streaming via streamText with Zod schema validation
  • Generates: multiple title options, subtitle, excerpt, AI summary, article outline, tags, keywords, SEO title/description, and full markdown body
  • AI cover image generation using gpt-image-1 (default) or dall-e-3 in configurable sizes (1536×1024, 1792×1024, 1024×1024)
  • Configurable tone: professional, conversational, technical, journalistic, analytical
  • Configurable article word count (200 – 5,000 words)
  • Source URL inputs to ground generation in real content
  • AI generation history page at /admin/generation-history
  • Draft saving workflow: save draft → edit → publish
  • AI SEO metadata regeneration and title regeneration helpers
  • AI settings stored in database (AiSettings model) — model, image size, system prompt, skills, min word count, default tone

Email

  • Resend integration for all transactional email
  • Email subscription form with double opt-in confirmation flow
  • Welcome email sent on confirmed subscription
  • Confirmation email with tokenized link
  • Optional Resend Audience sync via RESEND_AUDIENCE_ID
  • Resend webhook handling for bounce and complaint events
  • Subscriber management in admin dashboard with full event history
  • Subscriber statuses: PENDING, ACTIVE, UNSUBSCRIBED, BOUNCED, COMPLAINED, DELETED

SEO

  • Auto-generated sitemap.xml pulling from Prisma (articles, categories, authors, tags)
  • robots.txt configured
  • Per-page metadata with generateMetadata for all dynamic pages
  • Open Graph image generation via Next.js ImageResponse
  • Canonical URLs on article pages
  • JSON-LD structured data ready
  • Reading time calculated from word count

Admin dashboard

  • Dashboard at /admin with real-time stats (views, articles, subscribers)
  • Articles management: list, create, edit, publish, archive
  • Category management: list, create, edit, delete
  • Author management: list, create, edit
  • Tag management
  • Subscriber management with event history
  • AI article generator with full editing workflow
  • AI generation history with status tracking
  • Site settings (name, description, social links, trending logic)
  • AI settings (model, image model, system prompt, tone, word count)
  • Audit log for admin actions

UI & design

  • Tailwind CSS v4 with PostCSS
  • shadcn/ui component library (built on Radix UI primitives)
  • Radix UI components: Avatar, Checkbox, Dialog, Dropdown, Label, Popover, Progress, RadioGroup, ScrollArea, Select, Separator, Slot, Switch, Tabs, Tooltip
  • Dark mode toggle via next-themes
  • Lucide React icons
  • Sonner for toast notifications
  • Recharts for analytics dashboards
  • react-hook-form + zod for form validation
  • react-markdown + remark-gfm for rendering markdown articles
  • date-fns for date formatting
  • reading-time for estimated reading time calculation