D-Share - A simply way to share files

Introduction

Project Name:

D-Share

Applicant Information:

My name is Fabien Vincendeau (from France), Business Director in HVAC systems. I am a self-taught developer who has been building websites, managing infrastructure, and hosting systems since getting my first PC at age 16. I have been an active host in the Sia ecosystem since 2023. Two weeks ago, I built Public-Upload without any grant funding to serve my own websites and friends, and it is already live and working well (https://public-upload.netlify.app).

Describe your project:

During my 3 years in the community, the only consumer-friendly apps I could easily use were Video-Stream and Sombrero. In my opinion, the Sia ecosystem still lacks simple, non-technical tools for everyday users, which holds back mainstream adoption. If no one else is building simple, user-friendly apps, I will do it—even if I am a self-taught developer rather than a full-time software engineer.

D-Share is a zero-knowledge file hosting and link-sharing application powered by user-owned Sia storage. Unlike platform-funded uploaders, D-Share lets users authenticate via sia.storage delegation to store shared files directly on their own personal storage quotas. Running @siafoundation/sia-storage natively in the browser via WebAssembly (initSia()), all encryption, chunking, and node dispatches occur locally. When a file is uploaded, D-Share generates an instant shareable HTTPS link containing the cryptographic key in the URL hash fragment (/v/#fileId&key=...). Recipients open the link to stream and decrypt the file on the fly directly in their browser without requiring an account, ad popups, or serverless file size restrictions.

How does the projected outcome serve the Foundation’s mission of user-owned data? What problem does your project solve?

Traditional file-sharing sites rely on invasive ads, strict file size caps, or paid platform subscriptions, while current Web3 alternatives often require developers to subsidize storage or route files through bottlenecked serverless proxies. D-Share solves this by pairing user-delegated sia.storage accounts with browser-native P2P execution.

This advances the Foundation’s mission of user-owned data by keeping file management and storage quotas in the hands of the creator. Because encryption happens locally in the browser via WASM and decryption keys reside solely within URL hash fragments, middleman servers never touch unencrypted content or credentials. D-Share will be 100% open-source, offering reusable React hooks (useSiaAuth, useSiaShare) to simplify client-side Sia file sharing for the developer community.

Jurisdiction Checks:

Are you a resident of any jurisdiction on that list? No

Will your payment bank account be located in any jurisdiction on that list? No

Grant Specifics

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

Total Requested: $3,000 USD (paid via wire in monthly installments to a French bank account).

Commitment: Over the project duration, I will dedicate 20 hours per week to development.

  • Milestone 1 ($1,000) - Weeks 1 to 4: Browser WebAssembly SDK integration, OAuth/AppKey delegation workflow, and zero-knowledge client-side encryption/decryption pipeline with URL hash key encoding.

  • Milestone 2 ($1,000) - Weeks 5 to 7: Sharing UI (drag-and-drop uploader, instant HTTPS link generator, zero-knowledge web recipient viewer/player for images/videos/documents, and local upload history).

  • Milestone 3 ($1,000) - Weeks 8 to 9: Open-source GitHub release, reusable React hooks package extraction, technical documentation, and public launch.

What is the high-level architecture overview for the grant, i.e. how does your project build on Sia? What security best practices are you following?

D-Share is built using Next.js 15 (App Router, React 19, TypeScript) and @siafoundation/sia-storage running natively in the client browser via WebAssembly (await initSia()).

  • Client-Side Zero-Knowledge Encryption: Files are encrypted in browser memory before hitting the network.

  • Zero-Server Key Exposure: Decryption keys are embedded exclusively in the URL fragment (#key=...), which browsers never transmit to web servers.

  • Ephemeral Session Auth: User tokens remain strictly inside local browser session memory (sessionStorage / WASM context).

  • Direct P2P Streaming: Files stream directly between the browser and Sia network host nodes, eliminating middleman server proxies.

What are the goals of this small grant? Please provide a general timeline for completion.

Deliver an open-source, client-side Web3 file-sharing platform with instant HTTPS link generation across an 8 to 9-week timeline.

Provide monthly measurable and easy to understand milestones with clear coding deliverables:

  • Month 1 (Milestone 1 - $1,000):

    Deliverables: Functional sia.storage auth delegation, browser WebAssembly engine initialization (initSia()), and client-side zero-knowledge file upload and URL hash key decryption proof of concept. Working public Git commit for core storage module.

  • Month 2 (Milestones 2 & 3 - $2,000):

    Deliverables: Complete sharing interface (upload drag-and-drop, instant HTTPS share link generator, web recipient download/preview interface, quota tracking), published open-source GitHub repository (MIT license), reusable React hooks (useSiaAuth, useSiaShare), and technical integration guide.

Who is the target user for your project?

Content creators, webmasters, privacy-focused individuals who want to send large files via simple HTTPS links without ads or tracking, and Web3 developers looking for an open-source reference for client-side Sia integrations.

What are your plans for this project following the grant, including development, maintenance, and adoption?

Ongoing open-source maintenance, updating alongside future @siafoundation/sia-storage SDK releases, and promoting the project with Sia community members, my network, and on X (Twitter). I commit to providing continuous improvements for at least 1 year following the conclusion of the grant.

Potential risks that will affect the outcome of the project:

  • Risk: Large file browser memory constraints during WebAssembly encryption.

    Mitigation: Implement progressive chunked buffer streaming to maintain low RAM usage.

  • Risk: CORS restrictions on direct host node downloads.

    Mitigation: Use official indexer proxy fallback built into the Sia storage SDK.

Development Information

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

Yes. 100% of the codebase will be open-source under the MIT License.

Leave a link where code will be accessible for review.

https://github.com/public-upload/D-Share

Do you agree to submit monthly progress reports?

Yes, I agree to submit monthly progress reports on the Sia Forum as required.

i finish and its online