Show HN: An instantly usable To-Do List desktop Web App, no sign-up/log-in
2doli.st... 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 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. > 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 :) 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. 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. Hi, can you add undo functionality? I like it! 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. Why not just store the data in localStorage? 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.