Alpha: Drag-n-drop J.D Index Generator

I’m working on Now in pre-alpha:

  • add Areas, Categories, and Things
  • reorder these with drag and drop and have all item numbers updated automatically
  • generate list of my J.D items in plain text (currently using the format below, but it’s simple to modify to a different format eg. JSON file)
10-19 foo
   11 category
      11.01 thing
      11.02 another thing
      11.03 more thing
   12 another category
      12.01 thinnggksdljs
      12.02 sdjfjlfjgdljg
      12.03 sfjlkfjglj
   13 moar category
      13.01 asffdgdfg
20-29 bar
30-39 baz
40-49 qux

I initially planned my J.D on: (1) a plain text editor, (2) on paper, (3) on Notion, but i kept changing my mind and i got tired of changing the numbering manually. I made this app for myself (got some stack/setup i wanted to try) but sort of got carried away :laughing:. I’m going to open source it once finished so everyone could fork and tweak it as they please.

All functionalities are done; I’ve been trying to polish it and slap a nice UI on it but starting to procrastinate because i’m miserable & slow with visual design. Posting this here mainly so i can’t back out, lol.

Watch this space!


I mean excuse my language but HOLY SHIT! This looks AMAZING! :star_struck:

Functionally a really cool idea but the design, that’s something else. Very, love it.

You know when I see this sort of thing and I show my partner we just can’t believe that people are making things like this. You’ve no idea how this makes me feel.


Weird, and really I had no idea, but here’s a thing that I built the other week, and it turns out does the same.

So here’s a tangent. I want to build some software. Started learning JS in October ‘17, been going since, have a day job, am lazy, eventually getting there, turns out you need to know React, and databases, and being a solo dev is really hard, and so on and so forth.

I’d built some login thing using state machines but it was just square login boxes on a page and I didn’t know where to go next and design is really hard and when you’re trying to build a thing and you realise you don’t care so much about it, man, that’s difficult. So I said to my partner, fuck it, I’m just going to do a totally different thing. My internet was born in the late 90s on SGI workstations, I’m at home at a terminal, the mouse gives me RSI, what if I just didn’t build a GUI? What if I build a command line, that you had to learn?

So that’s where I’m going. I’m building a statechart-backed command-line app. Who knows if it’ll ever work or be a thing or whatever.

I think I need help centralising this thing. See about the standard JD format. I’d love to be able to provide a (free) place for people to store their system that we can all then hook in to. The genius @ekafyi here could hook their system in to it so you can build your system using their tool, then manage it using mine, or someone else’s, or whatever.

This is a hard thing to let go of. I want this to be how I earn a living, at some point. So the natural instinct is to keep it private, but that conflicts with how I feel about the world. It’s not how I want this thing to be.


Back to the wine. My partner just served dinner. x

I typed ‘signup’ and hit enter.

Nothing happened … ???

I should have mentioned that the thing doesn’t actually do anything yet. :upside_down_face:

1 Like


i have not finished styling the forms :upside_down_face: but wanted to deploy before heading out for the night.

  • :white_check_mark: works offline
  • :white_check_mark: data is saved on local browser storage. you can close the tab/browser and won’t lose the data (except on incognito / if browser cache is cleared). no tracking or cookie.
  • :white_check_mark: generate the index in text format
  • :-1:t4: “technically” works on touch devices (ie. mobile, tablets) but not too usable because scrolling with touch gets mistaken for dragging
  • :woman_shrugging:t4: not yet tested on various browsers & OSs

coming soon:

  • finish the form styling
  • add “share” menu for mobile (send the text to email, note, other apps on your phone)

indefinite future plan:

  • improve/refactor the mobile UI
  • skip items called JD-IGNORE when generating to enable skipping numbers (ie. if i want to have 10-19, 20-29, 40-49)
  • option to start from 0
  • import/export backup (ie. quick solution for accessing from different devices / in case you have to clear browser cache)
1 Like

This is amazing! I started testing with my current system (I think it will really help me organize better if I can see all of it in one place, rather than the way I’ve been doing it clicking through each folder trying to figure it out).

It wasn’t very intuitive at first, because I didn’t realize you were automatically adding the area numbers for me (so now I have 10-19 00-09 Metadata & Systems, 20-29 10-19 Finance, etc). Do you have any plans on letting us use 00-09? Maybe have that already added as an “example”?

If you need someone to test on Apple devices, let me know. I have the phone, tablet, and computer covered. :grimacing:

good point about not realizing it’s automatically numbered, thanks!

updated the form UI
Screen Shot 2021-04-18 at 12.19.30

yeah I did consider the 0* numbers (00-09; 00, 10, 20; 00.00, 10.00, 20.00 etc). I decided to start from 1* because the basic “Getting Started” examples in the docs use 1* onward (11-19, 11, 11.01) and only discuss 0* further down as an “advanced” usage.

in the future I might add a toggle option to enable starting from 0.


also on an unrelated note, just realized i cannot edit my original post because (presumably) it’s too old? no longer a work in progress now I guess.

This is great! Now I can stop getting ready to get ready. Being able to move things around, even between areas, is a nice feature.

If we download the Generator as an app, will it notify us if you make any updates?

glad you enjoyed it!

it’s a web app (not Android/Apple Store app), so new updates should automatically run in your installed app.

if you use it on mobile (Chrome/Samsung Android or iPhone Safari), i just added a “share” feature to any app on your phone (eg. save it to your Notes app).

new updates :tada:

  • new feature: share on mobile
  • fix: now usable on phones

new feature details

  • supported devices: Android (Chrome, Samsung); iPhone (Safari)
  • how to use:
    • click “Generate” then “Share”
    • it will open your phone/tablet’s native share options. send it eg. to your Notes app. if your Notes app is synced to iCloud, Mi, Google Keep Notes, etc, you can now simply open the app from other devices to access the generated JD index.

1 Like

note: currently this app is one-way (can generate the JD index in text format from drag n drop interface, but not “load/import” from text format to the drag n drop interface).

load/import feature is in the plans, but tbh i’m too lazy to think of the visual UI right now :grimacing:

1 Like

Even as-is, this is great. You saved me from having to implement my Index in Tiddlywiki. I use Globonote, with an always-on-top sticky note on my second monitor. The Generator’s Copy button gives me a quick paste to the sticky note.

Just my opinion, but there is something pure about the one-way aspect. I think of it as the Single Source of Truth. :slight_smile:

1 Like

FYI: the “Tweet about it” link on the Generator’s pop-up window does not include the link.

1 Like

ooh thanks for letting me know!

Is there an option at all right now to add 00-09?

1 Like

My stored index seems to have disappeared. Is the data associated with browsers? I recently cleared all browser data to attend to an unrelated issue.



Fantastic app, I love it. Many thanks. Couple of questions:

  • I have an Area: 4-Health, with 1 Category: MC-PB. I can’t remember why, but I gave it ID: 42. Your app makes that 41. Is there a way to change that to 42 in the app?
  • Similarly, I have an Area: 1-Apartment, and my 1st Category is 10, the next one 11, etc., whereas the app makes that 11, 12, and so on. I suppose I should change my numbers?
  • I clear the cache regularly, which means the data would be lost. Is there a way to save it so it is not lost upon cache clearance? See also @Anklebuster’s comment below dated July 23.

Here is a workaround from our guru, Johnny Decimal.