Happy Monday, everyone!

We made it to the 34th issue! Thank you to everyone who read last week’s issue ❤️

📆 Today I’m featuring Chris Hannah.

Chris is the creator of Text Case. Text Case is a text transformation utility that can be as powerful as you make it. The app is available on both iOS and macOS and is integrated very well into both platforms. Text Case provides Shortcuts and Share Extensions on iOS along with Services and Share Extensions on macOS. These integrations make it super easy to perform the text transformations that Text Case provides 😊 Text Case provides over 40 formats and there are always more comings. Some of the formats adjust the casing of text or capitalization. There are other groups of formats that help with developer related tasks like URL encoding, Base64, or HTML and Markdown operations. But some of my favorite are Clap Case, Emoji, and Mocking Spongebob 😝 I’m a relatively new user of Text Case but I wish I would have been using it sooner. I could have used it to help me keep consistency in the casing of my blog post titles 🤷‍♂️ It’s such a great utility and you should all check out Text Case today 💪

👉 Please make sure to follow them or support them anyway you can! 😇 I’m excited to share their indie dev stories.

Indie Devs

Chris Hannah

Hertfordshire, UK

iOS developer at WorldFirst and creator of Text Case

Chris Hannah


1) What is your name? Where do you live?

I’m Chris Hannah, and I’m from Hertfordshire, UK.

2) Introduce yourself. Education? Background? Main job? Interests outside of tech? Interests inside of tech?

I’m not sure where to start with this one, as I didn’t exactly follow a straight path. Mainly because although I wanted to make things with computers, that’s all I really knew.

So after I finished secondary school (I guess high school equivalent), I completed a short IT apprenticeship, where I was basically force-fed a ton of Windows knowledge for 6 months, spent a few years in random jobs, and eventually got myself to university to study Computer Science.

During this whole time I was exploring my various hobbies: photography, game development (mainly pixelated flash games), writing for my various blogs, eventually app development.

After I finished my degree, I was lucky enough to jump pretty much straight into an iOS developer role at WorldFirst. My role has changed slightly over the past few years since I’m doing a combination of app development and also some stuff on our backend. But it’s nearly been four years, so I guess I’m doing something right.

3) Have you ever considered yourself an indie developer?

I’m not quite sure I have. Maybe when I first started releasing (really poor) apps in 2014 I guess I would have done. But I wouldn’t class myself as one anymore, since most of my time is spent at my day job.

4) What got you started/interested in creating your own applications outside of your “normal” job?

I think it was the thought of exploring a new platform, it just felt like there was a ton of possibilities with the iPhone, and I wanted to just see what I could come up with.

5) How do you balance your time between friends/family, work, hobbies, and indie dev?

To be honest, I’m not sure if what I do can be classed as being balanced in any form. I tend to just do everything in bursts, whether it’s having fun with a hobby like photography, working on an update to Text Case, or spending time with friends. I’m not too sure it’s a long-term solution though.

6) Text Case - I slightly embarrassed that I just recently discovered Text Case 😩 I’ve been manually making some of these text formats when I didn’t need to be doing this. When did you start making Text Case and when was it’s initial release? How long have I been missing out? 😅

I started working on Text Case in early 2018, and it was released in July the same year, so it’s been around for quite a while. Although I wouldn’t say you’ve been missing out for the whole time. As the first release only featured 7 formats and a very basic design. It’s certainly evolved over time.

7) Text Case - The most useful to me are probably going to be URL encode/decode and Base64 encode/decode but I think my favorite is going to be emoji and clap case 😛 How often do you add new formats? Where do you get your ideas for new format from? Can I suggest a “typo format” where you randomly jumble / misspell some words? Typos are kind of my thing

For a while, I was adding formats that seemed to make sense to me, and usually in groups. For example, in one version early on, I expanded the Title Case format to have four variants, and in another, I added a bunch of Markdown related formats. But I’d say that on average every few months I’m adding another format or two. Right now there are 53 formats, so that’s a big jump from the start.

A big chunk of them come as recommendations, which is super helpful to me as there are obviously so many use cases that I just won’t be able to come up with myself. A few examples that I’ve added after requests are ROT13, Italic, and Small Caps. A typo format does sound like it would be a fun thing to work on, so you might see that added in the future!

8) Text Case - The “Flows” feature is really well done! Putting a flow together is super easy and feels a lot like building Shortcuts. It’s very native iOS feeling 💯 My current flow favorite flow is Uppercase -> Clap Case -> Emoji -> Reversed which… has no real purpose but its super fun 😛 What are some common flows that people build and use?

Thanks a lot! Shortcuts was my main source of inspiration for this one. I know that a lot of people use Text Case solely via the Shortcuts app, but I wanted to at least have some form of automating combinations of formats inside the app, and that’s where the idea of flows came from.

I’ve had a lot of feedback about individual formats, but not so much on what flows people are creating. However, from what I have seen, they tend to follow a certain pattern, where the input is cleaned with something like “Trim Whitespace”, and then formatted into something like “Title Case”.

It’s also how I tend to use flows too. I have a few for when I’m writing a blog post and want to format a title properly, generate a slug from a title, and to also get a quote in the right format.

9) Text Case - I think the macOS feature that I forget the most is the Services menu. I hate that I forget about this because it’s so easy to get to. I was so happy to discover that Text Case can be used through the Services menu 🥳 I was so guilty of going to a random website with terrible ads when I needed to Base64 or URL encode something “quickly”. No question here but have this 🏆 for making my day to day work a million times easier!

I’m totally with you on this one, it’s a feature that I’ve ignored myself for quite some time. It’s the main reason why Text Case has only just gained support for the Services menu.

But now I’ve implemented it, I can actually see the benefits, and I should probably look at what other apps support it too.

10) Text Case - What has been your favorite part of building/maintaining/releasing Text Case?

The best part for me is when someone tells me about a certain use case that I just wouldn’t have thought of, and I get to add it to Text Case. Because although I can search Google for common text transformations, it’s so much better to tailor them to specific scenarios. And that way I know it’s helping someone, which is the sole purpose of the app!

11) Text Case - What’s next for Text Case? Any new features you can share with us? 😁

I haven’t got any big plans for the near future. I think what I’ll do is wait until WWDC to see if there are any new possibilities for Text Case. There’s already support for Shortcuts, a Share Extension, and macOS Services, but I’m always looking for ways to make the transformations available in as many places as possible.

I’ve got a few new formats in mind that I’ll work on soon, mostly ones that can be customised with parameters. I’m thinking of things like regex based replacements and custom character/word separators.

12) What’s been the hardest part of being an indie dev? What the most fun part of being an indie dev?

For me, the hardest part is also what I find fun, and it’s the freedom that comes with being independent. Because on one hand “Wow, I can do what I want!”, and on the other “I can literally do whatever I want, so what do I actually want to do?”. It’s probably why I work best in bursts, I wait until an idea pops into my head and I get working.

13) Is there anything else you’d like to tell the indie dev community about you?

I think I’d just encourage more developers to share their progress as they’re working on their projects. It’s fun to see as a fellow developer, and also as a user that’s excited to see what’s coming next.

14) Do you have any other indie devs that readers should follow / lookout for?

These developers aren’t unknown in any sense, but here are a few whose work inspires me to make better apps:

Thank you to everybody who made it to this footer! You either spent the time to read or took the effort to scroll 😊

Make sure to visit https://indiedevmonday.com/subscribe to get an email of future issues!

And go to Twitter and give @IndieDevMonday a follow… or multiple follows if you manage more than one Twitter account 😜