Gingko Writer [](https://github.com/gingko/client/actions/workflows/web-deploy.yml)

September 8, 2026 · View on GitHub

Gingko Writer Web Deploy

Writing software to help organize and draft complex documents. Anything from novels and screenplays to legal briefs and graduate theses.

This is a ground-up rewrite of GingkoApp.com. The latest version is available online at gingkowriter.com.

This repo contains both halves of the web app:

  • client/ — Elm + JS frontend (bundled with webpack, watched with elm-watch)
  • server/ — TypeScript/Express backend
  • data/ — local database files (created on first run, gitignored)

Contributions Welcome!

To help translate Gingko Writer, join the translation project.

For code contributions, see client/CONTRIBUTING.md.


Installation & Dev Environment

1. Prerequisites

* This dependency will be removed once all user documents are migrated to SQLite.

Installation of these varies by system, so it's not covered here.

2. Clone

git clone git@github.com:gingko/client.git gingko
cd gingko

3. Server

cd server
npm i
cp config-example.js config.js
sed -i 's/couchusername/your_couchdb_admin_username/' config.js
sed -i 's/couchpassword/your_couchdb_admin_password/' config.js
npm run build
npm start

4. Client

In a new terminal:

cd client
bun i
cp config-example.js config.js
bun run newwatch

Now visit http://localhost:3000 to use your local Gingko Writer install.

Tests

  • Client end-to-end (Playwright): cd client && bun run test
  • Server unit tests (Jest): cd server && npm test