As a self-taught developer, I've built a bunch of projects, but the best are the ones that solve real problems. A real problem that I and many others have faced, is forgetting to feed our babies. Don't worry, not actual babies, but sourdough starter babies! With shelter in place and physical distancing measures to lower the curve, we have a lot less toilet paper and staples like bread in the stores, and a lot more time at home. Consequently, this has resulted in a rise of sourdough baking, and the key to making sourdough bread is starter.
Check out this fun Tweet by Danielle that proofs the rise of sourdough home bakers:
Danielle Baskin@djbaskinThere are two main hobbies in this new world.
Organizing emergency global PPE supply chain logistics in rabbit holes of Slack channels and joining a DIY face shield guild in a system of distributed garages with a 3D printer you only previously used once.13:31 PM - 25 Mar 2020
Starter is live wild yeast used to make sourdough bread. You can make it in your own home with a few ingredients and some time! Making starter is a week-long process that involves a chemical reaction between the combination of flour, water, and air. On the first day, you mix flour and water in a jar and let it sit out with the lid slightly ajar. After 24 hours, on day two, you discard about 95% of your original starter, and replace it with a mix of equal parts water and flour. You repeat this process for an entire week, and at the end of the week, you'll have a bubbly and active starter ready to make you some bread. Here's a video on how to make your own starter.
To keep your starter alive and healthy, you need to feed it every 24 hours. If you forget to feed it long enough, then, well... it dies 😵. So it's important that we remember to feed it! Let's set up a text message reminder to feed your starter baby so you can keep it bubbly and active to make sourdough bread.
- Azure account: We'll set up a free Azure account so we can run our code without having to worry about application infrastructure. You can read more about Azure Functions here.
- Twilio account: Twilio is a platform that enables communication between devices and apps through their cloud communications API. We'll sign up for their free trial to get a number that we can use to text ourselves.
- Visual Studio (VS) Code: We'll be using VS Code for our text editor because we need to use the Azure Extension. You can download it for free from the VS Code Marketplace.
To get started, we'll create a function in our Azure portal by selecting Create a new Resource and then creating a new Function App. You'll need to fill out some basic information to set up your Function. These are some of the options I chose in my setup:
- Resource Group: sourdough-timer
- Function App name: sourdough-timer
- Runtime: Node.js
- Version: 12
- Region: West US 2 (I'm in California, choose your location)
- Operating System: Linux
0 0 15 * * *, which translates to 8:00AM Pacific Time for me. This is when our text message will get sent.
Once our project is created, we'll use this Timer trigger code template.
Next, we'll need to save the following information:
- TWILIO_SID - You can find your account SID on your Twilio home page.
- TWILIO_TOKEN - Your can find your token on your Twilio home page.
- SENDER_NUMBER - Your Twilio number.
- RECIPIENT_NUMBER - Your cell phone number.
We'll access our Twilio credentials and numbers in our code by calling our variables with
process.env, which gives us access to all existing environment variables:
Now that we have our Twilio credentials saved and ready to go, we need to install the Twilio module so our scripts can use it.
Open up your terminal and run:
npm install twilio
If you don't already have npm installed, here are some instructions.
Next, we're going to add the message and our phone numbers.
from, we'll put our
SENDER_NUMBER variables, respectively. As a reminder, we saved our numbers in our Azure configurations so we could access our numbers in the environment with
process.env. This keeps our information secure because we don't have to type our numbers directly in our code which may end up in a public repository.
Now we can add a message to remind ourselves to feed our baby starter in
body. I put "Don't forget to feed me!".
Here's the template code for adding our text message:
Congratulations, your Timer trigger function worked! 🎉 Now you'll start getting text message reminders to feed your starter at your scheduled time.
If you need to put your sourdough baking on pause, you can put your starter in the fridge. This slows down the fermentation rate, so you won't need to feed your starter everyday. To turn off the text message reminders, you can stop your Azure function. When you're ready to make sourdough again, take your starter out of the fridge and feed it to activate it again. Doughn't forget to turn on your Timer function again!
To see the full code, check out my GitHub repo here.
Here's a quick video of me shaping sourdough bread when I was a baker apprentice at one of the best bakeries in San Francisco. With the help of your text message reminders, your starter will be ready in a week and you'll be ready to make sourdough bread!
If you have any sourdough tips or photos of your sourdough, leave a comment.
Happy coding and happy baking! 👩💻🍞