Proposal: redesign/optimize the Koios websites and create a CMS

Recently we’ve come to the conclusion that in order for Koios to grow (and keep growing, hopefully exponentially) it is of the utmost importance that the current applications need to be revamped. Today Charow and PauwCrypto are proposing a redesign/optimization of the current Koios websites and architecture. Furthermore we are proposing to create a CMS, to give content-creators the ability to create and alter content.  

The Problem

The current problem is that Koios has a bunch of siloed applications and no clear structure on how to tie them together. Currently the following applications exist next to one another:

We know, we know, it’s a lot! It is a bunch of siloed applications with separate code bases and built with entirely different architectures and frameworks. There are a few pain points that we as community members and developers see:

  • Being so siloed, it becomes cumbersome to scale the applications and develop more features for each of them.

  • It is difficult for the community to remember all working parts of the Koios ecosystem. 

  • It is built on old tech. Primarily the application is built on ancient tech (when speaking in tech terms 😅). A vanilla React application is not the way to go these days. 

  • Upcoming features wanted by stakeholders of Koios would not fit within the current architecture.

  • Maintaining all these applications is a tough process.

There is also an additional problem related to the course content. Due to the existing Koios application being built with old tech, it is not possible to frequently update the course material. Currently a tutor has to make a request for an update to the content. This of course is not the ideal situation when we have multiple content creators on the platform. 

The Proposal

Our proposal is to redesign the whole system to make it more scalable, maintainable and most important of all navigable for the Koios community. At first we want to create a CMS (Content Management System), to make content more scalable and maintainable. Our vision is that in order for Koios to grow, the content needs to go international. This means that external parties that want to provide content should also be given the tools to be able to create/update their own ‘world’. Next we want to combine all the applications into 4 main applications:

  • Koios Landing Page

  • Koios Application (main application students interact with)

  • Koios CMS (course content)

  • Koios API (custom build api’s for scheduled tasks)

There also has to be an overhaul of the tech stack Koios is currently using to efficiently scale in the future. More about tech choices and proposals in the tech stack section. 

The Goal

The end-goal of this proposal and overhaul is to create an ecosystem that can thrive in the future and to keep experimenting with new features. 

Tech Stack 

Currently all applications are built with different technologies, either old or new but it is not possible to combine them by copy pasting. The Koios application is built with vanilla react, while the newest nfts application is built with Nextjs and the api is built with Nodejs.

For the past weeks Charow and I have been discussing options and tested out some sample stacks with different technologies. 

Note: if during development we come to a better solution or some parts of the tech could be replaced for a better alternative, this will be communicated via Discord with the community. 

In the end we came to the following conclusion of the tech stack:

Monorepo

  • NX

  • Graphql codegen

Front-end

  • Typescript

  • Nextjs + React

  • TailwindCSS (mobile-first)

  • Apollo Client

Inbetween

  • Strapi (CMS) - shoutout to @MarBGamer#1337 for pointing it out 🙂

  • The Graph

Back-end

  • Typescript

  • Graphql

  • Pothos

  • Apollo Server

  • Prisma

  • Postgresql (Railway)

Duration

This is not a small project and will involve many months of work. But in the end we see it as a necessary step towards growing Koios as a whole. The setup of the projects alone would take approx. two weeks. Building the CMS would require a few months. Then the migration of the existing projects into the new setup would require approx. a few months

In total we think it would take approx. 6 months to complete. 

Costs

We spoke with the Koios team and agreed on a starting budget of €20.000*. Main execution of this proposal would be done by Charow and PauwCrypto. Payments will be made monthly, i.e. ~$1666 per person. 

Next to development costs there will be monthly expenses for hosting the application/cms and databases. The Strapi CMS will be hosted on Railway which has variable costs depending on load.

We estimate these will be**:

  • Strapi CMS hosting ~$20/month

  • API hosting ~$15/month

  • Apps hosting ~$5/month

*We do not know how long it will take, its tech in the end, but we are confident we can stay within these boundaries.

**Note these are primarily variable numbers and estimates, we will have to see what the costs are after deploying it for a month. 

Initial Design Concept

Charow has already made an initial concept design of the new application interface. See the image below.

Mockup design concept
Mockup design concept

**
**

**

**

Subscribe to PauwCrypto
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.