{"id":29126149,"url":"https://github.com/ckampfe/journal","last_synced_at":"2026-05-04T15:34:21.363Z","repository":{"id":301803392,"uuid":"1010353196","full_name":"ckampfe/journal","owner":"ckampfe","description":"Focus on the writing, not the reading.","archived":false,"fork":false,"pushed_at":"2025-09-26T04:42:00.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-28T16:38:04.347Z","etag":null,"topics":["htmx","journal","obsidian","roam","roamresearch","rust","sqlite","writing"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ckampfe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-28T22:19:14.000Z","updated_at":"2025-09-26T04:42:04.000Z","dependencies_parsed_at":"2025-09-26T06:12:43.190Z","dependency_job_id":"5142d1de-7d9d-4f7c-8834-00d91a624573","html_url":"https://github.com/ckampfe/journal","commit_stats":null,"previous_names":["ckampfe/journal"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ckampfe/journal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckampfe%2Fjournal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckampfe%2Fjournal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckampfe%2Fjournal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckampfe%2Fjournal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ckampfe","download_url":"https://codeload.github.com/ckampfe/journal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckampfe%2Fjournal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32613479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["htmx","journal","obsidian","roam","roamresearch","rust","sqlite","writing"],"created_at":"2025-06-29T23:01:45.059Z","updated_at":"2026-05-04T15:34:21.345Z","avatar_url":"https://github.com/ckampfe.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# journal\n\nA thing to focus on the writing, not the reading. The anti-Obsidian, the anti-Roam.\n\n## It looks like this\n\n\u003cimg width=\"727\" alt=\"Screenshot 2025-06-28 at 17 39 29\" src=\"https://github.com/user-attachments/assets/8906e3a8-9c3c-45b9-9716-f3d29a6ea360\" /\u003e\n\n## Running\n\n```sh\nUsage: journal [OPTIONS]\n\nOptions:\n      --database-path \u003cDATABASE_PATH\u003e  [env: JOURNAL_DB_PATH=]\n      --port \u003cPORT\u003e                    [env: PORT=] [default: 9999]\n  -h, --help                           Print help\n```\n\n## Building\n\n`$ cargo build [--release]`\n\n## Pro tips\n\nSet up a keyboard shortcut to open `http://localhost:9999` or wherever you have this running.\nSet up Caddy to give it a name, like:\n\n```\n# in Caddyfile\njournal.localhost {\n  reverse_proxy :9999\n}\n```\n\n## Motivation\n\nMy hypothesis is that Obsidian, Roam, and all of the \"knowledge base\" software popular these days see the reading vs. writing value breakdown as being something like 90:10%. I think it's the inverse. The main behaviors Obsidian/Roam/etc. encourage are making backlinks, tinkering with their settings, and trying to come up with a cogent directory structure. Accordingly, they're great for things like lists, or documents you need to frequently reference. They're bad for thinking or journaling, because the temptation to fritter around making backlinks and tweaking things that don't matter is too great due to what their designs incentivize.\n\n## Implementation\n\nRust, Sqlite, Htmx\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fckampfe%2Fjournal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fckampfe%2Fjournal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fckampfe%2Fjournal/lists"}