Benjamin Welch

September 21, 2025

Building an app… the beginning

I started learning to program in earnest near the beginning of 2024. I took the excellent CS50 course from Harvard which is online/free every year. A pretty amazing resource. I'm still not a proficient programmer. I couldn't have built Textbooks without Claude's help and it was still a ton of work.

Textbooks is a budget system that you interact with using text messages and it's currently in beta. Email me if you'd like to check it out.

If I was starting over, I would not pick a financial app as the first thing to build. This app is very complicated with a lot of moving parts and it took a while just got get the basic things working. First time around, it's a slog when you can't actually use the thing after 3 months of work.

That said, I pushed through and have no regrets. I was gonna build this thing at some point.

Textbooks was built on Rails. It's just the easiest way to get something working, fast. If I had chosen another framework, I'd probably still be working on getting the basic features to work.

I also tried out Tailwind for the first time and overall, I love it. Totally knew way of working for me. It's really weird at first, coming from an HTML/CSS background but it really is a great system to work with.

Now, Textbooks is primarily an app that you use over text message. It doesn't use AI to talk with you. It does specific things and you tell it what you want to do through texts. Building this system and making sure it works correctly was the largest part of this project.

I used Twilio as my sms service. There are others that are cheaper but it has the best documentation and is widely used. I might switch to something else in the future but for now, this works. The worst part about any of these SMS services is getting approved. I may write more about this in the future.

In order to get this 'conversation' with the app working, I needed to manage many conversation states and process text responses based on the context. I imagine it's very similar to the old text-based computer games like Oregon Trail which ran on Apple II's.

Then I had to hook up these text messages to actual features in the app. You can do quite a lot via text with Textbooks. See a list of commands here: commands.

I also love command line apps or TUI (text user interface) apps which seem to have been making a come back. And given how we interact with AI, it seems like text based interfaces will become more and more common.

I've also learned a lot about deployment and managing the app which isn't something I was interested in at the start and I still struggle with it but has been rewarding. I'll write more about this in the future.

It's been quite the journey to get here. If you're interested in trying it out, I would love to know what you think.