Hacker News new | ask | show | jobs
by pieterhg 3549 days ago
Hi! I made Nomad List so maybe I can tell you more. I wrote it in plain JS with only jQuery. The backend is PHP. They communicate through simple POST requests (see the Network tab when you filter). The database is SQLite for simplicity sake.

I'd recommend building something with a language that is easy for you to learn and that gives you freedom to make it complex or not. That's PHP for me. A big reason why I say this is because you don't want to spend too much time coding while validating your website/app idea.

You can always switch language/stack later.

I decided to go framework-less, which was a great decision early on. And I still like it although once you get more traffic and features, everything inevitably turns into spaghetti and you need to stay very knowledgable about your code to keep being able to work on it. Stuff like user sign up and login I'd love to have outsourced to a framework (for example this week login broke for no reason).

Also some parts of the site run on off the shelf software. The forum runs on Discourse, the chat runs on Slack etc.

I was obsessed with which tools to use before I made Nomad List, but then when it went viral I had to work with whatever I knew and I hear that from a lot of people. You work with what you know at that time.

Good luck :)

2 comments

Oh wow, great to get such direct feedback, thanks! Interesting to hear that you use PHP. Although I'm not a developer I lurk on forums a lot and it seems PHP gets a bad rap so interesting to see a site that is well known in HN circles using it.

While I've got you on the line I have to give my 2 cents about your scores for Johannesburg. firstly, our weather is sublime, secondly I would say that freedom of speech, racial tolerance and female freindliness, is at least good if not great. Air quality I think is at least okay if not good.

But I'm a bit biased, and I guess its all subjective :)

Happy to provide any other Joburg info if you need.

Sure :)

PHP 7 is very improved and can stand up to most other langauges now I think.

Facebook and Slack are also built on PHP.

I think asking what tools people use is probably the wrong question though. You can build successful projects with most modern languages. It's more about your style of coding I think. My style is extremely minimalistic in effort and pragmatic. Not a lot of testing either.

Thanks for the feedback on Johannesburg! You can click some of the values as they're editable. Others are from international data sets (like racial tolerance and free speech).

Don't let people's opinions about languages get the best of you. In the end you need to use what you are comfortable with, as it is about results first, then about optimization. If you're comfortable with PHP, great, use that. If you're comfortable with Python, also great, use that.
Hey Pieter, love what you're doing!

Quick question on your stack: you don't use any CSS frameworks? How do you do mobile without punching a hole in your MacBook's screen?

Haha, I use Chrome's emulator which covers most use cases. I use SCSS with CodeKit but only so I can do @import's of for example my global.css into specific page CSS files. Not any crazy stuff. I'd love to use variables though as that'd save time, although a find and replace over 20 files in Sublime Text also works fine!

It's really important my site works well on mobile. So I've spent a lot of time adding countless media queries. Simply keep adding more until it works on every device (in the emulator).