Nope: A solo project from A to (almost) Z

Presentation By Hugo Agbonon (@Hugo_Agbonon), created using reveal.js

We're going to talk about...

  1. What Nope is
  2. Demo
  3. How Nope works
  4. What's next

What Nope is

An incredible source for gifs

Have you ever heard about a small website named Facebook?

They have a "poke" feature.

Now I have two friends

Let's call them Emilie and Maxime

They use it ALL. THE. TIME.

They even ended up poking each other in real life

They want to "win" against the other

But there is no notion of points or victories in Facebook's poke

Introducing Nope!

Which I kinda built for these friends

A social game where you must be the one having the last word

  • You and your opponent have counters recording how long you were the one "noping" the other
  • If they push their button and notify you, their counter starts ticking.
  • The one ahead of the other is winning.

This is my best illustration of the idea

Demo time!

'Cause it sounds nice but I didn't get it
May the demo gods have pity on me

How Nope works

Let's get technical

Client side

  • HTML5
  • Ember.js
  • Websockets
  • Cordova

HTML5 & CSS3

Responsive design FTW

Ember.js

Framework for the client-side logic

Comes with Handlebars and jQuery

Websockets

For real-time. More on that later.

Cordova

For transforming a webapp into a phone app

Server side

  • node.js
  • Express
  • Primus
  • Redis
  • Couchbase
  • nginx

node.js & Express

  • Server-side JavaScript!
  • Framework for basic architecture

Primus

Godlike entity in the Transformers universe

It is also a pretty awesome websockets library, for real-time events

Redis

Allows multiple instances of node.js to communicate, which makes the websockets scalable, thanks to the pub/sub mecanism

Credits: http://blog.dakatsuka.jp/uploads/2011/06/19/node_redis.png

Couchbase

Key-value fast & scalable NoSQL database

My DB architecture:

A User document contains all the data an user needs at any given time

nginx

HTTP(S) server

Things learned

  • Ember.js - Do not use if you don't plan to stick to the "Ember way"
  • Primus - recommended for websockets
  • Couchbase - nice, but my feedback isn't pertinent yet
  • Redis - All kinds of amazing
  • Cordova - You MUST try it
  • nginx

Things I still haven't understood

Security warning with HTTPS?

It's fixed!

Some stats

4 months 1/2 from first commit to 1.0 release

~50 000 nopes from ~25 users

Emilie & Maxime sent to each other 15 000 nopes

Operating cost: ~5-6€ / month

Money earned: 0€

Fun: a lot

What's next

The todolist won't stop growing T_T

  • Finishing the apps
  • Get better invitations to friends
  • Bugfixes (so many bugs)
  • Becoming a millionaire, stop working and sleep all day

Collective demo time + Questions

https://www.nope.wtf

my@mail.com

Thank you