On Github crertel / startup-tools-talk
Created by Chris Ertel / @crertel
I'm a developer and an entrepreneur!
I've built things using
Javascript PostgreSQL Ruby Linux WebGL C++ OpenGL Rails HTML C CSS Java NodeJS Python MATLAB (...and various other tools.)Life as a startup is hard.
Very hard.
Everything is a tradeoff between:
You need to be thinking:
“What can I be doing to solve $PROBLEM with the least effort and move on with my business?”Remember!
So don't be afraid to use tools to make your life easier.
Don't reinvent wheels.
Pick tools that enable this.
Important thing is ease of use.
If it's hard to use, nobody will use it.
☞ I like Atlassian Confluence.
$10/month for 10 users.Discussions happen.
Logged chat allows async communcation and searchable history.
☞ Google Hangouts works well enough.
☞ HipChat is a little fancier.
☞ Hubot is fun but requires setup.
This means not losing time thinking what to do next.
Good task management doesn't involve thinking.
Save your smarts for your business problems.
Lemma: Task queues are root of all effective task management.
Pick a task system that lets you assign and share tasks.
Use simple tools for your task system.
☞ Trello is simple and free.
☞ Pivotal tracker is a little more featured.
You might notice both of these are for "agile". Learn kanban or scrum, and use it. People know what it means (sorta), and it's a standard workflow. Less time thinking about how to organize work means more cycles to run your business.If you aren't making mistakes, you're not trying new things.
Ergo, use tools that make recovery from mistakes easy.
Use tools that support versioning
☞ Google Docs supports versions.
☞ Github uses git to version your source code.
☞ Bitbucket uses git to version your source code and is free for small teams.
Two classic slapfights in technology.
"My OS is better than your OS."
"My langauge is better than your language."
Remember, we are businessmen first, and technologists second.
"Best" means easiest, cheapest, and fastest to use.
"Best" does not mean perfect type system, prettiest desktop, fastest compilers, or anything else.
From this, all else follows.
Lemma: If your product needs programming or automation, use Linux.
Pick a sane, standard distro like Debian or CentOS. Minimize time spent sysadminning.
Exception when you are basing your business on some core piece of tech that is platform specific (Sharepoint, I'm looking at you.).
If your product is on the web, use Javascript or Ruby.
If your product isn't on the web, use Java.
Needed for Android development anyways,
If you have to, C# is also acceptable.
So don't be one!
Maybe you just need a blog?
☞ Weebly is super easy to use and setup.
☞ Wordpress has lots of developers .
☞ Just use Heroku.
☞ Another good backend would be Parse.
☞ LoopBack has a great dev experience for backend.
☞ I've had decent luck with Linode.
☞ Rackspace has some good startup rates.
☞ Lots of people use Amazon Web Services.
Don't do it.
No, really...don't do it.
If you must do it, lease the gear.
Story time!
You want a framework that makes choices for you.
☞ Ruby on Rails started this It's got preferences for managing assets, interacting with databases, and has good community support.
☞ SailsJS is a Rails-inspired framework for Javascript.
☞ Laravel is basically Ruby on Rails for PHP. It's clean and easy to pick up if you know PHP.
☞ If you decide you just want an API, NodeJS with ExpressJS is a good fit. It doesn't have nearly as much structure outside of that use case, though.
You need a place to store structured data.
☞ Just use PostgreSQL.
☞ If you're on Heroku, they offer it as a service.
Sometimes, bad things happen to good servers. So, we want to find out about it.
☞ If you need this, you're hosting yourself...and we talked about this. ☹
☞ If you're on Heroku, they offer New Relic and Airbrake.
☞ If you must, use Nagios.
Sometimes, you just need to store a bunch of files.
☞ Just use Amazon S3. Sane setup, everyone supports them, cheap.
☞ If you are really paranoid, use Tarsnap. This is not for normal people. You'll also have to roll your own interface.
Don't waste time making grid systems from scratch.
You can always hire somebody later to make it super slick.
☞ Twitter Bootstrap is very popular.
☞ Zurb Foundation is good for mobile-first (and doesn't look like Boostrap).
There are common tasks that you shouldn't spend time coding.
☞ Highcharts makes very, very pretty graphs of data. Costs money.
☞ Moment.js will save you a lot of time dealing with...time.
☞ AngularJS helps write single-page apps. Can be used for small things.
You need to collect money from your users.
☞ Stripe handles credit card payments, recurring billing, and is super developer friendly.
☞ Harvest is a really solid invoicing and time-tracking application.
You also need to talk to your users.
☞ Twilio provides SMS and MMS messaging.
☞ Wistia provides white-label video hosting for your site.
☞ Mailchimp handles newsletters, marketing, and statistics.
☞ Sendgrid provides Email-as-a-Service. Inte
Sometimes, even users that only use snail mail.
☞ Lob lets you print letters, write checks, and do mass maililng.
☞ Easypost handles buying shipping for packages and tracking pacakges.
If you aren't tracking what your users are doing, you don't know your business.
☞ Google Analytics is the standard.
☞ Mixpanel is a fuller-featured analytics platform from Google Analytics.
☞ Rapportive gives you information about people you're having email conversations with.
☞ Zendesk provides email support, chat, and even voice support infrastructure.
☞ uservoice provides embedded user feedback in your page.