TaskRatchet Development Updates

@zedmango Glad you like the logo! :smiley:

Yup, so basically what I’m trying to do is find a path towards building a full backend that will allow me to go step-by-step from what I’m doing now, fully manual, to whatever we discover the service should look like in the end. So:

  • That path should allow me to automate pieces of the service as I have time.
  • I should be able to have some level of confidence that it will lead to a solution that is cost-effective.
  • I also should have some level of confidence that it won’t restrict what client applications can be developed in the future.

I just sent out this email to all the alpha users:

Hi, all. :slight_smile:

Just wanted to give you a quick update. With my current situation, running the alpha manually is not sustainable, so I’m having to put it on pause temporarily. So here’s what that means:

  • I’ll continue to keep you accountable for any tasks you’ve already given me, but I won’t be taking any additional tasks or sending out morning emails.
  • I will be continuing to work on the project, and hopefully I’ll be able to reopen the alpha soon.

Thank you so much for joining the alpha right out of the gate. You guys have been awesome, and I’ve learned so much already.

If you have any questions or concerns, please let me know and I’ll do my very best to help you out.

Also, I’d love to do an interview with every one of you to get your feedback on how the service has (or has not) worked for you so well, as that information will be golden as I continue to develop the product.

Thank you again!

2 Likes

Good news! I’ve officially quit my job, so from now on I’ll be spending my time contracting and working on TaskRatchet. So development is resuming.

I’ve also created a public Trello board with community voting that I’ll be using to keep track of TaskRatchet development tasks:

3 Likes

yay! congrats! being your own boss is the best.

the board looks cool - how do we vote?

1 Like

You have to be logged into trello, but you shouldn’t need to be a member of the board. Once you’re logged in, you should see a voting button when you view a card:

Of course, your view will look different since you won’t be a member of the board, but the vote button should still be there.

so what are we voting on?

You’re voting on tasks and features you’d like to be prioritized.

is it multiple choice? what are the current options?

You can vote for as many cards as you want. Each card is a feature, a task, a bug, etc. So if you would like one card to be prioritized, you just open the card and vote for that card.

so voting for all the cards would be nugatory?

“If everyone’s special, then nobody is.” - The Incredibles

Beyond showing that you’re super excited about the project and agree with the direction I’m headed completely, yeah, it wouldn’t be a very clear signal. :wink:

Of course, everything on the board right now is basic plumbing which needs to happen regardless of what people vote on. I imagine voting will be more interesting when there are more optional features on the board.

2 Likes

Well I am very excited about it!

Don’t forget my wish list… can I vote on any of this yet?

1 Like

I’ve added all your ideas to the backlog. :slight_smile:

Yay! There’s also this one:

  • cancellation is not allowed if more than 10% of the time from goal creation or autorollover to deadline has elapsed

@zedmango Added. :slight_smile:

Quick dev update: I’ve been consistently spending 2 hours / day working on the API, and I’m quite happy with the rate of progress. Some of the things I’ve completed so far:

  • Configure Google Cloud Functions staging and deploy scripts
  • Set up unit testing
  • Add local dev environment configurations
  • Build generalized IoC container class
  • Add project to CircleCI for continuous integration
  • Configure the project to connect to AirTable as the initial database
  • Set up API routing and start on first two routes (/users and /users/{user_id}/tasks)
1 Like

Another update:

Still focusing hard on the API, trying to get enough done to where I can restart the alpha. The biggest piece of what I’ve been doing is building the morning email route, which will end up being used to email users a list of their incomplete tasks each morning, according to their timezone. I’ve already got the route sending the emails with a task list inside. In the case of overdue tasks I still need to add a paragraph to the email telling the user what’s going on. And I also need to set up the system to only send the morning email to users who haven’t yet received a morning email that day according to their timezone. Then I can configure Google Cloud Functions to hit that route, say, every hour, and I should be all set.

I’m thinking once I have those morning emails automated, I may be able to restart the alpha right away. At that point, I’ll focus on building a CLI client for power users, which can then inform future development of additional clients (web, Android, iOS…).

Can it be configured to email users a list of incomplete tasks at designated times? Like if I want lists sent to me at 8 am, noon, and 5 pm?

Ideally I’d want a widget on my Android that shows all incomplete tasks that’s always up to date.

1 Like

Right, we definitely want that to be a thing. Here’s how I’m thinking things will go:

  • Right out of the gate, there won’t be a way to do that. Your best bet is emailing me and asking for the list again.
  • ASAP, I’ll build that CLI client, which will also mean building out the user-facing API, at which point you could code up something to send more emails to yourself, or whatever else you can invent given a REST API.
  • Next will be a web client, which I plan to build as a progressive web app, meaning you’ll be able to add a link to it to your home screen on Android (and maybe iOS?).
  • At that point I’ll be looking at building Android and iOS apps.

I wish I could tell you I’ll have something for you right out of the gate, but it’s a long road, and I think the progression I’ve marked out will be the most efficient approach since it allows me to leverage what I’ve built in previous steps.

On a side note, here’s a sneak peak at what the emails may look like initially:

I don’t understand the “Late Task” one. Why is it “do the task or pay” when it’s already late? Shouldn’t it say “Late Task not done by June 18, 2019 at 05:18 AM - charged $1.00 on June 19”?

1 Like

Yes, you’re right. :slight_smile: I’ve added that to my list of tweaks to make.