Danielle Johnson

Wherever the adventure takes her
Co-founder @SquarecatWebDev • Maker @LeaveMeAloneApp

Who are you? Where are you from and what is your backstory?

Hey, I’m Danielle! I’m a digital nomad and indie maker from the UK. I studied computer science at University, worked at the UK Government for a year and did a stint in the startup scene in Bristol before deciding to leave it all behind and travel the world.

I have now been travelling for over 2 years with my partner, best friend, and fellow developer James.

What made you get into programming?

I had a computer from an early age which I would use to play games such as Roller Coaster Tycoon and Theme Hospital. I wasn’t a super young coding genius and I only started programming when I was 18!

My first introduction to coding was thanks to my boyfriend at the time. He was studying Software Engineering at University and he started teaching me some C++. With his guidance I wrote my first program but I remember finding it very frustrating and I didn’t understand a lot of what I was doing.

Unfortunately that boyfriend suggested I didn’t have enough problem solving skills to be a developer. I didn’t develop an instant passion for it and I didn’t try programming again for a couple of years.

When I was 20 I had just dropped out of a Law and Criminology degree, moved back to the village where I grew up, and started working in a local shop. My life needed turning around and I decided to dip my toes back into the programming pool and submitted a last minute application to study Computer Science.

I was accepted and this time, with the right support and encouragement, I fell in love with coding. I finished 4 years at University and was lucky to land a graduate job with the UK Government!

What made you create Leave me Alone?

James and I find managing emails a huge drain on time and productivity. Spam emails plagued us daily and it we wanted a service which would show all of the email lists we were subscribed to and allow us to unsubscribe easily. We found a few services that would help us for free, but a closer look revealed that they make their money by selling all of your data for marketing purposes.

Faced with the dilemma of a messy inbox or all of our data being exploited, we decided to build Leave Me Alone - a privacy focused email unsubscription service.

We quickly whipped up a prototype and released it to a small set of beta users in the maker community (Women Make and Makers Kitchen). The feedback was overwhelmingly positive which validated the idea. This motivated us to continue developing the service so that we could release it to the public and help people clean out their inboxes without compromising their data.

What does your process for learning to code look like?

The best way to learn is by doing. It’s almost as simple as that! There is no magic process and everyone learns in different ways.

I learned the majority of my core skills from my University degree and since then I have built on that knowledge when my job or an idea I’ve had requires me to learn something new. For example, when ReactJS was first released I learned that by building an app to create release pages from your GitHub release notes (***ReleasePage***). I’ve recently picked up GatsbyJS and a little GraphQL by rewriting the Squarecat website using it.

I don’t feel the need to constantly learn the latest framework or technology that’s just been released. I enjoy learning new things but when I have an idea for a new product I use what I already know unless there is a part of it which I can’t do with my existing skills.

What does your process for building apps look like?

Nearly all of my idea or apps have come from solving a problem that I have every day. If you build apps to solve problems which you personally have then you are already well informed about the problem and are the ideal first user. There’s not much point trying to build a product for a problem you don’t understand.

I think the most important part of building an app is getting early validation from your users. My first step is to build an MVP or prototype that has the core functionality and does it really well. For example, for Leave Me Alone we built a very basic version of the app which would just list all of the subscription emails you had received in the past week and let you click a button to unsubscribe from them.

I then release the product idea within the community (Makers Kitchen, Women Make, and Twitter) to get feedback and determine whether the idea is good and will stick. A lot of people suggest that this is the best time to launch and that you can add features later. I believe in shipping early but I have had more success adding a few more finishing touches to an app, getting a user base first, and then launching.

Do you face any particular challenges when building over a period of time?

My biggest challenge is always having good enough internet to build and deploy! We are in South America right now and the internet is frankly, terrible. This means that we travel slowly and plan our big internet days (like launching) in advance.

Once the product is launched the hardest thing is keeping that momentum going and deciding which features are the highest priority. I usually prioritise features by how much time they’ll save me (e.g. by reducing support requests), and how many more users they’ll allow us to reach (e.g. by scaling horizontally - for LMA this means adding support for more email providers).

Are you currently learning anything new?

I am always learning! I am not studying anything right now but I have just learned about React Hooks, GatsbyJS , and GraphQL by using them in my latest projects.

I’ll continue to advance my knowledge of React Hooks and keep up to date with the fantastic changes the React team regularly release.

Advice for those learning to code?

The best advice I can give people is to stick with it. It’s not easy, it will be frustrating, but the feeling you get when something works is always worth it!

By total comparison if you’re really really hating it then don’t force yourself to code. Not everyone loves it and it’s okay to admit that it’s not for you. You can still build things without learning to code!

What’s your tech stack?

- MongoDB

- Express.js

- React.js

- Node.js

- IDE - VSCode

- Terminal - iTerm

I always develop using the MERN stack above. If I am creating a static site I use Gatsby, otherwise I use Create React App.

What have been influential books, resources and links that have helped you?

- The 4 hour work week is a book that started it all. It got me thinking about the idea that I didn’t have to work for someone else in an office for the rest of my life.

- Brotopia is an incredible book that really opened my eyes about the origins of the problems women in tech face and how prevalent they still are.

- Make and Shine is an excellent guide to personal branding and really helped me figure out how to promote myself better!

For programming resources there is React hook recipes guide really helped with learning and understanding the new React Hooks.

Where can people learn more about you and your work?

I am the co-founder of web development agencySquarecat Web Developmentwith my boyfriend James.

Together we have made:

- Leave Me Alone - easily unsubscribe from spam emails

- MakerAds - unobtrusive ad network for makers

- UptimeBar - MacOS notifications when your websites go down

- ReleasePage - beautiful pages for your release notes

- Twitter Search Fixer - fix Twitter search by not accidentally clicking on #hashtags

You can follow me on Twitter @dinkydani21, check out my tech musings on my ***Squarecat Development Blog***, and read about my travel mishaps on my ***Squarecat Travel Blog***.

Read more interviews →