Validbook

Validbook was a startup project, the social network for humans and IoT that implemented the concept of the universal cooperation platform.

Of course, as a social network, Validbook includes messaging, search by text or by tags, notifications, etc. However, it implements some new ideas.

Users can log life events, work activities, and whatever. It is possible via a website interface or browser extension. Logs could be grouped in the books. Books could include other books, be private, public, or shared with some people or a group of people. A book could be owned by one user or by a group of users (have common ownership). One log could be attached to multiple books.

Users can follow user pages of other users or things or just their books. Logs from users/things/books are displaying in a stream (analog of feed) or could be muted staying followed. Logs could appear in a stream or users can set up channels and see logs just from specific users/things/books there. Channels could be public and other users could subscribe the channels. A user who logs could do it quietly (in this case it will not be shown in followers' streams or channels).

Users can add things by API (concept of social network for IoT). If the things are programmed to log something, they can log into the books which the user created for them. As proof of concept, the client added his ficus to his profile and it logged information about temperature, air, and ground humidity.

Validbook includes tokens. Tokens could identify the ownership of something, tokens could be the contracts or the currency. Tokens could be exchanged, sold, send, exchanged.

Technologies

Back end: PHP (with yii framework v1.13), MySQL,
memcached.
Front end: JavaScript, jQuery.
Server: Apache.

My role

I used to do UI/UX design, so the client hired me to do a small job related to homepage (landing) redesign. Later he invited me as a front-end developer after I've started to do a full-stack job.

I was responsible for implementing new features on the front end, updating the elements of UI following requirements, optimizing the performance of the app (and perception of performance). Later I also started to be responsible for backend: development of new features, performance optimization (for instance, a profile of active user could request more than 7 000 SQL queries and this number depended on the number of collections and posts, I've optimized it to few hundred queries, but the most important part that number of SQL-queries stopped to depend on the number of collections and posts and started to be a constant value).

Project history and pivots

Initially, the project was named Thankout. It was a social network that allows users to post what good things they've done and get "thanks" (analog reaction of "likes") on your posts.

Next, the project was transformed to Samerse. The idea was to post your life events, log your past and planned activities, categorize your logs into collections, cooperate with other people to do something together. I joined the project on the stage of implementing this idea.

After, the client changed the name to Validbook. Collections of logs were renamed to books, were added new features which were described above.

I helped to find the developers who continued working on the project. During the last months when I have been working on the project, the client decided to rewrite the project on react and make the project code open source.

Presentation of concept

Screenshots from the following presentation are below.

Interface of Validbook

Samerse Design

To refresh the design of the landing page of the second pivot of the project client provided me requirements and the following screenshot:

samerse landing

I've updated the landing page which was coded by the client's front-end developer:

samerse landing

Lists of the books and the channels

validbook channels list validbook channels list validbook channels list validbook channels list

The interface of stream or channels

validbook user page bohdan andriyiv

The interface of the user page

validbook user page bohdan andriyiv old validbook user page denis dragomirik

Example of one of the types of tokens

validbook token creating

Expanded logging form

validbook log story

Book of ficus as a connected IoT-thing

The following screenshot is of the interface where ficus posted a story using the API:

validbook story of ficus