Introduction
Project Name: Sia Unified Manager aka SUM
Name of the Organization: Dapp Mentors Ltd.
This is a revised resubmission, incorporating feedback from the committee’s previous review!
Project Description:
The Sia grant program has a proven track record of funding various projects, some currently active and others not. Our experience developing products around the Sia Renterd service has given us the insight to see how we can consolidate most of the Sia projects under one umbrella called “Sia Unified Manager.”
The Sia Unified Manager will expand the capabilities of the Sia Renterd platform. It will create an all-in-one platform that combines isolated third-party services and tools on the Sia network, allowing users to manage better and access their data. The original Renterd platform will still be used to initialize the Renterd node and configure storage contracts. However, the new system will focus on integrating Renterd third-party programs into one space to make it easier for users to use.
Sia Unified Manager is essentially a Layer 2 application that runs on top of Renterd. It runs third-party programs and features without modifying the Renterd codebase. The Renterd service will still be responsible for managing and hosting data on its existing ports. Here are the core features SUM comes with.
Core Features
1. Integrated with Sia Renterd:
This proposed system will operate on a 4th port horizontally to the other Renterd ports (9980, 9981, 8080) and will be packaged as a Docker image ready for use by the community and all users. This approach will ensure that the new system runs on top Renterd, prebuilt, and configured for immediate use by users without requiring additional configurations or needing to modify the Renterd codebase.
2. Outstanding UI/UX Design:
The proposed system will have a modern and responsive interface that supports both light and dark modes. The current Renterd system gets the job done, but it is not responsive. We will pay close attention to the design of this system to provide users with the best possible experience while also maintaining the Sia brand guidelines for color schemes.
3. Authentication Feature:
The system will utilize the authentication method that Sia Renterd already uses by prompting the user to log in with their RENTERD_API_PASSWORD
to access the system. Once the admin is logged in, they can add their email address, which SUM will use for all communications.
4. File Viewing Capabilities:
The current Renterd application allows users to upload and download their data amongst other functions. However, the new system will allow users to view their content without needing to download it. This means users will be able to watch videos, play audio, move files around, and open PDF files directly within the SUM application. This will provide users with an experience similar to Dropbox or Google Drive within the Renterd application.
5. File Sharing Features:
The Sia Unified Manager will allow users to share their data publicly using just a link easily. This feature eliminates the need to install another solution for content sharing, and it also enables viewers to even open the content without needing to download it first.
6. Bulk & Cross-Platform File Transfer Feature:
Currently, there is no simple way to transfer files directly from legacy file hosting services such as Google Drive or Dropbox to Sia Renterd. The project aims to address this by developing a bulk file transfer feature, similar to what SproutVideo offers. This feature will streamline the data migration process, allowing users to easily move their files from the mentioned providers to Sia Renterd, providing a seamless server-to-server file migration experience.
7. Caching, Background Upload & Sync Feature:
Our optimization plan aims to create a fault-tolerant upload system that provides users with a fast experience when accessing their files. Based on our experience with Renterd, we have observed that server-to-server file uploads are faster, more efficient, and less prone to error than uploads from local computers. To achieve this, we will register each uploaded file in the SUM database and use a background worker to upload the file to Renterd. Additionally, we will implement a notification system to inform the owner if the file fails to upload after five attempts. Furthermore, we will monitor frequently accessed files and cache them on our local server to reduce latency.
8. Automatic Database Backup, Export, and Import:
This feature is highly requested and important. It’s been discussed on the Discord server many times but isn’t available on the Renterd platform yet. We are concerned about the potential loss of data and the inability to export database content to a new Renterd node easily. We plan to integrate this feature into the system, allowing for automatic backups. Users will be able to receive their Renterd database backup at scheduled intervals via email and also import into new nodes at will.
9. Alerts and Notifications:
Right now, you’ll need an additional solution to monitor warnings from the Renterd service. While this may work for tech-savvy users, it’s not ideal for regular users. The proposed system will include an alert system that not only monitors the Renterd service but also sends timely notifications to users via email.
10. Access Control and Domain Whitelisting:
In Sia Unified Manager, we will introduce a fantastic feature that allows users to control the accessibility of their files. This feature lets users specify the websites or domains that can access their data. It aligns with the foundation’s mission of user-owned data by empowering users with greater control over who can view and download their files and from where.
11. Compatibility with Renterd Future Changes:
The latest release of Renterd, version 1.1.0-beta.1
uses an environment variable flag system to select the blockchain (Main, Zen, and Anagami) on which to run a node, and version 2.0.0
promises more groundbreaking changes. Regardless, the Renterd API remains the same, and we would build upon the most stable version of Renterd.
Who benefits from this project?
In a nutshell, our project will directly benefit “ALL USERS” of the Sia Renterd service in the following ways:
-
All-In-One Unit: Users can now enjoy the mentioned features through a single Renterd instance, eliminating the need for multiple isolated third-party services. Features like Automatic Database Backup, Export, and Import will be accessible to all users from the user interface, allowing them to back up their files at scheduled intervals.
-
Sia Ecosystem Expansion: The core features detailed in this proposal aim to expand Renterd’s capabilities in its current state. By implementing features such as File Sharing and Bulk and cross-platform File Transfer, the Sia Ecosystem will broaden its reach and bridge traditional file hosting providers (like Google Drive and Dropbox) and the emerging blockchain world.
-
Better Privacy Control: With a modern, smart, and responsive user interface, along with features such as Access Control and Domain Whitelisting, users will have improved data management capabilities such as being able to move data from one folder to another and also have greater control over file sharing, as well as determining who can access the file and from where.
-
Third-Party Docking Hub: The potential for the Sia Unified Manager project is limitless. We envision SUM as the platform for integrating all Sia third-party projects, or at least plugging third-party features into the Sia Renterd. This platform will bring numerous additional features, enriching Sia Renterd with superpower abilities for all her users.
How does the project serve the Foundation’s mission of user-owned data?
The main goal of the Sia Unified Manager project is to expand the capabilities of Sia Renterd and provide users with more tools to manage their data from a single Renterd instance. This aligns with the foundation’s mission to offer a blockchain that prioritizes data privacy and ownership. The key features outlined in this proposal aim to give Renterd users greater control over their data, including managing who can access and download their data, and from where.
Grant Specifics
Project Budget:
The total budget estimate for this project is 115.200 USD for 1 year, to be disbursed quarterly. This budget will cover expenses for:
- Full-time salaries for 2 developers plus the team lead for 12 months.
- Full-time salary for the UI/UX designer for a minimum of 6 months.
- Cloud hosting service cost for the 12 months.
- Testing and deployment.
- Contingency plan for Renterd
v1.1.0 beta ~ v2.0.0
groundbreaking changes.
The budget will be allocated for the following milestones:
-
Milestone 1 (28.800 USD; 1st Quarter; 3 Months):
- Deliverables:
- Project UI/UX designing
- Design translation to Frontend code
- Implementation of Authentication feature
- Implementation of File management feature
- Outcome:
- A release of version
v1.0
of SUM that includes the ability to manage files, such as uploading, downloading, deleting files, and user authentication. - A demo video showcasing how to install and explore SUM version
v1.0
features and functionalities.
- A release of version
- Deliverables:
-
Milestone 2 (28.800 USD; 2nd Quarter; 3 Months):
- Deliverables:
- Implementation of Bulk & Cross-Platform File Transfer Feature
- Implementation of Background Upload & Sync Feature
- Implementation of File Caching Feature
- Outcome:
- A release of version
v2.0
of SUM that includes the ability to further manage files, such as cross-platform transfer, background syncing, and file caching. - A demo video showcasing how to install and explore SUM version
v2.0
features and functionalities.
- A release of version
- Deliverables:
-
Milestone 3 (28.800 USD; 3rd Quarter; 3 Months):
- Deliverables:
- Implementation of File Viewing, Relocation & Movement Features
- Implementation of File Sharing Feature
- Implementation of Access Control & Domain Whitelisting Features
- Outcome:
- A release of version
v3.0
of SUM that includes the ability to watch videos, play audio, view PDFs, move files around, and control public file accessibility. - A demo video showcasing how to install and explore SUM version
v3.0
features and functionalities.
- A release of version
- Deliverables:
-
Milestone 4 (28.800 USD; 4th Quarter; 3 Months):
- Deliverables:
- Implementation of Automatic Database Backup, Export, and Import Features
- Implementation of Alerts and Notifications Features
- Outcome:
- A release of version
v4.0
of SUM that will:- Involve a background task responsible for backing up our Renterd and SUM database snapshots at regular intervals and sending zipped backups to a specified email address.
- Include the restoration of Renterd files using user Seed Phrase and database snapshots.
- Integrate a process for monitoring important activities on Renterd and notifying the user of the situation.
- A demo video showcasing how to install and explore SUM version
v4.0
features and functionalities.
- A release of version
- Deliverables:
Potential Risks
Risk 1: Renterd Future Changes
We took note of the recent Renterd 1.1.0-beta.1
upgrade and will monitor its potential impact on our project. Part of the Renterd recent changes employs the use of a single binary package and environment variables (called flags) to distinguish which one of the blockchains to run (Main, Zen, or Anagami). However, since the core Renterd API remains the same, our Sia Unified Manager is expected to function just fine. Additionally, the following contingency plan helps alleviate concerns about any significant changes.
Contingency Plan for Renterd v1.1.0 beta ~ v2.0.0 Changes
To mitigate potential risks from Renterd v2.0.0
, we will test SUM against recent and future versions of Renterd and provide users with access to the most stable ones as they become available. We’ll stay in communication with the Sia development team and establish a robust rollback strategy. Furthermore, we made room for a contingency plan in our budget which will cover emergency fixes.
Risk 2: Development Complexities
There may be occasional brainstorming moments during the project, mainly because some of the core features we are modeling into SUM were originally built using different programming languages and frameworks, each with its strengths and weaknesses. However, our experience in development, coupled with our familiarity with the Renterd API and access to the Sia dev team on the Discord server, gives us more confidence.
Future Plans
In the future, we aim to enhance Sia Unified Manager by exposing SUM’s API endpoints, making it extensible to other web applications. This will enable Sia third-party services, including Renterd features and all Sia Unified Manager features, to be easily accessed by users outside of the Sia ecosystem.
Why Us?
Firstly, it is important to note that we have a strong history of engagement with Sia and have consistently completed all the grants offered to us. This demonstrates the reliability of our reputation.
Additionally, we have been actively involved for about a year in contributing to the growth of the Sia ecosystem and educating developers through platforms such as YouTube and other developer communities. It is reasonable for the committee to have confidence in our ability to handle this new project, which will only serve to expand the Sia ecosystem further and empower users to take greater control of their data.
Furthermore, we have a team of developers who specialize in both front-end and back-end development, providing us with a well-rounded skill set to tackle this project.
Our team is led by Darlington Gospel, CEO of Dapp Mentors Ltd, a company specializing in building solutions and educating developers on various aspects of blockchain development. I have had the privilege of overseeing the completion of two projects built on top of Renterd. I have also had the opportunity to publish a lot of work for both clients and the general public, including concept projects, a book, courses, YouTube video tutorials, and developer technical articles. For more details about my experience, check out my LinkedIn and GitHub profile.
Ebenezer Enietan, a seasoned tech leader with over 15 years of experience in software development, blockchain consulting, and tech education, further strengthens the team. His expertise in Solidity, React.js, Node.js, and SQL, as well as his leadership roles at White Creativity and GeNext Logistics, position him to contribute significantly to this program.
Also, Princess Uhiene is a skilled front-end developer, project manager, and technical writer with a strong background in React.js, Next.js, and TypeScript, making her an ideal candidate to help us contribute to this project on the front end. Her dedication to our company and experience in project management align well with the project’s goals of creating developers’ empowerment content.
Apart from our core team members, we also have access to skilled developers on a contract basis, depending on the nature and volume of the work at our disposal.
Development Information
Will all of our project’s code be open-source?
Yes, all project code will be open-source and made available on GitHub.
Leave a link where the code will be accessible for review:
GitHub - Daltonic/sia_unified_manager: The Sia Unified Manager project aims…
Do we agree to submit monthly progress reports?
Yes, we agree to submit monthly progress reports in the forum.
Do you agree to designate a point of contact for committee questions and concerns?
Name: Darlington Gospel
Email: [email protected]
Provide links to previous work or code from all team members.
Have you developed a proof of concept for this idea already? If not, you can develop this as part of another grant before submitting this grant.
Not yet, the first milestone of this work would serve that purpose.
Do you agree to participate in a demo at our monthly community call at significant milestones or after the grant’s completion?
Yes.
We’ve divided this work into four major milestones estimated to be completed every 3 months. Our strong presence on YouTube makes us no stranger to the camera, and we are more than happy to demo at Sia community calls.
Additionally, because of our love for Sia, we will create a video series like the one below showing how to use the various features of the Sia Unified Manager application. This will be an ongoing additional value offered at no extra cost to the foundation.
Contact info:
Email: [email protected]
Any other preferred contact methods:
Forum: @DappMentors
Discord: Daltonic
LinkedIn
X-twitter
YouTube
Website
We believe that our track record of delivering projects for the Foundation should give the committee enough reason to trust us. We kindly request that the committee see this project’s immense value to the Ecosystem and support us. Thank you!