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.
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.
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:
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.
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.
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.
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)
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…).
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”?