11 Aug 2018, 10:28

Beyond Todo Apps


Developers implement toy projects from scratch to understand new technology. These often implement simple functionality, and none is more pervasive than the “Todo” app.

The web has too many Todo tutorials, Hello World tutorials, introductions to new frameworks by showing how you handle a click, and it’s time to slow these down.

Instead we need to tackle more complex problems to demo the more powerful features when writing sample projects.

This is a small catalog of projects I find useful when I need to come up to speed with X technology in a short period of time. The TODO app is not found here, as I have never implemented a TODO app.

Frontend Projects

Tic Tac Toe

Tic tac toe is useful for learning a new language or frontend framework. It’s simple and has a definite end, and has no database or network interactions. None of us are beyond implementing tic tac toe in a new language The following two examples implement it using web frontend frameworks, it can just as easily be built on a terminal.

Yelp clone

A Yelp clone is no easy feat, but there is an extremely detailed tutorial for it that includes setting up and configuring Babel, Webpack, Karma with React. If you are looking to learn these technologies, it is well worth your time. There’s no reason why it can’t be reproduced in Vue/Flutter/Angular, or why your can’t later on swap out your bundler or test framework.

Backend/Full Stack Projects

Reddit clone

Makeschool hosts an excellent walkthrough on the creation of a reddit clone. It suggests NodeJS but there’s no starter code; it can be built in any stack, multiple times even.


A large number of useful applications are driven by simple CRUD (create/read/update/delete) operations. The TODO app is often used to demonstrate the concept, but in evaluating new tech it’s simplistic and likely doesn’t hit the sore spots. There are better options:

  • Microsoft’s modeling of University classes
    • Can be extracted to model, build and test RESTful API in your language / framework of choice
  • Inspirational quotes service: Build a site that shows the user a random inspirational quote from a database.
    • Easily extracted to build just a tested backend RESTful API for reading from a database, with seed data inserted directly through the database via the framework or SQL statements.

Real Time

Increasingly, applications need near-real time interactions. Here’s a small collection of projects (these are more web specific):