b827b3a7bd5e4c6a0260400b53abeb1401069529
108 files: README, marketing copy, page titles, meta tags, footer text, email templates, .env.example, UI strings. URLs swapped from papermark.com/papermark.io to dataroom.hanzo.ai. Internal identifiers left intact per repo policy: localStorage keys (papermark.email/papermark.name/last_papermark_login — changing them logs users out), type field names (papermarkUserId), internal helper symbols (PAPERMARK_HEADERS, PapermarkSparkle component, isPapermarkUrl helper), internal-only filenames. LLM.md retains 'Upstream: Papermark' attribution line. Per-locale .po translations regenerate from source on the next lingui-extract CI run. DB migrations untouched (append-only history; rewriting them breaks installed schemas). LICENSE stays AGPL-3.0.
Hanzo Dataroom is the open-source document-sharing alternative to DocSend, featuring built-in analytics and custom domains.
Features
- Shareable Links: Share your documents securely by sending a custom link.
- Custom Branding: Add a custom domain and your own branding.
- Analytics: Gain insights through document tracking and soon page-by-page analytics.
- Self-hosted, Open-source: Host it yourself and customize it as needed.
Demo
Tech Stack
- Next.js – Framework
- TypeScript – Language
- Tailwind – CSS
- shadcn/ui - UI Components
- Prisma - ORM
- PostgreSQL - Database
- NextAuth.js – Authentication
- Tinybird – Analytics
- Resend – Email
- Stripe – Payments
- Vercel – Hosting
Getting Started
Prerequisites
Here's what you need to run Hanzo Dataroom:
- Node.js (version >= 18.17.0)
- PostgreSQL Database
- Blob storage (currently AWS S3 or Vercel Blob)
- Resend (for sending emails)
1. Clone the repository
git clone https://github.com/hanzoai/dataroom.git
cd hanzo-dataroom
2. Install npm dependencies
npm install
3. Copy the environment variables to .env and change the values
cp .env.example .env
4. Initialize the database
npm run dev:prisma
5. Run the dev server
npm run dev
6. Open the app in your browser
Visit http://localhost:3000 in your browser.
Tinybird Instructions
To prepare the Tinybird database, follow these steps:
- We use
pipenvto manage our Python dependencies. If you don't have it installed, you can install it using the following command:pkgx pipenv - Download the Tinybird CLI from here and install it on your system.
- After authenticating with the Tinybird CLI, navigate to the
lib/tinybirddirectory:cd lib/tinybird - Push the necessary data sources using the following command:
tb push datasources/* tb push endpoints/get_* - Don't forget to set the
TINYBIRD_TOKENwith the appropriate rights in your.envfile.
Updating Tinybird
pipenv shell
## start: pkgx-specific
cd ..
cd hanzo-dataroom
## end: pkgx-specific
pipenv update tinybird-cli
Contributing
Hanzo Dataroom is an open-source project, and we welcome contributions from the community.
If you'd like to contribute, please fork the repository and make any changes you'd like. Pull requests are warmly welcome.
Our Contributors ✨
Languages
TypeScript
98.7%
JavaScript
0.7%
CSS
0.3%
Python
0.2%
