Osman Ahmed

Do you host your web apps on multiple droplets/servers or do you run it all on one?

The projects I've migrated from Heroku to Linode are all on the same server for now. My plan is to spin them off to their own server once they generate enough revenue and require enough resources to warrant the cost increase.

As @matthewmorek points out there is some risk involved in having everything in one server. The way I see it all the risk of the independent apps are added together. If one breaks or gets hacked, etc, it might bring everything else down with it. So roughly speaking a server with 10 sites is 10 times as likely to fail. Then again it might also be 10 times as easy to manage. (e.g. no need to upgrade the OS or critical updates in 10 different places).

Disclaimer: I have very little VPS experience. I've been using Heroku forever and only recently started looking into VPS-based hosting seriously.

Pug Pugson

Is there a Prettier for Ruby/Rails?

Something like rubocop perhaps?

That's what I use since a half a year or so. Takes some getting used to, but has helped me clean up my code a lot.

Make sure to follow the installation instructions as it has some handy info on creating a "todo/ignore" file for existing style violations. That way it initially ignores those and you don't get bombarded with tons of warnings right out the gate. You can go through that todo file step by step and slowly remove stuff so it starts warning about those style violations which you can then fix one at a time.

It's only for Ruby code. Not for Javascript, HTML, CSS, HAML, etc. I haven't researched those options yet (I know there are a bunch), but I will at some point.

Does it do autoformatting and fixing errors or is it just a linter that shows what's wrong with your code?

If you run it with rubocop -a (or equivalent shortcut in your editor) it will fix what it can.

Pete Codes

would you pay $5 for a big list of world's airport WiFi free allowance so you know how much free time you get?

No. I'l find out when I'm at the airport. I wouldn't even download it if it was free of charge.

Plus I've never hit the limit. Probably because there are usually alternatives (other wifi hotspots, SIM card, changing MAC address, etc).

Ha, ok. #radicalcandour

Better to tell you know than after you've made the product :D

Yeah, I was't being sarcastic. I like the honesty!

Nick Nish

Why is the Shippening a static time? Why can't we set it to something else?

There have been a few discussions about this in the chat.

In short:

  • Technically it's actually quite tricky to allow for different cut-off times. Especially if they can later be changed (see below).
  • People travel across different timezones. This complicates things even more as during a timezone switch one day might only be a few hours long and another 24+ hours.
  • Having a shared deadline fosters more of a community feeling.

If I could flip a switch and have user-specific deadlines I'd do it, but it's just too difficult right now to get right. Your feedback (and those of others) is noted though. If there's any experienced Ruby developers that are willing to take a stab at it I'll consider providing repository access.

Ah ok thanks for the response!

I understand it's a difficult technical/UX problem. If I can think of a novel solution, I'll be sure to mention it.

Brahma Reddy Chilakala

How do you verify email addresses for your project?

In addition to what @ronald93 says:

"Sign in with Twitter" provides you with a confirmed email address. I'm pretty sure that when a user has not confirmed their email address the Twitter OAuth flow won't provide the email. (I ran into a bug related to this, hence I looked into it).

The same is probably true for Facebook and many other OAuth services. Just make sure to double check they don't provide you with unconfirmed email addresses (i.e. create a test account to see what happens).

Another more novel, but not fool-proof way to verify an email address is to have the user send you an email. I one saw an "email sign up forms" that was just a mailto: link. When the user sends an email to that address he/she got subscribed to the newsletter. However, it's not fool-proof since it can be faked.

Brahma Reddy Chilakala

Where do book lovers hangout on the Internet?

They don't hang out on the internet, they are reading books :D

More serious answer: Goodreads.

Second Goodreads... Kindle integration is a big plus!

Still Goodreads, but damn, that site is ugly. But this is where my community is hanging, so...

I am making a small website that would be useful for book readers. Where can I promote my product?

Jonny Platt

How do you synchronize projects between laptop(s) and desktop?

Nowadays I tend to use just the one device (MacBook Pro), but I still choose to use Git. Some of the benefits for me:

  • Saving incremental changes so I can easily revert back in case any problems arise. This also gives me more confidence to experiment within my code.
  • Being able to create branches also lets me experiment with new ideas without the fear of messing up my code.
  • Let's me use Continuous Integration that automatically runs my tests and rubocop (checks for coding style violations)
  • I can access my code everywhere. More than once I've fixed a wipbot bug on my iPhone! (pull code the code, make the fix, push the change)
  • It makes it easy to collaborate with other developers now and in the future
  • The commits are a way to document your code. So if in a year time you're wondering why you made a certain change, you can quickly find it.
  • My code is backed up in multiple places at every stage
  • Any merge conflicts are handled automatically when possible or are relatively easily managed manually (versus syncing app that are not optimized for code)

