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.
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.
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.
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.
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.
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 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.
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.
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?
"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.
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.