Closed ryanshahine closed 2 years ago
Hi @ryanshahine, thank you for this submission! Once the remaining milestones have been restructured according to the current budget and funds are fully expended, we can consider additional funding. To discuss milestone amendments, please reach out my email.
Please do not hesitate to be in touch with any questions.
Open Grant Proposal:
Portrait
Name of Project: Portrait
Proposal Category:
app-dev
Proposer: ryanshahine and giliamverheide
Technical Sponsor: Ongoing dev-grant: Issue 354
Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT and APACHE2 licenses?: Yes, but under GNU AGPLv3 as discussed.
Project Description
The purpose of this document is to request a restructuring of the current Open Dev Grant for the open-source development, design and research by Portrait, with the core objective to add significant value to the Filecoin ecosystem. In this document we will elaborate on challenges which require restructured funding.
Portrait aims to contribute to a pro-privacy and censorship-resistant web. As these are sensitive topics, we consider those topics to be in conjunction with the reputation and success of Portrait. This led to abstaining from any form of investments or funding, in exchange for equity or direct influence on the project.
Portrait is driven by the idea of building a better web, a long-term vision. For this reason, we are requesting additional funding solely from the Filecoin Foundation. We believe that Portrait adds value to the Filecoin ecosystem and the Filecoin ecosystem adds value to Portrait: a bilateral relationship with shared fundamentals.
Value
The need for rescheduling boils down to two main factors:
This should be seen as an extension of the value stated in the approved dev-grant. The benefits of extending the grant lies in building for longevity. This argument in favour of extending the grant may also be seen as an imposed risk. To clarify this argument you may find visuals of the legacy user interface and the upcoming user interface below, to see what kind of level we are aiming for.
Legacy User Interface as standardized with ongoing grant
Preview of Desktop User Interface as part of restructured grant
Preview of Mobile User Interface as part of restructured grant
Deliverables
Previously completed and approved deliverables
Q4 2021
Full details: November | December
Summary
- Rebranding - Blockforge to Portrait - Visual Identity - Landing page - Codebase - Initiated legacy front-end and backend - Backend implementation Filecoin deal status - Research into Decentralized Attestation Providers - Migration + security - Migration from Blockforge to Portrait - Codebase migration to team repository - Migration domain, email, notion, api - Research Web3 onboarding providers - Design direction user onboarding - Hardware / server - On-site installation hardware server - Setting up 14 TB storage IPFS node in RAID 1 - Phase out Infura, implement own node - Meetings with Maven11 and Polygon - Research revenue streams - First implementation proofs in UIQ1 2022
Full details: January | February
Summary
- Low-fidelity UI sketches new design direction - High-fidelity UI sketches new design direction - Themes prototypes - Continuation hardware setup - Database architecture research - Postbox encryption Proof-of-concept: peer-to-peer messaging with client-side encryption - Postbox decentralized storage research/PoC with Tableland (Textile) - Added Filecoin storage proof to UI (low-level PoC) - Magic (Ethereum w/ e-mail) onboarding Proof-of-concept - ENS domain implementation proof-of-concept - Rewriting database architecture (90%) - Rewriting back-end architecture from hackathon legacy code-base (50%) - API DocumentationDeliverables: in-depth
Design
As presented during the December ‘21 check-in, we are refining the overall design direction of Portrait: focusing primarily on censorship-resistance and pro-privacy, whereas Blockforge (pre-Portrait) emphasized on being a highly-customizable website builder.
The core arguments for adjusting our design direction are:
During the January ‘22 and February ‘22 check-ins we showcased updated user-interface propositions. The low-level framework is being transitioned into a component-based standard which will then be used for production.
With this new direction, all elements and components need to be considered and designed individually in multiple contexts and with multiple themes: i.e. a single component requires nine designs when a scenario of three viewports and three themes is considered. With each additional theme and styling option we provide for our users, the workload to realise every component increases exponentially.
In addition, we are implementing a peer-to-peer encrypted messaging protocol named Postbox in conjunction with our censorship-resistance and pro-privacy design direction built on top of Waku known for the implementation by Status and WalletConnect V2.
Research
Because the team has shifted to a full-time dedication, there is more room for researching the ethical implications of the Filecoin ecosystem and Portrait. Research topics such as governing illegal content, pseudo-anonymous data analytics and peer-to-peer encrypted messaging are now within reach. Where our research into peer-to-peer messaging lead to Postbox, we aim to study new ways of improving and substantiating Portrait and the Filecoin ecosystem by means of verifiable and censorship-resistant content and governance. All developments and research will be published under Apache/MIT or GNU AGPLv3 depending on the repository.
Development
The research and design elements will be translated into a web app. The overall development is closely correlated to the design and research developments and will also be published under Apache/MIT or GNU AGPLv3 depending on the repository. For example, portrait-ipfs-authentication is published under MIT as there is no direct relation to the main application of Portrait. Front-end and back-end repositories will be published under GNU AGPLv3.
Final deliverables
Development Roadmap
We opted for one week sprints, in which we can divide our workload and measure performance in a shorter timeframe. Our sprints are publicly accessible through GitHub projects, anyone may track the progression of Portrait.
Roadmap
Our roadmap is designed in GitHub projects. For archiving purposes we added two mirrors to the roadmap. Once a week, milestones are assigned to the dedicated sprint. The intend of this roadmap is to be completely finished at the end of June 2022.
Live version: GitHub projects Archived version: Mirror 1 -- Mirror 2 (IPFS)
Total Budget Requested
The remainder of the original grant from March 2022 - June 2022 is €35.067. With the current challenges and objectives we request an additional €81.683 in funding, for a total of €116.750.
The requested budget from March - June in this proposal, serves as a replacement for the originally approved budget for that same period in #354.
The budget is categorized into nine topics, as seen in the table below. These topics collectively consist of ~110 individual deliverables which are tracked through GitHub. A set of deliverables will be assigned to weekly sprints every last business day of the week, with the end goal of realizing all deliverables divided equally throughout a period of four months.
We consider a 7% overhead for all nine categories, which is calculated by taking 7% of the total costs of all nine categories, excluding the base costs. This will cover unexpected development and research costs.
Base costs are subjected to the remainder of our previously approved grant with the exception of all team member compensations. In general, base costs will cover most license fees, subscriptions, hardware, power bills, compensation for open-source contributors, promotional costs and server maintenance.
Maintenance and Upgrade Plans
Team
Team Members
The Portrait team has been working together on several projects for over 8 years.
Ryan Shahine ryan@portrait.gg Back-end engineer + architecture design + research
Giliam Verheide giliam@portrait.gg Front-end lead + UI/UX
Team Member LinkedIn Profiles
Giliam Verheide - https://www.linkedin.com/in/giliam-verheide/ Ryan Shahine - https://www.read.cv/ryanshahine
Team Website
https://portrait.gg
Relevant Experience
The Filecoin Foundation has approved every milestone of our ongoing grant to date.
Portrait received the runner-up prize for Browsers3000. The Portrait team also built Nebary for HackFS, HackFS was running at the same time as Browsers3000.
Team code repositories
Some repositories may be set to private. Please reach out to us if access is needed.
https://github.com/portraitgg
Additional Information