Using Git does indeed come with the requirement of committing and pushing your code. I believe it's a habit worth developing though for the reasons above. There are also some tools you can use to make this easier. For example my Terminal is set up such that it shows when there uncommited or unpushed changes in my working repository.

Do you plan on writing code for the foreseeable future? If so, then I recommend investing in a workflow that will let you reap the rewards long-term.

Excellent answer, thanks Marc. I only started using Git about 18 months ago and though its now an established part of my workflow I'm definitely not using it to its full potential at all. I largely use it for 'i finished, push to production' and only when i remember to for 'heres a good place to save my work'.
It's probably time I worked my way through a course to make better use of branches etc. And probably time I wrote some tests too! :D

> The commits are a way to document your code. So if in a year time you're wondering why you made a certain change, you can quickly find it.

I thought this was a really interesting bullet. Does this mean you try to include the 'why' in your commit messages rather than just 'fixed xyz / added abc' type notes?

> It's probably time I worked my way through a course to make better use of branches etc. And probably time I wrote some tests too! :D

Haha yeah, but take it one step at a time. I feel like I haven't even scratched the surface of Git myself. But whenever I encounter a problem or notice I keep doing the same thing over and over again, I look for ways to improve my workflow. It seems like you just hit one of those issues yourself (hence the question).

> Does this mean you try to include the 'why' in your commit messages rather than just 'fixed xyz / added abc' type notes?

Only if I feel like it's needed. I have plenty of "fix foo", and "add bar" type of messages though. It really depends on the circumstances. But just having every incremental change accessible separately by itself is already very valuable. For example you can go to a specific line of code and see all previous commits that touched it. So if you wonder why a piece of code is the way it is, you can just look up those commits which will help you jog your memory.

Logan Honeycutt

i want to fetch how many followers i have on a biz dashboard like klipfolio for a platform that has no api, ex: qoura, how would i do that?

A service like https://www.import.io lets you scrape publicly available data that have no API.

Whether you can show that on your dashboard depends on which service you're using. I'm not familiar with them nor have I used Import.io recently, but I imagine they allow for a JSON output which you can then import in your dashboard tool.

If you're a developer you can also create your own scraper. A tool like SelectorGadget lets you easily generate a CSS selector that points to the data you need. You just need to write a script that extract the data based on that CSS selector.

Javi Ramírez

I have one month to spend $1.8k in startup-related expenses, how would you spend it?

A good domain name never hurts. Tend to hold their value as well, so you can sell it later if you need the money.

Edit: Oh, and switch to annual WIP plan ($150/year) 😅

Well played, Marc, well played :P I'll probably do it tho, hadn't thought of it, great way to spend these $$$

Domains I've never bought to invest, I'm afraid a) good ones are either all taken or too expensive (>1.8k) b) I'll never be able to sell them and get a return on the investment. Any tips for a total noob in this?

Zaheer Baloch

Is it a good idea to pass email to Stripe payment if I know the email already or allow user to chose as he may want to enter other email?

People typically use the same email for both, but bigger corporations might have a separate billing email address.

I’d personally go with using the same email everywhere since that’s the most common approach and that’s how it’s expected to work by most users. The reason they might enter a different email address could be because they have different email addresses and mix them up. This can be quite confusing when they try to find an email receipt, or when you try to find a charge with the wrong email address.

So keep things simple, use the same email address everywhere, and if people start asking for a separate billing address investigate why and whether it’s really something you need to support. And if you do whether it would be be part of an enterprise plan.

Marc Köhlbrugge

Any examples of "Find or create" input fields?

Here's a quick mock up of what it could look like for WIP Q&A.

Artboard 2.png
Artboard 2 Copy.png

You could implement something like StackOverflow with Algolia Search or you can implement your short & simple fuzzy-matching algorithm like match-sorter


AdBlocker Plus is blocking my 'Sign in with Twitter' button , any advice?

I don't use AdBlocker Plus, but based on what you describe it seems that it aggressively blocks any Javascript with the word "Twitter" in it. It probably confuses that for Twitter tracking Javascripts used for Tweet and Follow buttons.

Personally I don't pay too much attention to people using faulty browser extensions as I consider it their own damn fault, but if it's a significant share of your users or it leads to many support inquiries then yeah you want to find a solution. I don't see the problem with just renaming the files. It sounds like you're overthinking it.

