Graph Layout

A force-directed graph layout library for visualizing connections or just making a pretty graph, written in pure JS.


A screenshot of an example graph layout
A screenshot of the demo

This is very much a work in progress, although I haven't done much on it recently. If you would like to contribute, please feel free. It's written in pure JS with no dependencies. Eventually I would like to publish it as an npm module, but I don't think it's quite ready yet.

You can scroll to zoom, and drag nodes around to see how everything reacts. If you're using it, the labels, colors, physics constants, node sizes, etc. are all customizable.

Also, it probably needs a better, less generic name.

Type: Library

.

More projects!

A screenshot of the activity tracker "Something Good Today"

Another SvelteKit project, this time with Firebase integration for accounts. It's an activity tracker I made mostly for myself, so I could track if I did something I felt good about every day (hence the overly generic name).

More ›
A screenshot of the wacky blog I made, Deru's Book of Made-Up Facts

A blog for my family to post random crazy things to. Made with Sveltekit and Sanity CMS. This is the first project I made with Sveltekit, and also the first thing I made with any sort of back end.

More ›
A screenshot of the my new tab extension, showing a background with some flowers, links to various websites, and weather

I made a Chrome new tab extension because I wanted to be able to put as many links as I wanted on my new tab page. It also has a basic notepad, shows the weather using OpenMeteo and NOAA data, and has Todoist integration (you have to supply your own Todoist API key if you want that to work, though). It's not published as an extension, but I might do so in the future.

More ›
A screenshot of my cube timer, showing some solve times I did.

I made a timer for speedcubing. This was the first project I made with regular Javascript and manipulating the DOM and stuff. I would say it looks boring at best, because I was terrible at CSS at the time. I was also trying to cram way too much stuff on to the screen at once, especially for mobile.

More ›