70 karma · joined February 13, 2024
This has been a major improvement, but it's not foolproof.
One thing that sets it apart from the (many!) ChatGPT-export browser plugins out there is that it can update your local archive in-place with later exports, even if you've moved or renamed any of those files locally, or added your own front matter to the markdown.
It's not a use case for everyone, but it's very useful for people who want their ChatGPT conversations in the same place as their notes, research, project history, and other local work.
Ancient historical reference: https://martiansoftware.com/lab/rundoc
I usually do look for feedback if I'm not just writing a library for myself. Often pretty early on re: concept, naming, and general calling model. I wouldn't say it's formal product development feedback though. Mainly brainstorming with trusted friends and colleagues.
These days I'll sometimes use an LLM as an objective third party for brainstorming purposes too. I don't think I've ever been steered by an LLM into anything awesome, but I've definitely been steered away by them from my own bad ideas. :)
I'm not convinced that requiring users to already have JBang installed is the best adoption strategy. But a native package that pulls in JBang if needed and drops a shim launcher/desktop shortcut seems like a natural approach and maybe a fun project.
On the TUI side, java could really use something as approachable and pretty as go's Charmbracelet [2]. Once developers regularly see compelling java TUIs in the wild, it'll change their perception.
The tooling is here, or at least really close. At this point, it's mostly outdated opinions holding java back in the terminal.
[0] https://martiansoftware.com/nailgun
I built ChatKeeper because I wanted to treat my ChatGPT history like a local knowledge base, with local-first access to my data.
It’s a command-line tool (GUI in progress) that takes a full ChatGPT .zip export and syncs it with local Markdown files. You can move and rename them freely and they will stay in sync on future runs.
It pairs well with tools like Obsidian and lets you link your own notes to specific conversations or even points within them.
Revenue is modest but growing month over month. It’s a one-time purchase, not a subscription.
Most users so far are researchers and other ChatGPT power users who already live in Markdown or want to do things like curate and compress the context of very long-running conversations.
I will seriously consider that - thanks for the suggestion!
It syncs your entire ChatGPT history to local markdown files so you can organize, rename, or integrate them with other work however you like. I use it to keep my conversations alongside related notes in Obsidian, but since it's just markdown, you can use any system at all.
I also built it because ChatGPT is a cloud-based service which, as we all know, can vanish, change its UI, or alter its terms at any time, and I wanted control over my own data.
Info, screenshots, & download all at https://martiansoftware.com/chatkeeper for the curious.
(full disclosure: I sell it, but it's cheap, not subscription-based, and has a free trial.)
(nerd disclosure: Reverse-engineering the ChatGPT export format is an ongoing game of whack-a-mole as they continually add new features. The software is currently a CLI but a GUI version is in the works.)
This is a tool meant for heavy users of ChatGPT who want to sync their *entire* conversation history to local markdown files. If that describes you, I invite you to check it out!
It used LiveConnect[0] to talk to the UI-less java applet[1] hosting the web server. It was a weird (and therefore kind of fun!) combination.
Unlike when I was younger I can't just stay up coding until 3AM anymore. In fact I find myself without the mental energy after work that I want to put into my projects, so evenings are out completely for me.
So instead I wake up at 5AM and put myself into it before work. It was a big adjustment, but all I needed to do while acclimating to that schedule was ask myself each morning which I wanted more: warm blankets or a successful project? Now it's a pretty energizing way to start the day.
But if someone is going on a 10,000km trip and trying to choose between modes of travel, the mode with the fewest incidents per mile will be the safest way.
I am not very familiar with those myself, simply aware of them.
[1] https://github.com/apache/maven-mvnd
[2] https://docs.gradle.org/current/userguide/gradle_daemon.html