alexmojaki / futurecoder

100% free and interactive Python course for beginners
https://futurecoder.io/
MIT License
1.27k stars 132 forks source link

Marketing #177

Open alexmojaki opened 2 years ago

alexmojaki commented 2 years ago

I recently posted futurecoder to reddit and the result was very disappointing. This issue is to discuss how to make future posts on other sites (e.g. Hacker News) more successful, and more broadly how to market futurecoder effectively to reach potential users and contributors. This is really critical and I'm way out of my depth here so I really need help and advice.

Here's the marketing bigger picture as I see it. There's a huge number of free online resources for learning Python for beginners. The market is completely saturated. If you google futurecoder or future coder then that works, but I don't think there's any hope at the moment of people finding futurecoder if they don't already know about it. Showing up in generic search results seems completely out of reach for now and I can't imagine what SEO would accomplish.

I don't really know how to realistically get users and recognition. One way I can imagine is to get mentioned in prominent blogs and articles like "Top 10 ways to learn to code for free" or social media posts of people with lots of followers. Similarly it'd be great if educational organisations decided to use futurecoder for teaching. So I'm hoping to generally attract attention and get people to notice and be impressed by futurecoder and hopefully a fraction of those people will be prominent figures that can help push it further.

So I'm a bit confused about my target audience. My actual users are supposed to be novice coders, but they're not really the people that I want to get talking excitedly about futurecoder. And I don't know how to find the people I probably need to reach or get them to pay attention. I want to reach people who will think things like:

An important paradox to note: While reaching teachers and institutions is good, a major goal of futurecoder is to enable people to learn on their own without needing external help. For example, users can always access the solutions to exercises, which is obviously a problem in some classroom environments.

When posting to reddit or HN, it gets more complicated still. There I think the priority is to maximise upvotes so that the post reaches the top and stays there for a while, improving the chances of it being eventually noticed by someone who might make a real impact. So I'm aiming for mass appeal. Factors in that:

With that in mind, here's a breakdown of what I was aiming for in the reddit post title:

I built futurecoder: a free interactive Python course, including an IDE with enhancements useful for any developer or teacher, all running in the browser

Questions to discuss:

anaisconce commented 2 years ago

If you have a little bit of budget, Google Ads on search terms would be a good way to go! You don't have to invest time in SEO, you just bid for the ad spot at the top of search results. You can also test different ad copy to see which words work best, then construct social media post titles based on those results.

Also, experiment with not including the audience in the title so no one opts out if they think it's "not for them". Maybe they don't consider themselves a developer yet, or maybe they're active in the teach-yourself-to-code space, but don't consider themselves a teacher.

Finding influencers is a great idea. I just looked at YouTube real quick, but there's so many platforms to dig in to. Short list to get started! πŸš€

https://www.youtube.com/user/programmingwithmosh https://www.youtube.com/channel/UCxX9wt5FWQUAAz4UrysqK9A https://www.youtube.com/channel/UCdngmbVKX1Tgre699-XLlUA https://www.youtube.com/channel/UC2UXDak6o7rBm23k3Vv5dww https://www.youtube.com/channel/UCAxnMry1lETl47xQWABvH7g

alexmojaki commented 2 years ago

Also, experiment with not including the audience in the title

I'm scared to experiment with anything in these posts. I feel like I have to get it right the first time. If I post repeatedly I'm worried I'll be flagged for spam.

Also, what does a good title that doesn't include an audience look like? I can't see what that would mean.

Finding influencers is a great idea.

Any advice on how to get a shout out from them? I don't know how to get people to not dismiss my emails, especially if I'm asking for something from them.

anaisconce commented 2 years ago

Experiment in google ads and see which ads perform best. If you have no experience with this, I'm happy to walk you through it!

A good title without an audience would be something like...

I built futurecoder: a free interactive Python course + enhanced IDE that runs in the browser

^ If this relevant to someone, whoever they are, they'll hopefully click to learn more.

You could also try a mini story.

I looked for a free, interactive Python course + IDE that works great in browser and found... nothing. So I built one: futurecoder

As for influencers,

You don't need to do all of these, of course. Just ideas to try. It is time intensive. πŸ˜…

sklzthtklz commented 2 years ago

I recently posted futurecoder to reddit and the result was very disappointing. This issue is to discuss how to make future posts on other sites (e.g. Hacker News) more successful, and more broadly how to market futurecoder effectively to reach potential users and contributors. This is really critical and I'm way out of my depth here so I really need help and advice.

Here's the marketing bigger picture as I see it. There's a huge number of free online resources for learning Python for beginners. The market is completely saturated. If you google futurecoder or future coder then that works, but I don't think there's any hope at the moment of people finding futurecoder if they don't already know about it. Showing up in generic search results seems completely out of reach for now and I can't imagine what SEO would accomplish.

I don't really know how to realistically get users and recognition. One way I can imagine is to get mentioned in prominent blogs and articles like "Top 10 ways to learn to code for free" or social media posts of people with lots of followers. Similarly it'd be great if educational organisations decided to use futurecoder for teaching. So I'm hoping to generally attract attention and get people to notice and be impressed by futurecoder and hopefully a fraction of those people will be prominent figures that can help push it further.

So I'm a bit confused about my target audience. My actual users are supposed to be novice coders, but they're not really the people that I want to get talking excitedly about futurecoder. And I don't know how to find the people I probably need to reach or get them to pay attention. I want to reach people who will think things like:

  • I should recommend this over other learning resources.
  • I should use this to teach.
  • I like the vision and the approach of this project, I want to contribute to it.
  • I should share this with my friend who's interested in coding education, maybe they'll do one of the above.

