e.g. https://ballertodo.com?n=first;second;third&i=0.5,0.3,0.7&u=...
Then you can just bookmark the link or share w/ someone
The base will be 29 chars (https://ballertodo.com?n=u=i=)
Then each additional todo would be 6 chars (impact and urgency score to 2 decimal places e.g. .65, 1., .7) + the length of the name
So assuming the average to-do name is 14 chars, you can safely fit 98 to-dos in the url ((2000 - 30) / (14 + 6))
If the name is 40 chars, you can fit ~41
I think that will fit 90+% of use cases.
[0] https://stackoverflow.com/questions/417142/what-is-the-maxim...
If you want to add more stuff like images, longer descriptions, some links, etc, then yeah you'll likely need a backend
Here's the website[1] I built with base64 encoding to share weblinks. I've been trying to think of a non-db approach, but haven't found one yet for link shortening.
A takeout as csv or json would also be needed. That could also be the basis for multi-device, which some people undoubtedly will need.
Ideally of course open source it. I am always hesitating to feed closed-source services with my data.