Josh Pitzalis

User Retention Strategy

Page 3


Landing Page Fundamentals

A landing page helps people understand what your product does and why someone should care about it. People of the internet have been building landing pages for a while now and they have established a pattern that works. Don’t deviate from this pattern unless you have a good reason to. Save the fancy stuff for the rest of your marketing efforts.

Strong headline

Imagine a five-year-old finds your product and asks you what it is. Based on your response the child should understand what your product does and who it does it for. Prioritize clarity and brevity.

Supporting byline

Now that the child understands what it does, explain how it does it in ten words or less.

Core benefit

Imagine the five-year-old challenges you and asks you why someone would need your product. Explain the biggest problem your product solves for them.

Top features

The five-year-old is somewhat convinced, but...

Continue reading →


Accountability Group Success

About two weeks ago, I came up with an idea for a remote accountability group. You get on a video call once a week and a group of strangers help each other set professional goals and stick to them. I posted the idea on Reddit with a link to a google form and 50 people signed up in the first week. That was a slightly better response than I was expecting.

There was no mention of paying for anything, so its not an indication of a viable business. But there was a response to the idea, which is a good start, it indicates that people who work for themselves do want help with accountability from a community.

So the next step was to build it.

There was a similar group that started on Indie Hackers. I joined that to support the idea and to see if we could join forces. We had our first call and it went really well.

Then Sumukh, my partner, set up Doodle to figure out scheduling for everyone...

Continue reading →


Validating The Accountability Group Idea

The idea is to see if freelancers will pay for a remote accountability group. A weekly call with other freelancers with roughly the same level of experience and similar professional goals. Each week you help each other set professional goals and stay accountable to them.

The business model is straight forward, $20 a month for one group call a week.

I thought of the idea by combing through the first 100 posts on the freelancer subreddit. I shortlisted any post that complained about something.

I managed to bucket most complaints into 3 broad categories, one of those categories was accountability. It’s easy to get distracted when you work for yourself, it’s always easy to push work to tomorrow, to watch Netflix instead of doing something important. This problem is not clear cut, accountability is just my label, the actual complaints were a mixture of loneliness, isolation, distraction...

Continue reading →


An accountability group anyone?

Working for yourself can be lonely and isolating, now more so than ever. I think spending some time with a team of people that support you professionally, even if you don’t work with them, would really help. In the short terms, because of the lockdown, but also in the long run.

The idea is one focused weekly call with 4-6 other professionals who work in a similar field and have similar goals. You each get 10-15 minutes to explain what you do, what your current goals are, and what your current obstacles are. I’ll do my best to only match people with others who have similar levels of experience.

The idea is that it will help you stay on track by setting your professional goals and then stay accountable to them through the coming weeks and months. It is also a chance to give and /or receive professional guidance, feedback and support.

If you would like to join, please fill it out and...

Continue reading →


Reaching out to people and finding work as a freelancer

I started my freelancing career as a personal trainer. The easiest way to get started as a personal trainer is to work for an agency. They take a cut of your profits, but they set you up in a gym and show you the ropes. Showing me the ropes meant a two-day workshop on how to find and work with clients. I did the workshop over a decade ago, and the one thing that stuck with me was something called the 6 by 6 promise. They promised that if I did one of six specific things for six hours a day, I would be fully booked with paid clients in 2 months. I used this approach to successfully find clients when I first started working in a gym, I used it again when I set up my own clinic years later, I used it again when I switched careers and became a freelance software engineer.

They gave us a pdf at the end of the workshop, and I’ve held onto it so I can actually show you the original diagrams to...

Continue reading →


Freelancing as a five-step process

freelancing in five steps.png

Being an independent contractor lets you make a living making the difference you want to make in the world. Nobody gets to tell you otherwise. You can decide what you do, how you do it and who you do it for.

You are still subject to the realities of the market. You can decide to make paper aeroplanes for a living but if no one pays you then you don’t have a service. Provided that there is a market for what you want to do, freelancing means being free to make your own choices about how you do it and who you do it for. Nobody can stop you.

If there is a change you want to help people make, you can think about helping them make that change as a five-step process:

  1. Creating an offer. This covers what you will do for them, how you do it and who you do it for. It should also cover what you won’t do and who you won’t do it for.
  2. Building a network. This means putting a list of potential...

Continue reading →


Week Ten

I’m building a product called Client Tree. It’s an app that helps freelancers find clients by word of mouth.

I’ve been tracking user retention to guide product development. Retention measures how many people come back and use an app after they first sign up.

Screenshot 2019-12-30 at 5.37.21 PM.png

At the moment, you can see that 20% of the people who sign up continue to use the app a week after they create an account. These people continued to use the product for about 6 weeks and then stopped using it altogether.

To try and fix this I implemented a fancy email onboarding feature and something called a hustle meter about 3 weeks ago. Both features seem to have had no impact on retention.

I am not happy with how I am measuring the impact of the features I am building. I don’t know exactly what impact the email onboarding feature and the hustle meter had.

What I would like is to be able to compare the retention scores of...

Continue reading →


Why in the world would anyone want to freelance?

This is a caption

Being an independent contractor is a shit ton of work. You have to do what you do, and then run a business at the same time.

If you thought freelancing was an easy way to start making some money on the side, you are wrong.

If all you want to do is be paid to do something you love, you are better off finding a job. You’ll get a nice, steady pay-check at the end of every month, and plenty of time to practice the skill of your craft.

Freelancing only makes sense if there is a change you want to make. As an independent contractor, you get to make a living making the difference you want to make in the world. Nobody gets to tell you otherwise. You get to decide who you work for, what you do, and how you do it. Freelancing means being free to make your own choices, choices that you are ultimately responsible for.

I’m putting together a free online course that helps you avoid a lot of...

Continue reading →


React Testing Library and Redux Observable

You can use the test scheduler to test sequences in epics but integration testing breakdown if you don’t include redux observable in your test redux wrapper.

Here is how I successfully managed to integrate redux observable with react testing library by mocking out the store. This wrapper replaces the default react-testing-library render method with a render method that gives components access to redux, react-router and redux observable in a test environment.

import React from 'react';
import { render as rtlRender } from '@testing-library/react';
import { Router } from 'react-router-dom';
import { createMemoryHistory } from 'history';
import { createStore, applyMiddleware } from 'redux';
import { Provider } from 'react-redux';
import { createEpicMiddleware } from 'redux-observable';
import { rootReducer, rootEpic, dependencies } from './store';

function configureStore(initialState) {
...

Continue reading →


Redux Observable Loops

You can make redux complicated but at the most fundamental level, you have a view layer that lets you fire actions that can update the state. There is middleware and actions hit reducers which update the store, but let’s consider those implementation details. Practically speaking, it’s a tiny action loop where View > Action > State.

Redux observable introduces a separate action loop that runs alongside the tiny loop. The view layer lets you fire actions that trigger epics, which can fire off more actions, that can update the state. So it’s View > Action > Epic > Action > State.

This diagram helped me put all this all together.

PNG image-0FBFB8DA8517-1.png

A few important details:

  1. All actions will run through the tiny loop before they run through the epic loop.
  2. All Epics must return an action or it’s doom.
  3. If your epic returns the same action it received, you will create an infinite loop of doom.
  4. If your...

Continue reading →