Independent research and analysis on technology, cybersecurity, business and digital systems — built from Douala for Africa and beyond.
Live: https://trigenys-insight.vercel.app/
Trigenys Insights is both a public publication and an editorial platform. The public site serves articles and research, while the same application provides the newsroom with content management, source tracking, scheduled publishing and report workflows.
- Next.js 16 App Router and React 19
- Payload CMS 3
- PostgreSQL 17 on Neon (PostgreSQL 16 also supported locally)
- TypeScript and Tailwind CSS 4
- Vitest and Playwright
- Vercel Blob for media storage
Payload lives inside the Next.js application: the public publication is served at /, the editorial workspace at /admin, and the REST and GraphQL APIs under /api.
posts: localized articles with drafts, scheduled publishing, SEO, reading time, featured state and traceable sourcescategories: localized editorial pillars and visual accentsresearch-sources: private source registry used by the newsroomreports: free or premium research reports with methodology and source linksnewsletter-subscribers: consent records created only through the public subscription endpointmedia,users,pages: assets, editorial accounts and evergreen pages
Business scoring and research computation do not live in browser components. When that layer becomes necessary, it should be implemented as a server-side research service and persist reproducible results for Payload to publish.
Requirements: Node.js 20+, pnpm 9+ and PostgreSQL 16 (or Docker).
cp .env.example .env
docker compose up -d
pnpm install
pnpm db:migrate
pnpm devOpen http://localhost:3000/admin, create the first administrator, then use the dashboard seed action on a new database.
pnpm lint
pnpm test:int
pnpm test:e2e
pnpm buildSet DATABASE_URL (pooled), DATABASE_URL_UNPOOLED (direct), PAYLOAD_SECRET, CRON_SECRET, PREVIEW_SECRET, NEXT_PUBLIC_SERVER_URL and BLOB_READ_WRITE_TOKEN. The Blob token is injected automatically when a Vercel Blob store is connected to the project.
Migrations are committed in src/migrations. On Vercel they are applied automatically: the vercel-build script runs pnpm run db:migrate (direct connection) before next build, on the Neon branch of each environment. See docs/deployment.md. Outside Vercel, run the same steps:
pnpm db:migrate
pnpm build
pnpm startAutomatic schema push is disabled in every environment. For future schema changes, run pnpm db:migrate:create, review the generated migration, and test it on a development branch before production. Never run rollback or reset commands on production without a backup and an explicit recovery plan.
See the database model for the logical ER model and design decisions, and deployment notes for Neon environments and remaining launch setup.
Status: Production.
Current work focuses on editorial cadence, article discoverability and keeping the research/source workflow reproducible as the publication grows.
The visual language and initial editorial backlog were migrated from the original Figma Make React/Vite mockup stored in the Trigenys project archive. The public brand remains TRIGENYS INSIGHTS; the GitHub repository keeps the historical singular name Trigenys-Insight.