Neurite is a project a friend and I have been working on since January.

I wanted to build a website to display my art and it grew into something more.

The idea is that arranging and connecting nodes within a fractal interface *which users can zoom through in real time, allows for an arbitrary number of windows to be displayed without ever having to change tabs. The nodes are physics simulated to flow from outside the set to the perimeter of the set and can be anchored by double clicking them.

We were able to accomplish a real time fractal zoom by randomly sampling the Mandelbrot set to find starting points for separate SVG elements -each representing a path that traverses the fractal by a set length. We generate SVGs up to the number of max lines that have been determined, and remove the oldest lines once the max lines has been reached. The SVGs are regenerated based off the user viewport, and so we only have to calculate the parts of the Mandelbrot set that you are looking at.

All of this allows for a real-time fractal zoom that can run in browser on most computers.

There are a number of visual controls such as max lines, length, width, quality, color, speed of regeneration in the edit tab.

After building the real time fractal zoom, we got to work on the graph based interface. We decided to allow for bidirectional editing between text within nodes and the main document that contains all node definitions. Nodes can also be collapsed. Smaller, atomic notes are recommended.

Finally, I decided to integrate Ai into the project, and it was a lot of fun. Neurite currently supports both OpenAi and local models running on the GPU thanks to mlc.ai's webLLM project. There are still many ai integrations that could be made. For example, I have been considering figuring out how to train an Ai to control a cursor that would rearrange nodes based off their relevance scores and position within the Mandelbrot set.

The system allows for text nodes to undergo processing by either OpenAi's embeddings model, or a local embedding model that runs in browser. These nodes are sent as context to the ai based off a vector embedded search of the text in your map compared to an ai reformulation of your initial query.

Since the Ai responds in the note-taking format required to create nodes, (custom tags can be set) its responses to you can be recalled regardless of the point in time they occurred during your conversation. This also means only sending the actually relevant parts of the response, as each response is broken up into multiple nodes. In the future, the fractal zoom could allow for an Ai to only receive context from the notes you have currently zoomed to. You can zoom to notes by clicking their titles in the Notes tab of the dropdown.

There is more information on how Neurite works in the readme, and I am still expanding its documentation. It is a complex idea that still has a ton of room for growth. There are a number of features I won't go over much here such as Auto mode, html/css/js and Python output that bundles any connected text nodes containing code blocks, Google Programmable search to return webpages, Wolfram Alpha integration with Ai, Wikipedia search results, Ai nodes, and a number of other aspects of the project.

A few last things to mention,
-I recently added the ability for any connected ai nodes to send messages to one another.
-This is a project I continue to build upon. There is a solid foundation for a number of really interesting projects, extensions, and optimizations to be included.
-This is an open-source and free project. I am excited to share it with Hacker News as this can be a much more knowledgeable forum than Reddit.

Let me know what you think! I am trying to get the word out about this idea after months of chipping away at it. I am hoping to connect with others who might be interested in giving feedback or contributing to this open source project.