Back to projects

InsightBlog

A serverless, AI-powered publishing platform

2024 – 2026Solo project — full-stack architecture & build
InsightBlog preview

Overview 

InsightBlog is a publishing platform built to feel like a production SaaS product rather than a Medium clone. Beyond writing and publishing, it helps creators discover trending topics, improve drafts with AI, and understand exactly how their content performs.

The problem 

A basic blog app is just CRUD. Real creators need more: to know what to write about, to improve their drafts, and to understand what actually lands with readers — capabilities that generic blogging tools simply don't provide.

The solution 

A domain-driven, serverless platform delivered across five phases. The backend runs on Hono + Prisma + Neon Postgres on Cloudflare Workers, with JWT auth (access/refresh, RBAC), a full blog lifecycle, and a social graph. An AI assistant helps improve writing, suggests SEO and topics, and produces a grounded engagement forecast — a heuristic over readability and history rather than fabricated predictions — with a graceful mock fallback when AI is unavailable.

Architecture 

A domain-driven, serverless request flow running on Cloudflare's edge. The React SPA calls a Hono API on Cloudflare Workers, which reaches Neon PostgreSQL through Prisma Accelerate (connection pooling) and calls Google Gemini for the AI writing assistant.

React + Vite SPA

TanStack Query · Tailwind · Chart.js

Hono API

Cloudflare Workers · JWT · Zod

Prisma Accelerate

connection pooling

Neon PostgreSQL

serverless Postgres

Key features 

  • Secure auth — JWT access/refresh tokens, RBAC, Google OAuth sign-in, email verification, and password reset
  • Full blog lifecycle — TipTap rich-text editor, draft, scheduled publishing, version history, categories, and R2 image upload
  • Social graph — comments, likes, bookmarks, follows, notifications, and recommendations
  • AI assistant — improve-writing, SEO and topic suggestions, cover ideas, and engagement forecast
  • Multi-source Trending Hub surfacing what to write next
  • Reading progress tracking and history feeding personalized recommendations
  • Author and admin analytics dashboards with charts
  • Production-hardened — HTML sanitization against stored XSS, security headers, CORS allowlist, per-user rate limiting, and a GitHub Actions CI pipeline
  • Shared Zod DTOs across client and server in an npm-workspaces monorepo

Tech stack 

Frontend

React 18ViteTypeScriptTailwind CSSTanStack QueryTipTapChart.js

Backend

HonoCloudflare WorkersPrisma (Accelerate)Neon PostgreSQL

Auth & Validation

JWTZod

AI

Google Gemini

Infrastructure

Cloudflare R2 (image uploads)Cloudflare KV (trend cache)Resend (email)VercelGitHub Actions CI

My role & impact 

  • Structured the whole backend as a domain-driven, serverless Hono app on Cloudflare Workers — routes → controller → service → repository per domain — so features slot in without tangling the request flow
  • Kept every external dependency optional behind a graceful fallback: the AI assistant drops to a deterministic mock without a Gemini key, image uploads no-op without an R2 binding, and email logs to the console without Resend — the app never hard-fails on missing config
  • Made the engagement forecast an honest heuristic over readability, structure, and history rather than a fabricated number, with the AI only writing the human explanation
  • Aggregated a multi-source Trending Hub through a single provider interface, fanning out keyless sources (Hacker News, GitHub, Dev.to, Reddit, RSS) with Promise.allSettled and ranking them to a 0–100 heat score
  • Hardened it for production — stored-XSS sanitization on save and render, a CORS allowlist, security headers, per-user AI rate limiting, and a GitHub Actions CI pipeline that builds, type-checks, and tests all three workspace packages