Standard Grant: RFP - Sia Renterd Mobile App

Introduction

Project Name: RFP - Sia Renterd Mobile App

Name of the organization or individual submitting the proposal: Tolga Yaycı

Describe your project.

The Sia Renterd Mobile App is designed to provide users with easy access and interaction with their Renterd nodes on the Sia network via iOS and Android devices.

App will enable users to upload and download files to their buckets, monitor the status of their Renterd node, as well as receive notifications/alerts about their node on the go.

This proposal implementation of this RFP.

Who benefits from your project?

Sia users who want to easily access their Renterd node from their mobile devices.

Ecosystem Fit

  • Removing Centralized Entities: Bypassing the need to transfer files through a central server, improving security and reducing latency.
  • Alert Notifications: Users will be able to receive notifications/alerts about their Renterd node, thus enabling them to take action in case of any issues.
  • Filling a Mobile Access Gap: Fills a crucial gap in the Sia ecosystem by providing a mobile interface for users to interact with their Renterd nodes, thus enabling them to access their data anytime and anywhere.
  • Real-time Monitoring: Users will be able to monitor the status of their Renterd node in real-time, offering a level of convenience and control.

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

The Sia Renterd Mobile App directly supports the Foundation’s mission of user-owned data by providing a platform that simplifies control over their storages. By enabling users to manage their Renterd nodes via a mobile interface, the app ensures that users can easily access, upload, and download their data securely, anytime and anywhere, without relying on centralized entities, bypassing the need to transfer files through a central server, improving security and reducing latency.

Grant Specifics

Mockups

Buckets Bucket Files Alerts

Deliverables

Deliverables are listed with their related Renterd API endpoints.

  1. Login Page: Users will be able to login to their Renterd node with the app just providing their API location and password.
  2. Dashboard Page: Users will be able to see their Renterd node status, worker state, and concensus status.
    • GET /worker/state
    • GET /bus/consensus/state
  3. Buckets Page: Users will be able to see their buckets, navigate through them, as well as create new buckets. They can also see the files in their buckets, upload new files as well as download existing files.
    • GET & POST /bus/buckets
    • GET /bus/bucket/:name
  4. Download Page: Users will be able to download files from their buckets by providing file path, and bucket name.
    • GET worker/objects/:key
  5. Upload Page: Users will be able to upload files to their buckets by providing destionation path, bucket name and file to be uploaded.
    • PUT worker/objects/:key
  6. Notifications Page: Users will be able to see the notifications/alerts about their Renterd node.
    • GET /bus/alerts
    • POST /bus/alerts/dismiss
  7. Stats Page: Users will be able to see the download related and upload related stats about their Renterd node.
    • GET /api/worker/stats/downloads
    • GET /api/worker/stats/uploads
  8. Bundle app: The app will be bundled for both iOS and Android devices as well as published to their respective app stores.

Milestones

# Milestone Deliverables Estimated Date of Completion Budget
1 Implement Login, Dashboard, Stats and Notifications Pages 1, 2, 6, 7 19.01.2024 11.600$
2 Implement Buckets, Download, Upload Pages. Bundle and publish app 3, 4, 5, 8 03.03.2024 12.000$

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

Funding is requested for the development time and effort. The breakdown of expenses is as follows:

  • Milestone 1: Between 11.12.2023 and 19.01.2024 - 29 workdays x 8 hours x 50$ = 11.600$
  • Milestone 2: Between 20.01.2024 and 03.03.2024 - 30 workdays x 8 hours x 50$ = 12.000$

Total: 23.600$

Future plans

  • Autopilot configuration.
  • Include contract related operations such as creating contracts, renewing contracts, etc.
  • Include host related operations such as adding hosts, removing hosts, etc.
  • Include wallet related operations.
  • Expand the app to also support Hostd nodes.
  • Include missings Renterd API endpoints that will nearly replicate the all functionality of the Renterd GUI.

Potential risks that will affect the outcome of the project

  • Adoption Rate: User adoption is uncertain. There’s a risk that the app will not reach a wider audience because of the lack of promotion and marketing.
  • Renterd API: Renterd API is still in development and there’s a risk that the API will change during the development of the app. This will may require changes to the app and may delay the project.

The application does not include any renterd write/change operations other than creating buckets, dismissing alerts, and uploading files. Since it does not yet interact with contracts or hosts, it is currently not possible for the user to accidentally perform a significant unwanted operation within the app. This reduces the risk of the app causing any damage to the user’s data or funds.

Development Information

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

  • Yes, all of the project’s code will be open-source.

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: Tolga Yaycı

