NewDayKnowledge

How this AI news platform was built, and how it works

Deploy Your Own Copy (Free)

This project can run as a free hosted dashboard on Vercel with a free Neon Postgres database. The dashboard is the web app for login, review, editing, approvals, notifications, and manual publishing. The News Agent that finds articles and drafts posts is a separate program; see Tier 2 below before expecting new articles to appear automatically.

TIER 1 - Required (the dashboard will run with just this)

  1. Create a free Neon Postgres database at neon.tech, then copy its pooled Postgres connection string as DATABASE_URL.
  2. Generate NEXTAUTH_SECRET:
    openssl rand -base64 32
  3. Set NEXTAUTH_URL to the real Vercel URL you get after deploying, for example https://your-project.vercel.app. If you guessed this during the one-click deploy flow, confirm it after the first deploy, update it in Vercel's Environment Variables if needed, and redeploy.
  4. Pick an ADMIN_EMAIL for the dashboard login.
  5. Generate ADMIN_PASSWORD_HASH. This must be a bcrypt hash, not the plain password. Run this exact command, replacing only the password text:
    node -e "const bcrypt = require('bcryptjs'); bcrypt.hash('replace-with-your-password', 12).then(console.log)"
    Use ADMIN_EMAIL and the original password, not the hash, when signing in at /login.
  6. After the first deploy, run the database migrations once from a local clone pointed at the same DATABASE_URL:
    npx prisma migrate deploy
    This creates the database tables the dashboard needs. It is required for a fresh Neon database, and it is safe to rerun because Prisma only applies migrations that have not already run.

TIER 2 - Optional (add only what you want)

  • LinkedIn personal posting: follow docs/setup-guides.md, "LinkedIn personal profile posting".
  • LinkedIn Company Page posting via Zernio: follow docs/setup-guides.md, "LinkedIn Company Page posting (via Zernio)".
  • Twitter/X posting: follow docs/setup-guides.md, "Twitter/X posting".
  • Auto-publish and its external scheduler: follow docs/setup-guides.md, "Auto-publish".
  • Telegram notifications: follow the Telegram setup notes in docs/setup-guides.md.
  • The News Agent itself needs either local Ollama or the OpenAI API. Ollama is free and runs on your own machine; OpenAI uses AI_PROVIDER=openai plus an OPENAI_API_KEY and is paid per API use. This part cannot genuinely run on Vercel's free tier because the agent does long-running AI work and, with Ollama, depends on a model loaded on your own computer. As explained in docs/architecture.md, Vercel runs short-lived serverless functions and cannot run a persistent local language model or reach localhost on your Mac.