Hacker News new | past | comments | ask | show | jobs | submit login
How I've built a profitable Slack bot as a side project in Rails (pawelurbanek.com)
263 points by pawurb on March 19, 2018 | hide | past | favorite | 34 comments



Great project and writeup! But I think a one-time fee makes very little sense for a hosted SaaS product, and you should definitely switch to recurring billing. Instead of a one-time fee of $29, I think you could charge $3 per month, or $29 per year (20% discount.) You could also charge more for larger teams.


Companies are using this, though? The price (both annual, and the above, especially considering transaction costs) is too low!

The post says: "Abot logo is just an icon from Icons8. I have to pay $19.90/month for a license." That begins to approach professional-level pricing.


Not to pick on the app but with a product at such a low price, this sounds like the ideal way to bleed out a ridiculous amount of money.

Three months of that is already more money out than 2 new subscriptions bring in.


He says in the post that he was already using that icon service for other side projects though.


I'm glad the author acknowledges there are abuse risks to anonymous communication.


One thing that the bot is missing (just my opinion, obviously) is a pseudonymous identifier. I realize this technically does not make it anonymous anymore, but I don't think it matters.

For example, if you post anonymous feedback saying "the toilets should be cleaned more regularly" and you then post an anonymous comment to that post saying "I agree", there's no way of knowing if consensus is building or if someone is astroturfing the discussion.

Compare this to if the feedback is posted by anonymous#f46d and the reply is posted by anonymous#6c7e, at least you know it's different people making the posts.


Or just only highlight whether the response is from the creator, that way you can't correlate between threads.


That still doesn't help you identify if a second person is impersonating others.


Me too. The need for anonymous feedback is a symptom of a broken culture. If I were manager at one of these companies it would become a top priority to rectify it.

There is a need for anonymous whistle blowing, but that's not the same as feedback.


I agree my tool could be detrimental to many teams. I hope to deploy feature optionally limiting usage to certain channels and disabling direct messaging in the next couple of days.


Great writeup. And, if the author is here, congrats on profitability!

As a tip for other aspiring bot developers, though.

I've been writing a lot of bots lately and I've been convinced that for Slack bots Serverless really is the way to go. Pay for what you use, no infrastructure to run, and mostly seamless scaling.

I know the infrastructure is already lean based on this article but with AWS Lambda and DynamoDB each user would be pennies a month.[1] Profitability would only require about 1 user.

Ultimately, though, the most important thing is to launch and if RoR gets you their fastest or offers some features that are critical to your app and can't be done in serverless then that is what you should do.

[1] When you consider the DynamoDB free tier. Which I'd venture you can get to a huge number of users before exhausting your free tier with a chat bot.


Great idea but weird examples given.

> I know you've been stealing my sandwiches.

Doesn't this kind-of defeats the purpose? It's pretty clear who is who in this scenario.


Agreed, it's weird.

Although, perhaps he/she sent it the accusation every single employee. Some will go 'mmm, weird, I didn't do anything, but I can't confront the accuser either as it's anonymous', whereas one will go 'shit, they know it's me, I better stop doing this'. At least until everyone talks starts talking about getting the same message. (it only takes one to come forward, after all).

I'd still think it's weird and wouldn't do this myself, but in a way it could work.


In large companies, people sometimes steal unlabeled food from the fridge without knowing whose it is.


I also think that on any team I've ever been on, knowing everyone's writing style and personality would give it away. Maybe it makes more sense in a big company.


Even the initial example of anonymous feedback about meetings was strange to me. If a large meeting is worthless/long/whatever, I'll tell my VP directly in person.

Do other people really trust their coworkers so little that they feel the need to submit any criticism anonymously? That doesn't sound like a healthy work environment.


I agree its not healthy, but the author might be in a culture different from yours where such issues are hard to raise directly.


> Doesn't this kind-of defeats the purpose? It's pretty clear who is who in this scenario.

Might be the sandwich machine with a slack interface...


Interesting project. The only thing that really came to mind is since the messages are deleted on their server, could someone use it as a way to harass to a colleague leaving the company unable to take any action because it would be 100% anonymous.


You can maybe save the 9$/month by replacing PostgreSQL with a more generous cloud database. Maybe Cloudant (https://www.ibm.com/cloud/cloudant/pricing) or Firestore (https://firebase.google.com/pricing/).

You should also check out the lambda services of google/azure/aws/webtask.io, maybe they are cheaper for your usage than the $7/month you are paying Heroku for the dyno.


I was surprised by the one time purchase model. When I see that many other bots are charging by user per month.

What are you thoughs on the by user/month model ? Example 1$ per active user per month vs fixed amount per month ?


Seems like this could lead to a lot of trolling, harassment, and false flags. As humorous as I find the guy fawkes avatar I would pass on this for my own workplace.


Hi, thanks for sharing your journey. You might wanna share this on www.indiehacker.com, more people will be inspired :)


Excellently simple and well executed idea! I also plan to go global with some tiny for fun&profit side-projects. I agree, it is not easy job with our EU VAT MESS laws so I look for some all-in-one solution too. I wonder if you had a chance to compare Paddle with FastSpring in any way?


Never heard about fast spring before. I give more info about paddle in the blog comments, check them you if you're interested.


"Rails" is in the title, but there isn't really anything in the article about what the advantages of using Rails for a Slack bot are. What have been people's experience using Rails for this kind of app?


Not done a slackbot (yet?), only a few small app and a large 7-yr-project, but with Rails it's really about whether or not you love Ruby. There's still Sinatra but that's about it in regards to web-frameworks. Rails is perfect for punching out a prototype quick and heroku (which started as an online Rails-editor) make delivery very easy.

Try ruby and see if you like the language.


Hanami is growing in popularity and Roda is a rock-solid and faster alternative to Sinatra.

Both worth considering.


I used Rails because that's what I am familiar with. I don't tech stack makes any difference though.


Well leveraging rails and quality plugins makes for extremely short development time. Author mentions low server load for this app so prime candidate for rails imho.


Very interesting article and it gives me hope that creating a couple of decent APIs or bots can return a reasonable passive income that could make it easier to switch jobs in the future or enjoy an extra vacation a year.


Interested to know why paddle rather than something like Stripe?


I give more details in blog comments, check them out.


This bot is a great idea. Kudos to you!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: