iThoughtsX Redux!

Building the next iThoughtsX
This DEMO site is in active development. (Weekly updates at the moment) - August 2025 (nearly into September)
The entire contents of this page are edited in 'the original' iThoughtsX on my Mac. This demo software reads (and soon writes) to the original format which is sitting in a shared folder. No importing or exporting needed.
Most of the code is written by AI (ok wishful thinking, the reality is, AI writes the code (badly), and then I fix it and remove the spaghetti). It is still faster to work this way, but has its own unique frustrations!
Changes to the code have slowed a little as I'm super busy with clients at the moment and can only spend a few hours a week on this at the moment
Here are some test nodes to play with (try moving them around with keyboard commands (if you are a seasoned iThoughtsX user), try using number keys to open N levels. (mouse drag is now implemented but drop targets only work if you drop on the right hand side of the node. (work in progress)
PRESS dot (".") to open up this folded node (or click the plus sign on the RHS)
Child Node 1
Child Node 2
The Goals for this project:
To keep the same file format (itmz) format for read and write (this means you dont lose anything since you don't need to export to a different format)
To reach feature parity with iThoughtsX for the features I use on a daily basis
To provide a framework on top of which I can add all sorts of goodies that I wished iThoughtsX had included
To be able to run as a Web App on my phone or as a Native App on my desktop - Craig Scott originally intended to do an Android App, but it never happened... well now it can!
To be able to run on 'old' devices. (I have a perfectly good iPad2 which I'd like to be able to use as a recipe book in the kitchen)
About Me:
Contact me by email: sryan at smartblackbox dot com
How I'm using AI to help me write this:
Can this be 'vibed'? No!
Can I ask for small changes. Yes!, but then I need to carefully review them or I end up with 'Spaghetti Code'
I'm currently using 'aider' from the command line with --watch-files, this lets me either interact with aider with its own cli, ask it questions or give it commands from within my vim editor using a comment.
For the LLMs I'm using only local models. These models change on a weekly basis. Currently I'm using Qwen3 as the architect and devstral as the code editor.
I'm finding that the AI is helping when it knows what I don't know, however as the project is getting larger, it is having issues with reusing existing code as I cant fit it all in the context.
The best prompting technique seems to be to ask it for 3 options on how to do something, then I pick the one I'm happy with and tell it to "go ahead and code option N", then when it is done, I 'git diff' or use vim to view the changes.
Work in Progress
22nd August: I now have Drag to sibling above and below working, just have to fix the Transition effect and I'll release it here
3rd August: Drag and Drop is minimally working (only drag to child so far)
Getting the transitions working was a bit tricky.. Give me feedback if it looks weird on your browser / device
Actually drag and drop by mouse / touch was way more complex than I imagined it would be. I still dont have any visual cue for touch devices to show the various drop zones (so make sure you drop on the right most third of a target node.
6th June: Just finished getting drag working with nice transition animations. On touch devices this is activated by press and hold
Old entries
Roadmap
Short Term Roadmap:
More drop types (drop to parent, sibling above, sibling below)
Visual drop indicator for touch devices (not sure how I'll do this yet)
Medium Term Roadmap:
Roadmap items Completed:
Appearance and Style
Movement and Hierachy Keys
Mouse and Touch Events
Editing
Architecture
Bugfixes
Manual tests I do before updating on this public demo site
New Features and differences to iThoughtsX