Introducing Taskpony!

submitted by

github.com/digdilem/taskpony

Taskpony is a self-hosted tasks manager that runs from docker or as a linux service.

“Another tasks app? Seriously?”

I’ve been trying to de-google and, having used Google Tasks for many years, replacing it proved surprisingly complex for something that seemed so simple. I tried a number of other task managers, both paid and free which, whilst excellent at what they did, I found to be complex or packed with team and group features that I didn’t need. So I wrote something for myself and, somewhere along the way, I thought it might be nice to share it with the FOSS community that I’ve benefited so much from.

It’s the first “proper” FOSS app I’ve released, so please be kind.

Taskpony is over at https://github.com/digdilem/taskpony - it would be great if you could give it a try and let me know how it could be improved.

18
84

Log in to comment

18 Comments

Been a hot minute since I’ve seen jquery used.

Really wish I could just use jQuery selectors in vanilla js. I don’t need the rest, I just want $ selectors

document.querySelector()?

I guess it is getting on a bit, and it’s no longer required by Bootstrap - but it is still a dependency of Datatables, which I adore.

This looks great. Thanks for all of your hard work and for sharing with the community and public at large!

Thank you for the kind words!

Here’s my PR:

-A small and tidy task organiser 
+A small and giddy task organiser 

Cool!

-I didn't know you could put ```diff blocks here.
+Now I do!

Can I ask what client you’re using?

Voyager but I don’t think that’s relevant.

Mine (Thunder) doesn’t recognize tagging the code block as a specific syntax, it just shows it as preformatted block, with no highlighting.

Is this a carrot or a stick?

🥕🐎

nice work comrade, looks great, maybe i’ll try it out when i fix my pc

It looks nice. I like the clean interfaces. I am slowly working toward self hosting and found it surprising difficult to find a task organizer as well. One big hurdle is having something that can also sync with my wife’s list, such as a grocery list, so we don’t both buy the food item.

I don’t know much about coding. Does a syncable list require a lot of time and effort? Is that something you would consider adding eventually?

Thank you for the kind words.

Syncing is a tricky one. The universal method seems to be using caldav, so Taskpony would need to support that as an endpoint. But I haven’t investigate this as the android side of things is complicated - or at least, I found it so when trying exactly that. You need to install third party software (DavX5 is the most common) - which is listed as both free via fdroid and paid via GPlay. That provides the syncing which is then available to other things on the device. Not an unsolveable problem, but I found it fiddly, and kept being nagged to register software to get it working.

But I made an early decision not to replicate things that are done well elsewhere. Caldav has lots of options, the best I found is Radicale which provides unlimited tasklists and calendars, but has no interface. That does tie in well with Thunderbird on desktop and other things, but again, the syncing problem exists on Android. Vikunja and TaskTrove are good projects that do support caldav and multi-users if you do want to go that route.

I wanted Taskpony to be simple to set up. Run a docker compose command and visit a URL - that’s it for LAN use. No reliance on other software apart from a web browser. I can’t achieve that and provide syncing or multi users, sorry. Of course, you and your wife can just use the same instance of Taskpony and have different Lists for personal or shared tasks, then everything is always in sync.

Thanks for the thorough response. That makes sense to not reinvent the wheel for syncing and keeping things simple. And yeah, I suppose using the same Task Pony instance would work for sharing.

Thanks again for making something useful and free for the world.

Why not provide a option to use an a desktop app?. maybe also add a flatpak. self hosting seems kinda complicated and i am not sure what are the benefits of that.

Also a demo instance would be nice.

It’s a self hosted web app, and that’s not something that’s easy to change once it’s written. The benefits to self hosting are pretty well established, and this type of thing can be accessed from anywhere in the world by multiple devices and always be in sync. For myself, I use this both from a laptop, my desktop and a phone when I’m out - I’m always jotting down thoughts before they fall out of my head. Also, there’s probably a lot of desktop task apps out there already that do tasks, like many Email clients. I don’t mind reinventing a wheel, but not too keen on reinventing all the wheels.

Demo is a fair point, I’ll include that on the wishlist for the future. I think the pictures probably do a fair job of indicating how a task app works - which is basically a way of entering, displaying and ticking off tasks which many people will be familiar with, but perhaps I’m just over familiar with the concept. A self resettable demo might be nice, yes.

Comments from other communities

Built in Perl. Wow. Don’t see that much anymore.

Indeed, but I love writing in Perl and it still works great. It’s a shame it’s not more widely used.

Ah shit, you called it pony. 👈🏻 You son of a bitch, I’m in.

Awesome! I setup an instance from when you did the first release. I’m really enjoying it’s simplicity and using it daily.

Aw :(

I’m on a shitty Xiaomi Android, using Firefox, if that matters.

Great that you’re using it!

And yes - sadly koyeb’s demo went down as I posted this link. I’ve quickly thrown up another demo here; https://taskpony.onrender.com/

Nice!

Although, unfortunately, a problem immediately presents itself: no notifications. I’m assuming that’s at least very difficult to implement if you’re trying to make it system agnostic? I’m scatterbrained and WILL forget any tasks exist if they don’t pipe up every once in a while. So this doesn’t really work for me, sorry :(

Thanks for the feedback, always interesting to hear how people might use a tool like this.

I do have email notifications in the roadmap, but to be honest, I’ve struggled to visualise how that might work for two reasons:

1) One of Taskpony’s goals is that it’s as easy to install and run as it could be. Configuring email settings takes a lot of detail (especially when running in docker where you can’t rely on a local smtp). I’ve thought about other tools like ntfy.sh, which I love, but the whole ecosystem of dozens of systems and tools for DM style notifications is too wide to support.

2) I wouldn’t use it like that, I’d use a calendar for distant events, and there’s no plans to support “Task must be done by” style timers, as again, I think the interface would get too complex. I keep Taskpony in a tabbed browser, and also as one of my daily bookmark folders, so it shows up regularly enough to show me.

Out of interest, how would you use notifications, or see how they’d work? Are you thinking of browser notifications? And if so, on what logic might they trigger?

I really wouldn’t want to impose my way of remembering stuff onto you. I’m still looking for any task list…. thing…. that really helps me stay on top of things, so just so you know: nothing else has hit the spot either.

Any notification that is trying to help me needs to be as annoying and intrusive as possible. I just found an app to remind me of my meds that does full phone screen notifications with very annoying sound that you cannot easily dismiss without telling the app when to remind you next and I love it. So that might serve as a benchmark. (If it makes my watch vibrate that’s a definite bonus)

But: Please don’t feel like you need to cater to my needs. I’m ADHD, I have special needs. Unless you’re developing an app for neurodivergent people, I’m not your target audience. L

Develop the thing you would use.

WebPush could be implemented.

A ir-gapped - Entirely self-contained. Runs without internet access, external services, or tracking

Yet, has a dockerfile.

Which is it? Iso27002 or no?

It doesn’t need the Dockerfile to run.

Insert image