# Vitahash: Medical publishing platform on Base

A publishing platform for doctors and researchers where every article is stamped on the Base blockchain, and anyone can check that stamp without a wallet.

*Dr. Chayakrit · Vitahash · 2026 - present · 2 months to launch, then ongoing*

## The brief

Dr. Chayakrit wanted a home for medical writing that reads like Substack but carries the weight of a journal. Anyone can sign up and publish a post in minutes, while research papers go through real editorial peer review before they appear. Every published piece needed permanent, citable proof that it existed in exactly that form on that day.

Authors also needed a reputation score of their own, the B-Index, built from who cites their work and in what role they wrote it. And the platform had to open with the research community already on it: tens of thousands of real researchers and their PubMed papers, ready to be claimed.

## What we built

- **Editor & publishing.** rich text, autosave, blog or journal
- **Peer review.** submit, assign reviewers, revise, decide
- **Blockchain stamping.** one Merkle root a day on Base
- **Public verification.** the proof walked step by step
- **B-Index engine.** citations weighted by role and source
- **Citation tracking.** Cite button plus a daily scan, no double counts
- **PubMed import & claims.** 50,200 researchers, claimed via ORCID
- **Feed, search & profiles.** three tabs, full-text search, follows
- **Share cards.** link previews with a QR to the proof
- **Editorial admin.** queue, users, roles, moderation

## How it works

A Turborepo monorepo with a Next.js frontend on Vercel and a NestJS API on Railway, sharing one package of Zod schemas and domain math so every rule lives in exactly one place. Articles, feeds and profiles render on the server for search engines. Each night a job hashes the day's published articles, builds a Merkle tree over them and anchors a single root on Base through the Ethereum Attestation Service, so the on-chain cost stays flat however much gets published. Postgres handles feeds, full-text search and duplicate detection, with cursor pagination everywhere.

## Stack

- **Frontend:** Next.js, React, TypeScript, Tailwind CSS, TipTap (ProseMirror)
- **Backend:** NestJS (Fastify), PostgreSQL, Drizzle ORM, Redis, Better Auth, Zod
- **On-chain:** Base, Ethereum Attestation Service, viem, Hardhat, Merkle proofs
- **Infra:** Turborepo, Docker, Vercel, Railway, Cloudflare R2 + Turnstile, Sentry
- **Quality:** Vitest, Playwright

## Numbers

- **50,200** researcher profiles imported from PubMed
- **81k+** papers attached to their authors
- **$0.09** a month on-chain, at any publishing volume
- **3,300+** automated tests across the monorepo
- **150** API endpoints behind the platform
- **150k+** lines of TypeScript across the monorepo

## The hardest part

Making a blockchain proof affordable without making it weaker. The first design wrote one attestation per article, and measured on live gas it only stayed under the client's $5 a month ceiling up to about 45 articles a day. We moved to one Merkle root per day: every article's hash becomes a leaf, the tree is anchored once, and each article keeps its own proof. The cost fell to $0.09 a month at anything from 10 to 10,000 articles a day, and a test asserts that number so it can't drift. The tree follows RFC 6962, with separate prefixes for leaves and nodes and odd nodes promoted rather than duplicated, which closes the known flaw where two different sets of articles produce the same root.

Verification also had to make sense to a doctor with no wallet and no idea what a hash is. The page doesn't just print "verified": it recomputes the article's hash, walks the proof one step at a time, reads the root back from the chain instead of our database, and keeps three kinds of failure apart, so a network outage is never reported as an edited article. Anyone who wants to check it independently gets the exact bytes that were hashed and the commands to do it themselves.

## What the client said

> "I've collaborated with Roberto and his team! He is incredibly detail-oriented, easy to communicate with, and genuinely cares about delivering the best possible results. From start to finish, the experience was smooth, professional, and personal. The quality of their work is truly outstanding, and I'm very happy with the results. Highest quality. Highly recommended!"
> Dr. Chayakrit, rated 5/5

More work: https://dock30.com/work

## Contact

- Email: crew@dock30.com
- Book a call: https://dock30.com/contact
