TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
A free, open-source infinite canvas. Sketch, write, paste pictures and tables, then zoom in forever.
ProductivityRust · JavaScriptGitHub @OmegaGivenOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A Open source drawing app with Infinite zoom capabilities. The idea is if this app dies you can still recover your work.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
An open-source, truly endless canvas — infinite pan, infinite zoom — that runs on every device and saves your work in a format you own.
Write a sentence inside the dot of an "i", then zoom out until a whole notebook is a speck. Pick up the same canvas on your Windows laptop, Android phone, iPad or a browser. And if this project ever stops, your files still open: the format is openly documented, stored in SQLite, and readable with a tiny standard-library Python script.Read the full README ↗An open-source, truly endless canvas — infinite pan, infinite zoom — that runs on every device and saves your work in a format you own.
Write a sentence inside the dot of an "i", then zoom out until a whole notebook is a speck. Pick up the same canvas on your Windows laptop, Android phone, iPad or a browser. And if this project ever stops, your files still open: the format is openly documented, stored in SQLite, and readable with a tiny standard-library Python script.
Status: Phase 1 (the app), early alpha. Drawing, files and the web app work on Windows, macOS, Linux, Android and the browser — see What works today. The Phase 0 spike flies from 10^-0.6 to 10^49 zoom over a 1M-stroke canvas at ~6,000 fps on desktop (
docs/PHASE0.md). Design spec:docs/DESIGN.md.
Proprietary infinite-canvas apps such as Endless Paper keep your work in undocumented formats, on one platform, behind a subscription. If the company changes course, years of notes can become unreadable. OG Paper exists so that can't happen.
.ogp file per canvas, open spec, plus SVG/PDF/PNG/JSON and self-contained HTML exports..ogpt file).main also produces builds under the CI run's artifacts).One small container hosts all your pages on your own hardware, so everyone on your network (or tailnet) can open and draw on them together, and each device keeps its own copy that syncs when it reconnects. It needs no account and no cloud.
git clone https://github.com/OmegaGiven/OG-paper.git
cd OG-paper
docker compose up -d --build # first build takes a few minutes
docker compose logs og-paper # copy a "Server link" from here
The log shows two server links: one that can make and change pages, and
a view-only one. Treat them like passwords. Your pages live in
./og-paper-data (mounted at /data in the container). The server listens
on port 8991.
Without compose:
docker build -t og-paper .
docker run -d --name og-paper --restart unless-stopped \
-p 8991:8991 -v /path/on/disk/og-paper:/data og-paper
docker logs og-paper
The links name the container's internal address. To get links with the
address people actually use, add --public ws://<your-server-ip>:8991 to
the command (see the commented command: line in
docker-compose.yml), or just swap the address in the
link by hand. Browsers on the public web app (an https:// page) can only
connect to a wss:// address. Put the server behind a TLS proxy (Tailscale
serve, Caddy, Nginx Proxy Manager, Traefik) and use --public wss://your-host. The desktop and Android apps connect to plain ws://
fine.
There is no prebuilt image yet, so the image is built from this repository once (on the NAS itself, or on a PC and then copied over, see below).
/volume1/docker/og-paper). In Container Manager >
Project > Create, choose that folder as the path; it picks up
docker-compose.yml. Build and start it. Open the container's Log
tab for the server links. To use a NAS folder for the pages, change
./og-paper-data to e.g. /volume1/docker/og-paper/data.docker-compose.yml (with build: . replaced by a built
image, see below, or create it from the repository folder over SSH with
docker compose up -d --build). Map /data to a folder such as
/share/Container/og-paper.git clone into /mnt/user/appdata/og-paper-src and
run docker build -t og-paper . there. Then Docker > Add Container:
Repository og-paper, port 8991 to 8991, path /data to
/mnt/user/appdata/og-paper. The server links are in the container's log.docker build -t og-paper .), then Apps > Discover Apps > Custom App: image og-paper (pull
policy: never), port 8991, host path for /data on a dataset (e.g.
/mnt/tank/apps/og-paper).cargo build --release -p og-paper) the
Linux build and run og-paper --serve-dir ~/og-paper-pages. A systemd
service with Restart=always keeps it up.Building on a PC for a slow NAS: build for the NAS's CPU, then load it there:
docker buildx build --platform linux/arm64 -t og-paper --load . # or linux/amd64
docker save og-paper | gzip > og-paper.tar.gz
# copy og-paper.tar.gz to the NAS, then on the NAS:
docker load < og-paper.tar.gz
Open port 8991 on the NAS firewall for your LAN. For access from outside, a VPN or Tailscale is safer than opening the port to the internet.
Open the server's address in a browser (http://<server>:8991/) for a page
that shows people how to connect, with the link to copy.
To let an AI assistant work on your pages, add
http://<server>:8991/mcp?k=<server key> to it as an MCP server; see
docs/MCP.md.
Every way works from the ⚙ settings menu:
More detail, including the relay for people who are never online at the
same time and how the end-to-end encryption works, is in
docs/SHARING.md.
.ttf / .otf; sizes, alignment, color, opacity. Text is ink (letters are filled outlines), so it stays sharp at any zoom.[ / ]), plus an inventory that grows as you fill it. Tap an empty slot to save the current tool.File formats (.ogp 0.3, shapes, text, tables and pictures, the timeline log, bookmarks, .ogpt v3) are documented in docs/DESIGN.md.
.ogpt copies in the desktop app, and .ogp in the web app, so both share one format; bookmarks and the timeline on desktop.docs/PHASE1.md and the to-do list.Rust core · wgpu renderer · winit · egui · SQLite. See docs/DESIGN.md for architecture, file format, sync design and roadmap.
The repo is public from day one and help is welcome — especially people with stylus hardware (Apple Pencil, S Pen, Wacom) who can test ink feel. See CONTRIBUTING.md. Commits must be signed off (DCO).
spec/): Creative Commons Attribution 4.0tools/, when added): MITCreated by OmegaGiven. See AUTHORS and TRADEMARKS.md.
docs/DESIGN.md)..ogp file (SQLite) with New / Open / Save As. The web app autosaves in your browser and saves / opens .ogpt offline copies.og-paper --serve, or Docker), with no server between browsers (WebRTC), or through a relay (og-paper --relay) for people who come and go. Offline work applies when you reconnect; frames are sealed end to end and view links cannot edit. See docs/SHARING.md.docs/PLUGINS.md./mcp): connect Claude (Claude Code, or a custom connector in the Claude apps) or another assistant and it can see your pages, explain them, and draw or tidy designs with you, live. See docs/MCP.md.