As a full-stack developer with 2 years of experience, I have refined my skills in software development, with a focus on dApp development in the past year. I have a deep interest in the Web3 space and have applied my skills by creating a number of relevant applications. In addition to my experience, I have developed detailed React and Next.js projects, further enhancing my ability to build robust and scalable web/mobile applications. In addition to my technical skills, I have also been actively involved in the wider tech community. I have served as a Chainlink Community Advocate, Aave Turkey Community Manager, and Founding Chair of Gazi University ACM Student Chapter. These roles have broadened my skills in both software development and community engagement.

I have experience working with well-known protocols such as Aave, Filecoin, Flow, Solana, Dfinity Foundation, and Web3 Foundation showcasing my ability to handle multiple ecosystems and expertises.

1 Like

Hello @tolga,

Thanks for your proposal! We had a wealth of projects to review at our latest meeting and didn’t have enough time to give this grant the attention it deserves.

Our committee will be skipping their next meeting because it falls on the day after Christmas, but we’ll be able to get a full review within the 4-6 week quoted timeframe on January 9th.

Thanks again, we’ll be in touch!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Thanks for submitting your proposal to the Sia Foundation Grants Committee. After review, the committee has decided to approve your grant. Congratulations!

The committee is concerned with a couple aspects of the grant, as follows:

  • They’d prefer to see advanced features that complement a native app such as push notifications or automatic sync.
  • Will the app simplify node security for less technical users? For users to access their node outside of their local network, they would first need to set up a reverse proxy with SSL/TLS to ensure data isn’t leaking on unsecured networks.

Despite these concerns, the committee is excited to see your project come to life as-is written in your proposal. We’ll be in touch with onboarding information, which can take up to a couple of weeks to finish. Feel free to adjust your project timeline as required.

1 Like

Hi @steve and committee,

Thanks for your support for this application!

  • Of course, if you have any notification suggestions in mind, you can share them with me, or if there are notifications that you think will be useful after I finish the application, I will be happy to add them. To start, I’ll add notifications for basic metrics like uploads, downloads, etc.
  • Yes, I will work on it to simplify this problem. As you said, users need to handle such tasks themselves, but perhaps I can make this more convenient and secure with a script they can run in addition to renterd. I will inform you about this during the development phase.

I will start the project soon and I can’t wait to see the result like you.

Thank you again and happy new year. :partying_face:

1 Like

Thanks @tolga, I appreciate the info. One other thing the committee wanted to run by you is the branding of the app. We want to ensure that official apps made by the Foundation are recognizable, and that apps made by grantees and other developers have their own identity to build on as they grow.

We’d prefer two changes here to avoid confusion:

  • Create a unique logo for your project. Don’t use the official Sia logo as your app’s logo, either in icon for the mobile app on devices or in-app.
  • Create a unique name for your app. We’re developing the Sia renterd app, and “Sia renterd mobile app” or “Sia app” could easily be confused for something official.

Please refer to our brand guidelines. Thanks!

1 Like

Hey @steve,

I will apply the brand guidelines with requested changes, thanks for information!

1 Like

Progress Report (February)

What progress was made on your grant this month?

  • Created initial structure for mobile application
  • Tried solutions to connect easily renterd from a react native app

Links to repos worked on this month:

What will you be working on this month?

  • I will complete all deliverables and release a test version in a month.

I am a bit behind of my schedule sorry for that, was a busy month. I will meet you with the application start of the April.

Hello @tolga,

You never posted a March progress report. Seeing as how it is the 21st, it would be a bit redundant to ask you to post two reports within the span of 10 days, so please make sure you include your March and April progress in your April Progress Report (Due May 2nd).

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Hello @tolga,

This is a reminder that your March+April progress report is now late.

Progress reports are due by the end of the 2nd day of the month, in this instance your April (including March as well) progress report was due on May 2nd.

Please be sure to follow the Progress Report Template and submit your progress report so we may continue funding your grant.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Progress Report (March, April)

What progress was made on your grant this month?

  • Dashboard, Buckets, Upload and Download pages completed,
  • Proxy solutions reviewed, users can connect nodes with QR Code on their local network or remote network.

Links to repos worked on this month:

What will you be working on this month?

  • Complete Stats page.
  • Fix Small Bugs
  • Make a release

It’s been a busy month, things are going a little slow but I’m about to complete it. Thank you for your patience!

Hello @tolga

This is a reminder that your May progress report is now late.

Progress reports are due by the end of the 2nd day of the month, in this instance your May progress report was due on June 2nd.

Please be sure to follow the Progress Report Template and submit your progress report so we may continue funding your grant.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Hello @tolga

This is a notice that your grant has been moved to “Abandoned” status as you have missed too many consecutive progress reports.

If you wish to return to working on this grant in the future, you will need to re-apply.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee