Small Grant Proposal: SIA-ONE

Introduction

Project Name: Sia-One

Name of the organization or individual submitting the proposal: Mert Köklü

Describe your project

ONE platform to show everything about Sia

Sia team consistently delivers impressive achievements like new apps to interact with network and the community is actively contributing, building new applications every day, which can be seen with an increasing number of proposed grants over time. However, this rapid growth also makes it challenging to keep track of all the developments and stay updated within the ecosystem.

The Sia-One is designed as a central hub for the Sia network to simplify this process. It provides a centralized platform where users can easily access projects and activities within the Sia network. The platform offers a comprehensive, categorized list of all Sia projects and their details as well as every aspect of the Sia network from overall development and the activity.

This is the first implementation proposal of the Sia-ONE with narrowed features to demonstrate MVP. The full proposal was on this topic. I have also addressed maintenance issues in the sections below.

Ecosystem Fit

  • Central Hub: It brings together everything about Sia in one place, making it easier for users to access and understand the growth and development of the Sia network.

  • Lists All Projects: It categorically lists all Sia projects and their details, helping users find the right project for their needs. Users can find the project they are looking for by filtering projects based on their type (explorer, media-streaming, etc.) without even asking in Discord!

  • Community Connection: It keeps the community updated and engaged with the latest happenings in the Sia ecosystem based on development activities.

How does the project serve the Foundation’s mission of user-owned data?

The project supports the Foundation’s mission of user-owned data by making it easier for users to understand and be part of the Sia network. The platform brings together all the important development and growth about the Sia ecosystem in one place. This means users can easily find out what’s happening, from new projects to network development direction.

By showing up-to-date information and trends, Sia-One not only helps users feel more connected to the community but also encourages them to participate and contribute. The platform’s focus on making project details, community, and development activities easily accessible aligns with the Foundation’s goal of creating a data ecosystem.

Grant Specifics

Technical Stack

  • Backend

    • Python
    • Fast API/Graphql API
    • Firebase (Firestore)
  • Frontend

    • Next.js
    • Redux
    • shadcn/ui
    • Tailwind CSS
    • Algolia (Search Infrastructure)
    • Apache e-charts
    • React Hook Form
    • Zod (schema declaration and validation library)

Deliverables

  1. Frontend - Dashboard page - Summary of main Sia metrics and information.

    • Active hosts, storage utilization, blockchain height, average storage price, average download price, average upload price. Data will be fetched from SiaCentral API until explored API is released.
    • Summary metrics of some widgets from development pages.
  2. Frontend Project List page

    • List all projects with their descriptions, stargazing counts, and health scores.
    • Projects will be categorized based on their type (explorer, media-streaming, etc.)
    • Algolia search integration for improved search and filtering capabilities.
    • Project adding form to optionally accept new projects to the list from the community
    • Project updating form to optionally accept updates on existing projects from the community.
  3. Frontend - Project page

    • Project description, details, relevant links, and other information.
    • Project Github development stats
    • Stargazing trend - How many stars project gained over time
    • Language breakdown - The distribution of programming languages used in the repository
    • Commit activity - Number of commits made to the repository over time.
    • Community profile - Key components of the protocol’s community structure (guidelines and resources).
    • Latest commits/releases/issues/PRs - The latest commits/releases/issues/PRs made to the repository.
    • Contributor breakdown - Commit contribution distribution.
    • Code frequency - The distribution of code changes (addition and deletion) over time.
    • Punch card - Commits happen throughout the week, allowing to spot peak contribution times.
    • Issue/PR activity - The number of issues and pull requests opened and closed over time.
    • Issue/PR count - Total number of open/closed issues and pull requests.
    • Participation trend - View the weekly commit activity chart for the past year, highlighting contributions from all, owners, and others.
    • Most active issues/PRs - The most active issues and pull requests.
    • Health score - Overall health score of the protocol based on various development metrics. This will be calculated based on commit activity, issue resolution, pull request engagement, release consistency, and contributor involvement. A comprehensive glimpse into the ongoing development and maintenance status of the project.
  4. Frontend - Leaderboard page

    • Projects leaderboard - The most well-maintained projects based on their Github development statistics (will be ranked based on their health scores).
    • Contributors leaderboard - The most active contributors across all projects based on their Github development statistics (will be ranked based on their commit counts).
  5. Backend

    • Github Crawler - Automatically find Sia-related projects on Github based on package usage, keywords, and other factors.
    • API Handles - will be used to fetch data from Github Rest/GraphQL, Discourse Rest, or any other source APIs with error handling.
    • Database Layer - Firebase (Firestore database) will be used to store all projects, their details, and all relevant data to feed the frontend. It also includes functions related to save/fetch data from db.
    • Fast API (or Graphql API) - will be used to provide API endpoints for the frontend. I may use Graphql API instead of Fast API during development if I see that it will be more suitable for the project.
    • Caching Layer - will be used to improve response times and reduce load on the database and API.
    • Processing Layer - will be used to process fetched data from Github to expected data format (like Apache e-chart chart format) for every widget in the frontend.
    • Algolia Integration - Algolia will be used to provide search and filtering capabilities for the projects and articles.
    • Firebase-Algolia Extension - The integration will be used to sync data between Firebase and Algolia automatically using this plugin.

My Services

  • Maintaining electric-capital/crypto-ecosystems Sia project list - Providing Github crawler for Sia projects to automatically update sia-foundation.toml file in electric-capital/crypto-ecosystems.

It is a taxonomy for sharing data around open source blockchain, Web3, cryptocurrency, and decentralized ecosystems and tying them to GitHub organizations and code repositories. All of the ecosystems are specified in TOML configuration files.

My crawler will automatically find Sia-related projects and will create PR requests to my forked repo. Then I will manually review the list (whether they are Sia-related or not) and merge the PR to the main repo. This will be done monthly to keep that list up-to-date. This is done automatically and I just need to manually review the list to delete unwanted, unrelated projects that has been found by the crawler.

  • Public API - Will be publicly available for anyone to use to further build anything related to the above features. The API will be hosted by me, free to use and will require auth. Detailed documentation will be provided as well.

  • Manual Project Addition/Validation - Even though the crawler will find most of the Sia-related projects, there may be some projects that may not be found by the crawler or there may be exist some projects that are not on Github. Even though a project is found by the crawler, the details of it may be missing. In such cases, the platform will provide two easy-to-fill forms to the community to add new projects or update existing projects. These are optional forms and the platform does not depend on them. Providing these forms in case of community requests any addition to the project list. I will manually review the submissions in case of unnecessary or wrong submissions which will take only a couple of minutes.

Maintenance

I understand the concerns over maintenance, I would like to say that the platform does not require any manual intervention. It will be good to go when it is hosted and will update its project list using a crawler, and will update its data using the backend.

All of the process is done automatically except for two things:

  • Optionally fillable forms by community: If any community member says “Hey, my project isn’t listed on the platform, what can I do?”, then I would direct her/him to the form to add her/his project to the platform. I will see the request (probably in Typeform) and add it to the list. That’s all. On the contrary, if I don’t provide a form to the community, then the process would be more hassle.

  • Maintenance: The blockchain protocols care and try to maintain the list in electric-capital/crypto-ecosystems. Electric Capital generates reports for crypto ecosystems and they also list top ecosystems monthly active developers. Yet, I have worked with several protocols like Stellar that fund for this type of work. Since my project found Sia projects, I thought to myself why don’t I maintain it? So this i a highly useful side effect type of work.

Note: Will not request any additional cost for maintenance/services since I will post follow-up grant after the implementation of the platform.

Milestones

# Milestone Deliverables Estimated Date of Completion Budget
1 Implement all deliverables 1, 2, 3, 4, 5 29.04.2024 10,000$

Amount of money requested and justification with a reasonable breakdown of expenses

Project estimated date of completion: 29.04.2024

Total requested amount: 10,000$

Potential risks that will affect the outcome of the project

  • Sia Central API Depreciation: In some dashboard widgets, data will be fetched from Sia Central API, and since explorerd will be released in near future, there’s a risk that Sia Central API will be deprecated. In such a case, I will use explorerd API instead. This will require some changes.

  • User Adoption: The platform partly depends on its adoption by the Sia community. There’s a risk that the platform might not engage the intended audience as expected, impacting its effectiveness. I may request from the Foundation that the platform be displayed on the Sia website in the third-party section to increase its visibility and adoption.

Development Information

Will all of your project’s code be open-source?

  • Yes, all of the project’s code will be open-source with licensed as Apache 2.0.

Leave a link where code will be accessible for review.

Do you agree to submit monthly progress reports?

  • Yes, I agree to submit monthly progress reports.

Contact info

Contact Name: Mert Köklü

I worked as Intelligent Video Analytics Team Leader in a NVIDIA distributer company that develops video analytics solutions for 2 years. After diving into Web3 ecosystem, I have become a grantee for multiple blockchain ecosystems by developing innovative projects. As a certified NVIDIA instructor, AAVE Turkey Community Co-Manager and ambassador for organizations such as Microsoft and The Graph protocol, I have become a trusted voice within the communities.

I have experience as a grantee from working with well-known protocols such as Sia, Aave, Compound, Filecoin, Flow, Lens Protocol, Web3 Foundation, and Solana demonstrating my extensive experience and expertise across multiple blockchain ecosystems.

:trophy: I am also a grantee of Sia Foundation with project Sia Telegram Alert Bot.

Thanks for your updated proposal to the Sia Foundation Grants Program! The committee did not have time to review this grant at their last meeting, but it will be top of the agenda for next meeting. We know you’re excited to get your proposal reviewed and we appreciate your patience.

1 Like

Thanks for your new proposal for the slimmed down Small Grant request.

After discussion, the committee has decided to reject this proposal. They cited usefulness to the community as the primary marker, having seen other Dashboard-style projects be developed but fail to gain any traction among users. Even in this refined state they feel that dashboard projects don’t fit the needs of the overall community right now, but may in the future.

We really appreciate your time and attention to this proposal. Thanks!

1 Like