Automatically sync your Google Doc comments/edits with a progress dashboard. Never lose track of advisor feedback again.
Try it now: manuscript-tracker.com
How it works:
- Sign in with Google and paste your manuscript's Google Doc URL
- Your advisor edits or comments on your manuscript in Google Docs
- The tracker picks up the changes and shows them as a checklist
- You address the feedback and revise — the system marks items as done
- A progress bar shows how far each section is from completion
- Share a read-only link with your advisors so they can see progress too
- Zero setup — sign in with Google, paste your Doc URL, done
- Google Docs sync — automatically detects text edits and comments from advisors via Google Drive push notifications
- Section tracking — monitors 6 manuscript sections (Abstract, Introduction, Materials & Methods, Results, Discussion, Supplement)
- Paragraph-level annotations — shows exactly which paragraphs were edited or commented on, by whom, and when
- Comment tracking — advisor comments from Google Docs appear with the full comment text
- Mark as addressed — resolve annotations from the dashboard, or auto-resolve by editing the paragraph in Google Docs
- Progress bar — visual overview of manuscript completion
- Activity timeline — chronological feed of all edits, comments, and progress updates
- Progress logging — manually log your own progress with notes per section
- Multi-account support — configure additional email addresses and display names in settings
- Share with advisors — generate a read-only link (e.g.,
manuscript-tracker.com/share/yourname) so advisors can check progress without logging in
- Frontend: React + Vite + Tailwind CSS (academic minimalist design)
- Backend: Cloudflare Workers (single worker serves API + static assets)
- Database: Cloudflare D1 (SQLite)
- Auth: Google OAuth 2.0 with encrypted refresh tokens
- APIs: Google Docs API + Google Drive API (push notifications)
- Hosting: Cloudflare Workers (free tier)
Want to run your own instance? Here's how.
- Node.js v18+
- A Cloudflare account (free tier works)
- A Google Cloud project
git clone https://github.com/mancusolab/manuscript-tracker.git
cd manuscript-tracker
npm install
cd frontend && npm install && cd ..- Go to Google Cloud Console
- Create a new project (or select an existing one)
- Enable Google Docs API and Google Drive API in APIs & Services > Library
- Go to Google Auth Platform > Branding — fill in app name and support email
- Go to Google Auth Platform > Audience — select External
- Go to Google Auth Platform > Clients > Create Client
- Application type: Web application
- Authorized redirect URI:
https://your-worker-url/auth/callback
- Copy the Client ID and Client Secret
npx wrangler login
npx wrangler d1 create manuscript-tracker-dbCopy wrangler.toml.example to wrangler.toml and fill in your values:
cp wrangler.toml.example wrangler.tomlEdit wrangler.toml:
- Set
database_idfrom the D1 create output - Set
WORKER_URLto your worker URL - Set
GOOGLE_CLIENT_IDto your OAuth client ID
# Run database migrations
npx wrangler d1 execute manuscript-tracker-db --remote --file=migrations/0001_init.sql
npx wrangler d1 execute manuscript-tracker-db --remote --file=migrations/0002_multi_tenant.sql
# Set secrets
npx wrangler secret put GOOGLE_CLIENT_SECRET
openssl rand -base64 32 | npx wrangler secret put SESSION_SECRET
openssl rand -base64 32 | npx wrangler secret put TOKEN_ENCRYPTION_KEY
# Build and deploy
npm run deployVisit your worker URL, sign in with Google, and paste a Google Doc URL to start tracking.
npx wrangler devThis runs the worker locally with the frontend. Visit http://localhost:8787.
The default sections are: Abstract, Introduction, Materials & Methods, Results, Discussion, Supplement.
To customize, edit the section definitions in:
workers/shared/doc-parser.ts— heading patterns for parsingworkers/shared/db.ts—seedSectionsForUserfunction
MIT