TAIKAI Platform, First Year in Review
Tags: blockchain, hackathon, webdev, designsystem
Published: 2020-03-12 18:07:00

This is an annual retrospective over what we achieved so far in 2019 and what are our plans regarding the TAIKAI product for 2020.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/kyijky329k4n47cgip27.png)

**2019** was a rewarding and extremely active year for us. We launched our website, organized some amazing initiatives with [Bright Pixel](https://brpx.com/), [Instituto Politécnico de Tomar](http://portal2.ipt.pt/), [Sonae MC](https://sonaemc.com/), [EDP](https://www.edp.pt/), [Glintt](https://www.glintt.com/), [CeSIUM](https://cesium.di.uminho.pt/), [Web Summit](https://websummit.com/), [NOS](https://www.nos.pt/), [LTPlabs](https://www.ltplabs.com/), [Porto Business School](https://www.pbs.up.pt/), [JUNITEC](https://junitec.ist.utl.pt/) and [Nova School of Business and Economics](https://www2.novasbe.unl.pt/pt/) and started the first steps to achieve our long term vision.

All the initiatives that we were involved, proved that our _“Future of Work”_ **vision** makes sense and served as a playground to optimize the **gamified token-based** system that we want to put in place to manage online/offline challenges and to reward the stakeholders that create value on our **online community**.

This blogpost serves as our year resume and provides a little bit of insight into all the major product feats and updates that marked our journey in 2019.

### MVP (Minimum Viable Product) — First Version

Since we started the **TAIKAI** product development, we had in our mind our first key milestone: deliver a minimum set of features required to support the [Pixels Camp](https://pixels.camp/) hackathon.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/9d65w2l8zftlaqeh9crl.png)

**Pixels Camp** is a yearly technology event, organized by Bright Pixel where the biggest Portuguese coding competition takes place with more than 1300 participants sweating to deliver the next big idea and win amazing prizes.

The first version of our platform and our landing page was launched one week before the event and allowed the participants to gather in teams, submit the coding **challenge solutions** as a project, provide the presentation for the **final pitch** as long as other project resources.

After the pitch presentation, all the hackathon participants and event partners used the **platform** to select the best projects and follow the **real-time results** on the event screens.

The platform worked almost flawlessly and our infra-structure sustained the traffic load during the stressful 30 min voting period that was defined to select the best hackathon product.

In summary, on our first real test, running on our private based blockchain network processed **more than 10000 transactions** and allowed us to identify some improvements required to enhance the user experience and the required challenge management procedures to operate an event of this nature.

### EOS Jungle Testnet Migration

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ixsqbvvrf7wyv5s6n8lt.png)

The smart contract that was responsible for managing all the on-chain transactions and **KAI token** wallets was migrated to the public **[EOS](https://eos.io/) Jungle Testnet** from the private network delivered on our MVP version. This migration allowed us to battle-test our smart contract on a public network and to prepare our infrastructure for the final migration to the EOS main net.

During this migration, we measured and decreased the CPU time consumed by our transactions and we optimized the EOS RAM required to run our platform on a public network.

### Challenge Multistep Support

After some iterations with our clients, we came to the conclusion that our challenge strict timeline was not compatible with the challenge promoter needs. The 3 phased challenge, IDEATION-VOTING-END, didn’t support multiple voting phases and was quite difficult to fit in all the hackathon timelines that we were supporting.

To solve this issue we developed a configurable challenge phase timeline capable of accommodating different project permissions, voting schemes, jury sets, and qualifying rounds.

### Content Management System (CMS)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6y17j2ojxccas67aevja.png)

Since we started managing challenges for our partners, we identified some common procedures that we were doing with **custom scripts** on our **internal database**. The system management with scripts was making our operation life poor, it would put all the effort on the development team and didn’t allow our customers to make content changes in the production environment in a flexible way.

In order to reduce the challenge and production environment **operation cost** of our infrastructure, we developed an independent web application to manage the challenge’s content, participants, backers and some global day-to-day operations required to sustain our business.

The end goal of this application is to provide a back-office application that allows the challenge promoters to self-manage all the online/offline challenge content, participation and voting steps in a comfortable user interface application.

The first version of this application is only visible to the **TAIKAI team**, notwithstanding, we are planning an upgrade to enable the event organizers to use it and self manage the event without our team intervention.

### Design System

With the growth of **TAIKAI** and our plans to develop a CMS we realized that it was time to standardize the user interface components used in different projects so that in the future there would be an improvement when designing new interfaces and also improving the **development workflow**, thus was born our design system.

Our first step in creating an excellent and solid design system was to create something between a style guide and a pattern library with all the elements, colours, icons, fonts, templates, etc. and from there to develop the components and their code snippets.

There are numerous ways to create a design system and how to organize all its components. We opted for the [Atomic Design](https://bradfrost.com/blog/post/atomic-web-design/) methodology, created by _Brad Frost_. To manage all the styling, from the three main approaches we could take, Global CSS Files, Modular Stylesheets and _CSS-in-JS_, we opted for _CSS-in-JS_ with [styled-components](https://www.styled-components.com/), a framework which lets us use current CSS syntax inside each component and solves many of the problems with traditional CSS.

### Rewards Algorithm v1

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/k2bqvgkh5lpv8acfszao.png)

**One of our end goals is to recognize and reward people that create value on TAIKAI internal economy.**

The current **TAIKAI** stakeholders are the challenge contest solvers and the project curators that select the best project submissions that act like curators on any challenge initiative running on **TAIKAI**.

Using gamification and **token incentives** we devised a deterministic **algorithm** that rewards back **KAI tokens** to project members that were part of the projects that finished on the first places of our challenge initiatives.

Moreover, the challenge juries are also rewarded based on the challenge final results and based on their wise project investments.

The **reward** amount received by solvers or juries takes into account the amount of **KAI** received/invested respectively during the “voting phase” and is distributed after the challenge is finished.

All the reward transactions are forwarded and validated by **TAIKAI** smart contract for further audit and analysis.

### Notification Center

For **real-time** notification of all the actions and **transactions** performed by the user, a notification center was created to accommodate a succinct resume of all the user actions, **KAI transactions** and challenge updates. Apart from the internal notifications, the user could optionally enable the notification settings required to receive a more detailed summary of their actions on their email.

### Messaging One to One

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vsw90rrvgzb5g48hdfki.png)

We know that a key point in a **social platform** like **TAIKAI** is the **direct communication** that will exist between the promoters of a challenge and the innovators, or even between innovators.

Whether it is for questions about a project or future collaboration, this communication can happen on several occasions and for various reasons. We took the first step to facilitate communication between all **TAIKAI** users and launched the **one to one messaging** feature for all registered users.

### Work & Academic Experience

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/flq3kddhf0jepjlp4p3a.png)

To make the **profile** of all users more complete, so that it not only encompasses their project history, challenges and transactions but also all their experience in their professional career, we have some features in the development pipeline. We started by adding two new sections where all innovators can manage their academic and work experience.

### Next Steps

In the next couple of months, we hope to prioritize the features that allow us to improve the **TAIKAI** platform **user experience** and sustain the operation growth expected at this stage of our history.

Additionally, we will release product development updates bimonthly and share with you our new product features to get your instant feedback and steer the product in the right direction.

**In 2020, we want to successfully migrate our smart contract to the EOS main network, enhance our token economy incentives and social recognition system and launch more recurrent challenge initiatives on new verticals.**

**Can you help us on this journey?** Drop us an email to _hello@taikai.network_ or **contact** us through our **social networks**. Your contributions are invaluable to us.

The rocket took off and it’s eager to conquer new worlds! 🚀

---

Thank you for reading!
_Want to learn more about us? About what we do? Check our [website](https://taikai.network/) or ping us on [Twitter](https://twitter.com/taikainetwork)_