Plug: I help develop
million
: <1kb virtual DOM - it's fast!
TL;DR
If applicable, post your project on Hacker News with Show HN:
in your title, EchoJS, r/opensource, r/javascript, r/sideproject, and ProductHunt.
If you have a following, post to those platforms (i.e. Twitter).
If you have access to communities, post to those communities in sanctioned areas (i.e. Discord, Slack, Telegram)
If you have extra time, post articles related to your project on blogging websites (i.e. Dev.to with #showdev, Hackernoon, Hashnode)
Introduction
You probably stumbled upon this article because you're interested in promoting your project you've been working on. That's great! In this guide you'll learn how to validate your work through gathering an audience, attracting new contributors and stars.
Right off the bat, you should have a reasonably intriguing and useful project. Make sure that your projects are presentable with a clear README, description, and logo. Take for example some projects I've done:
- Million.js - 🏳️🌈 <1kb virtual DOM - it's fast!
- Lucia.js - 🙋♀️ 3kb library for tiny web apps
Since my projects are generally JavaScript/TypeScript/Web related, many of the resources provided will be targeted towards those communities, so use as you see fit.
Platforms
Hacker News
Hacker News is probably one of the best way to reach other developers, but hundreds of posts are put on it each day. To ensure you get some exposure, prefix your post title with Show HN:
to be listed under the show category. Additionally, include an intriguing and easily understandable title to increase your click through rate.
Examples:
Dev.to
Dev.to is probably one of the most effective ways to get developers to intract with your work. One option is to directly introduce your project. If you do, ensure you add the #showdev
tag as well as 3 additional tags related to your project.
The other way of increasing interactions is to write articles related to your project that developers could be interested in. This hooks developers into reading your article, extracting value, while becoming aware of your project. Ensure that you include call to actions at the start and end of your article.
Examples:
Open source communities like r/opensource, r/javascript, r/sideproject are very effective ways to promote your projects if you have a substantial amount (1k+) of Reddit karma. These communities generally discourage advertising, so if you have a new account, try posting to smaller communities to start off instead.
Examples:
ProductHunt
ProductHunt is a great way to pitch your product to "maker-focused communities." This is pretty straightforward, I highly recommend you suppliment using this to advertise to other platforms as well.
Examples:
Other
You can use Twitter, EchoJS, and Discord/Slack/Telegram to help suppliment the other platforms.
Metrics
- Github Insights (Under Traffic Tab)
- Stars/Contributions to GitHub repo
- Dev.to Dashboard stats
Side Effects
GitHub Trending
This is generally the ultimate result of the promotion on other platforms - to float your project to get on trending. This encourages developers on Github who might work on similar projects to see your project. This type of visibility is the most valuable.
Publications
Another way to float your project to gain a "second wind" is to get publications to feature your project. This sort of method is best paired with GitHub trending.
Have any suggestions? Send them in the comment section.
Top comments (45)
I'm curious.... Why do you want to try to actively get people to star your project?
For me, it provides validation that my project is useful. Otherwise, it's just a metric of "new activity," and can help find contributors.
For others, it depends.
That explains what starring is and why people do it, but not why you're actively trying to make it happen.
Isn't it something that should be happening organically - and not be something you're actively pushing for and chasing? Doing that seems to lower it to the level of fishing for likes on Facebook or Instagram, robbing it of any real meaning as the indicator you describe
Generally you don't actively make it happen - sure, projects will grow with popularity eventually, but not all of us have that long of a time to "lock-in" to a project. Giving it an initial push will allow for more attention and usage.
I guess this point is very subjective, as it really just depends on the goal of your project. Are you just trying to get stars to put it on your resume? Or are you just trying to have fun working on your project and get some people to try it out.
I agree. Getting appreciated at early stages is very important to stay motivated. Pushing your project isn't just a way to get stars but also a way to get feedback.
I think if you need stars as validation to stay motivated, you should probably be doing something else.
Feedback is useful, but that is an entirely separate thing to stars
As for usefulness... who cares? The most enjoyable projects (for me at least - and I'm not the only one) are usually those that are essentially toys - you make them and play with them because it's fun and interesting.
Programming shouldn't be a chore, or something you feel you have to do, or motivate yourself to do. The learning and discovery should be driven by curiosity and real enjoyment, not the expectation of validation or reward
I totally agree! I think most, if not all of us program like this. But your argument goes astray when you claim that "if you have fun programming, then you are just a validation seeker and shouldn't care about usefulness." This is just completely false! A significant portion of developers, myself included, love their work and help others (in fact, I worked on a OSS project non-stop for ~9 months without much external feedback just because I enjoyed it), but also want feedback and validation.
I encourage you to try to make a bigger project that isn't a toy to try it out to understand my perspective - if you haven't already.
For me it's about time. Why put an unnecessary amounts of time to mature a project that isn't going to get any traction, or get any use? I generally only try to push projects where I feel there is an unfilled niche that no one else is filling.
You don't want to get stars... You want to get visibility. You don't want to spend a whole lot of time creating an open source project and have nobody use it.
Why not?
It's similar to writing an article for others. Why would you not care if nobody sees it if you literally wrote it for other people to see?
For me, getting stars seems like a bit too specific
That's a good suggestion, I adjusted the article title so it more accurately represents the article's content.
Public approval gives the brain the gOoOd cHEmiCaLS 🧠📈⭐⭐⭐
I guess so - but does it make it a bad thing?
Nah man, it's no "bad thing", and there's no judgement here, only something you need to weigh up for yourself. GitHub stars are the Instagram Likes of the developer world. We each have to consider whether we are deriving our self-worth intrinsically or from metrics like stars. And moreover, does the hussle to accumulate stars/views/likes positively or negatively affect your relationship with your digital devices, and your ability to connect sincerely with the world around you. (I'm not implying an answer to that question; only commending you to ask it personally).
The question is, why although I did all of it I failed?
The first natural reaction is - my project is not the greatest. But every single developer that sacrificed longer than 30 seconds to understand what I actually created was amazed. We have (although small amount) 100 % of positive feedbacks, comments etc. But it is hard to convince anyone to actually have a look at my project. So either those advices above are not that useful or I clearly done something wrong. But how to find out what?
If you are happy with what you did, and got something out of it - how have you failed?
Unfortunately can't buy bread from my happiness 😂
But the more serious answer is that I strongly believe my solution can change web development market forever. And I'm happy to spread the word, share it, talk about it, work on it and all other goodies, but amount of work I'm putting into community awareness of my project cost me the time that I could be spent on developing the project itself.
So I didn't really got what I wanted just yet. My target is to help developers all over the world, not just to build a project for a sake of doing it.
And product hunt, hacker news, reddit, Twitter - non of it seems to be helpful. And I simply don't understand what am I doing wrong. In the same time I will never believe that the project I made is not 'something'.
Mind dropping a link for people who are interested in your product?
Sure thing:
Https://glue.codes
If you want to check it out, remember that everything works in a browser. So no need of downloading/installing anything on your PC
I didn't claim either of those things
Mistyped the sentence there, I meant "If you have fun programming, then you don't care about validation or usefulness"
Feel free to correct me if you think my interpretation is incorrect.
I didn't claim that either. Ultimately, I think that your own self belief in a project should be the driver. Perceived usefulness by others, or validation from them is essentially vanity - and doesn't matter.
I guess we can agree to disagree then. I agree with your point that your self believe should drive your project, but our contention is whether outside validation matters. I think both opinions have their own merits, and there isn't really an absolute answer.
It can be a product - doesn't have to be
50% of this article: to get stars, tell other people on social media.
50%: links to your projects Lucia and Million.
Low effort and spam under a a clickbait title. Why don't you make clear that you just wanted to promote your projects?
It seems kind of like an outrageous comment to say that its spam. While there are links to Lucia and Million, those links are just examples of what are ways to organize stuff. One could argue that it is low effort, but that doesn't mean its spam, and even if it's low effort, what still matters is that it provides value to the reader on different ways to help promote projects. By the looks of the comments on the bottom, it seems it has.
I agree, I guess you're right
Yes... the point of providing links to my projects is to provide examples on how to promote your project. If I just wrote some content under this post without any substantial examples, then it would just be handwaving at best. I also never said that I didn't want to promote my own projects - I literally used the strategies I specified in the article on the article itself?
Additionally, if this was just spam - it wouldn't provide any value to others. This article is a listing of things I learned through this process. It's kind of annoying to see comments like this immediately dismissing articles that arre helpful for others but maybe not for yourself.
I guess I’ve got projects that no one other than me use.
I don’t really need stars and visibility, but it’s mostly so that if something I’ve built is useful for someone , they can use it.
And open source so that if needed they can fix things they’d need for their requirement.
But i guess the sheer density of projects that are there today, it makes sense to spend a little time to post about it around
At first I open-source my project to gain more feedback but now I only create, contribute, or work on Open Source Project for my selfishness. It means that I create or contribute on something that I use in another projects, improve my productivity, or just for fun. This help me a lot to avoid burn-out and dissatisfaction. I only promote my Open Source Project when I feel that in the long future I will abandon it. The promotion act as a magnet for people get interested to continue the efforts in any form. It doesn't matter whatever it is in form of forks, rewrites, funds, or pull-requests as long as it use the right OSI approved licenses.
Thanks, that's nicely written.
Can you elaborate a bit about the last point of publications? Do you mean medium publications, any blog etc?
I would also recommend listing yourself in awesome lists related to your field. Various facebook groups are also useful for some fields. Hacker news is very valuable but it shadow bans very easily so tread lightly there.
Sure - Publications such as TechMedia Habr, JavaScript Weekly, etc. Could be newsletters, blogs, medium publications or other content that developers regular read.
Yeah, agreed with the HN. Never advertise anything unless it's under Show HN:.
#showdev
is for showing what you have made to the dev.to communityReally helpful! Thanks for sharing this!
Hi, the "Lucia.js - 🙋♀️ 3kb library for tiny web apps"-link is pointing at "github.com/aidenybai/million"
Thanks! Fixed.