You probably have many more todo's to complete. Just rename the files and be done with it :)

If you replace "twitter" with "twttr" (the original name) the file name remains descriptive and it probably won't get blocked.

Yes, I replaced twitter with twttr :)


How to price a job board?

The right price depends on your goals. With a two-sided marketplace like a job board you probably want to kickstart the supply side (e.g. job posts) in which case it makes sense to charge nothing at all. Like @levelsio did you can start with a nominal amount to help keep out the spammers, but I personally would just charge nothing and manually approve new listings until that becomes untenable.

If you already have an audience then you don't need to solve the marketplace problem and you could start charging right away. However, even in this case you might want to start at $0 or very low just to test the waters and get some metrics on how well the job listings are performing. As that's information you'll need when you start charging real money.

Okay, so let's say you're ready to start charging real money. How much do you charge? Well this really depends on how much the customer is willing to pay. Which in turn depends on the value you provide (reach and relevance play key roles here), the competitive landscape, and a whole lot of other factors. One approach is to look at the competition, significantly undercut them (again, see @levelsio's advice), and then slowly keep increasing the price until you feel like you've hit the sweet spot. It's generally easier to increase the price over time then to decrease it (as that will make for unhappy previous customers) so that's why starting on the low side might be better. However, this also depends on market size because if your business will be primarily repeat customers then those might be less willing to pay a suddenly higher price. So again, it depends on the circumstances.

Either way, once you feel like you've found the right price: keep iterating over time. The market will change, the value of your job listings will too, so you should frequently reassess your pricing. (note to self)

Yes, you’re right.
I’ll start low until I reach a good amount of users.

Thank you!


How to keep the current user logged in to site after deploying new build on Heroku?

Are you using local file storage for anything such as storing session data? Heroku's file system is ephemeral which means you can't rely on any data that's not part of your original codebase to stick around between deploys.

My guess is that's the root of your problem as I can't think of anything else that would cause this issue. I use Heroku for all of my sites (including WIP) and never had this problem of users being signed out.


Is there any reason to use ref parameter instead of utm for tracking traffic?

If you're generating tracking URLs for your own site and you use Google Analytics, then I would recommend UTM parameters. They give you the most flexibility and are properly supported in Google Analytics.

If you're linking to other sites and you want to let them know you sent them, then using a ref parameter might be more appropriate. The reason for this is that not every site uses Google Analytics (and so UTM parameters might not be supported), and more importantly: Google Analytics won't like if you don't supply all required UTM parameters. (e.g. only utm_source)

In the past I used ?utm_source=betalist when linking to startups on #betalist, but we frequently received questions about this as it was generating error messages in people's Google Analytics dashboards. Switching to ?ref=betalist seems to have solved this.

The ref parameter will still show up in Google Analytics, but at a difference place. I haven't done much research into which one is most visible (in case that's your goal).

For what it's worth, I don't think ref is a standardized approach but it seems to becoming the convention. (some sites that use it include BetaList, Product Hunt, WIP, Places to Work, etc.

Daniel da Rocha

How do you deal with your Twitter account(s)?

It all depends on the audiences. If the product audience is a one-on-one match with your personal account then there's an argument to be made to just use your personal account. In most cases however, you're probably better of creating a separate account and retweeting where relevant.

Marc Köhlbrugge

Any insights or personal experiences with “purchasing power parity” for SaaS?

cc @levelsio – do you have any info on purchasing power for different countries? It would be interesting to offer this as a separate API for companies who want to provide price their products based on purchasing power.

I don't think mentions work.

Nikhil Samuel

writing a digital marketing guide. any suggestions?

Could you elaborate on what kind of guide you're writing, what help you need?

Hi Marc, I'm writing a guide for SMEs and startups. It is a basic guide meant for those with little knowledge of digital marketing but want to have all the essentials in one place. Here is the table of contents: https://workflowy.com/s/IOrs.VcJ3bpqcah. The thing is I'm building this in public and I want feedback on the structure and maybe things that could be addressed in such a guide but didn't cross my mind. Here's the guide: https://docs.google.com/document/d/1_qs5Jfz--rmHmM3Rv0b5NJaAx81lqopH3O_E5Judv0g/edit?usp=sharing


Sarup Banskota

What can help parents become more tech-savvy?

It's difficult to learn something if you don't have an immediate need for it.

Can you think of any apps that could substantially improve your parents' lives? For example, if they like to travel but still use travel agencies you could introduce them to Airbnb, Booking.com, etc. If they are into history, set them up with a YouTube account that is subscribed to some interesting history channels, etc.


What text editor do you use?