An important paradox to note: While reaching teachers and institutions is good, a major goal of futurecoder is to enable people to learn on their own without needing external help. For example, users can always access the solutions to exercises, which is obviously a problem in some classroom environments.

When posting to reddit or HN, it gets more complicated still. There I think the priority is to maximise upvotes so that the post reaches the top and stays there for a while, improving the chances of it being eventually noticed by someone who might make a real impact. So I'm aiming for mass appeal. Factors in that:

  • Visitors have all sorts of interests, only a fraction care about education.
  • It's easier to engage people with something that's directly useful/interesting to them rather than an opportunity to help others.
  • Regular visitors of r/Python probably already know Python or have already picked a method to learn it. A few people may come to r/Python looking for resources to start learning, but trying to catch people on their first visit doesn't sound like a good strategy. From the comments it seems I did do that though, which was a pleasant surprise.

With that in mind, here's a breakdown of what I was aiming for in the reddit post title:

I built futurecoder: a free interactive Python course, including an IDE with enhancements useful for any developer or teacher, all running in the browser

  • "an IDE with enhancements useful for any developer": trying to sell it to all readers as something they can personally benefit from even if they're experienced programmers. Birdseye, Snoop, and the enhanced tracebacks are all genuinely useful and unique tools and the IDE makes them super convenient. I clearly failed to communicate this as a selling point completely separate from the course but I don't know how to balance that with keeping the title short. Here's how I expanded it in the 'body' comment:

    • Useful for anyone: You can have the above without having to look at the course. IDE mode gives you an instant scratchpad to write and debug code similar to repl.it.
  • "or teacher": keeping in mind the paradox mentioned earlier, the point here is that the IDE is useful in a classroom even when separated from the course, so teachers can use futurecoder to teach their own syllabus.
  • "all running in the browser": was meant to catch people's interest from a technical/academic perspective, as in "how did he do that?" and "how can I do that in my project?" even if they don't care about education or the IDE.

Questions to discuss:

  • Which target audience(s) should I prioritise?
  • Which benefits/selling points of futurecoder are:

    • Most relevant to the target audience?
    • Most exciting?
    • Easiest to explain concisely?
  • Based on the above, what would the ideal post title be?
  • More generally, what should I be doing to promote futurecoder? Note that I'm feeling a bit burned out by futurecoder at the moment and I'm finding it hard to continue investing time/energy. On the other hand, I am willing to spend a bit of money.
alexmojaki commented 2 years ago
  • Where do you see this project being in 2 years, best case scenario?

IE do you plan to expand to other languages, etc.

I doubt I will ever expand to other programming languages. It seems that translating to other human languages might happen a lot sooner than I previously imagined, but it's not a primary goal to me.

Who do you want using your product? Who are you targeting? If it's people new to coding, you won't find them on sites dedicated to coding, they don't yet know they exist.

Well as I said, this is the primary paradox. The users are beginners. I think anyone* who wants to start learning programming should start with futurecoder before moving on to other resources. But I worry that having lots of beginner users will do little for the long term growth of futurecoder. No one cares about the opinion of some random noob. I want futurecoder to be noticed by:

*(anyone above a certain age, with access to the Internet and a compatible device, which generally means a physical keyboard.)

Do you have an age group you want to reach? A lot of people are making their first foray into learning a programming language later in life.

If they're old enough to read and understand a decent chunk of text with abstract concepts, and not so old that technology scares them, futurecoder is for them.

  • What data analytics do you currently have in place? EG are you tracking how many people come to your site then leave without interacting? Or how many complete a lesson? Or how many times a particluar lesson is abandoned?

No, I've procrastinated putting analytics in place.

Do you have a learning space background?

I don't know what this means.

  • Are you intending to make money off this?

No.

  • Contribution is a good idea, but people are more likely to do so if there's something in it for them. Have you considered creating projects on the site using the skills your course teaches? With some additional work you could also liaise with Linkedin to build a qualification / badge a person could add to their profile.

I don't follow. You're suggesting creating 'projects' centered on contributing to futurecoder? People would receive a qualification in exchange for fixing an issue or adding a feature?

Have you considered adding a share function where people can, upon completing a task, share that achievement on their Twitter etc. I find them grating, but some people like to do so, and that's free advertising for you.

Thanks, I'll consider this.

If I don't have any coding knowledge, can I get a job just knowing what your site teaches me? If not, what else do I need to know?

No, futurecoder is only for getting started and developing a good foundation, being qualified for a job takes a lot.

Should I learn something before I try your site?

No, no background knowledge is required.

  • Your target audience is based on your product, and what your goals are with that product. What is your long term goal with this site? Are you planning to add other languages? Are you planning to monetise it? Gamification works better with some demos than others, are you open to a points / stars etc program that follows your progress through the material? I totally get feeling drained, you've made something to be proud of but you don't yet have the feel good component of a community using what you've created to better their lives, which I assume was one of your goals. I'm on board to help you build this out into something that resonates with people to the extent that they recommend it to others. Let me know what you think, what direction you want to go in, and we'll work from there.

Gamification is discussed in #90

In general it feels like you're mostly talking about attracting users i.e. beginner coders. Obviously having lots of users and making their lives better would be great and that's the ultimate goal, but I don't see how trying to find/reach them directly myself will help much in the long term. How much impact would word of mouth from beginner users have? How would this lead to experienced coders finding out about futurecoder and becoming contributors?

oskarissimus commented 6 months ago

It's interesting, I know it's been a while since last activity in this thread, I wonder how would You @alexmojaki summarize changes from then? Someone asked about 2-year plan, and I wonder how much of that is achieved? Are you still struggling with marketing? What about analytics? Sometimes it's suprising how much we can learn from how people are interacting with website.