Settings

Theme

Show HN: An instantly usable To-Do List desktop Web App, no sign-up/log-in

2doli.st

11 points by cloths 2 years ago · 8 comments · 2 min read

Reader

... by saving data in the URL, base64 encoded.

About a year ago I wanted a fast, simple, throwaway, no sign-up/log-in To-Do List at my fingertips at work, I couldn't find one so I built one myself, in a quick and dirty way.

Recently I decided to release to public, so I rewrote, productise it a bit, added markdown support, added dark mode, added extension for chromium browsers etc, and this is it. May you find this small utility website useful if you happen to need something like this as well.

Some tech & non-tech bullets

- Pure static website

- Data goes up to URL on updating, base64 encoded, non-hashed spa style

- Rewrote with React & Redux

- ChatGPT assistance for markdown parsing, regex and its unit testing

- Playwright for testing

- CDN with AWS CloudFront

Any feedback and comments are appreciated.

----

A note on saving data in the URL, To-Do lists usually wouldn't be too long so saving its data in URL seems a natural fit, plus my initial sketchy research showed ff max URL is 64k and chrome can go MBs. But actually in real world, if you take server and CDNs into consideration, 8k seems to be a de facto limit (https://stackoverflow.com/a/417184), still enough for usual todo lists :)

Previous discussions on HN about saving data in URL, https://news.ycombinator.com/item?id=34312546, https://news.ycombinator.com/item?id=2464213, https://news.ycombinator.com/item?id=20317840

nashashmi 2 years ago

I think you just changed the UI from a bottom floating toolbar (huh???) to a tool menu in each task. Great!

It works terribly in dark mode. Give the icons a white glow.

  • clothsOP 2 years ago

    > a bottom floating toolbar (huh???) Oh that's mobile view, I don't recommend nor do I personally use it on mobile but just my best effort(compromise) to make mobile not a total mess :)

graphitout 2 years ago

I like the tool. Is there a way to make the app move to the middle. Currently all the content appears on the left side.

  • clothsOP 2 years ago

    Thank you. Yes it's left aligned, as each item has a leading checkbox, also item can have children and grandchildren items, indent from left.

    • dikip 2 years ago

      Hi, can you add undo functionality? I like it!

      • clothsOP 2 years ago

        Thank you, oh it comes with it, you just click on "Go back" button on your browser.

        ----

        As I use `pushState()` to update URL for every todo list update, so can rely on browser history for this functionality, I also add change summary to title which is visible from browser history, so if you want to go way back you can right click on "Go back" button to view, or dig out from history.

hunterhod 2 years ago

Why not just store the data in localStorage?

  • clothsOP 2 years ago

    Good question! When I built, I chose URL over localStorage for visibility, with localStorage you'd have to dig into development console.

    But the main reason is self-contain, with data in URL you can easily share your todo list to someone (although it's awkward as the URL would be very long), once they have the URL they have everything they need, this also applies to if you want to save the todo list somewhere and work back on later, maybe on a different browser or after you cleared browser.

    With data in the URL you also comes with undo function by click on "Go back" naturally without me having to implement it.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection