The Heartbeat of Cardano.

Pool.pm Visual Explorer – Open Source Improved Reboot towards a sustainable community innovation platform

Introduction

Pool.pm by Smaug a.k.a. Rémi Lefevre, is one of the most used websites in the Cardano ecosystem. Providing real time information about delegations, stake pools, nfts and much more. However, this site has now reached its limits in terms of self-funding, performance, technical debt and evolution velocity. For these reasons Smaug is presenting the proposal Pool.pm Visual Explorer – Open Source Improved Reboot towards a sustainable community innovation platform in Fund 10 of Project Catalyst. To rewrite pool.pm based on past experience, focusing on open source, performance & modularity to transition it towards an innovative, scalable & collaborative platform.

Impact

Smaug is looking to rewrite pool.pm based on his past experience running one of the most popular websites on Cardano. The new version will be focusing on open source, performance and modularity to transition it towards an innovative, scalable and collaborative platform. Currently, the Cardano blockchain lacks an advanced and original open source explorer, and there are concerns about the long-term availability and usefulness of pool.pm as it stands today. To address these issues, the proposed solution is to transition pool.pm into a community project by rewriting it as an improved open source tool based on Smaug’s past experience running the site.

The main objective of this transition is to enhance performance, scalability and robustness. Enabling full redundancy for updates without downtime, ensuring the project’s sustainability beyond current funding. Making it easier to identify issues and add new features. The improved version will allow easy delegation from any CIP-30 wallet to any stake pool, support reusability of internal parts in other projects and facilitate porting the software to other related networks. The new version of pool.pm will introduce several new features, such as stake address transaction timelines, displaying tokens in stake pool pages and asset policies pages with tokens. Additionally, rewards will be displayed in stake pool and stake address timelines. To ensure future sustainability and self-funding, sponsored features will be deployed, including maintainers sponsorship, custom DEX and marketplace detailed transactions and customized tokens whales as well as custom pools and stake addresses.

The makeover of pool.pm will primarily benefit stake pool operators (SPOs) as it initially started as a SPO tool. The reworked architecture will also facilitate hosting prepod and preview (Cardano testnets) network versions, meeting the needs of SPOs, developers and creators who test on these networks. Pool.pm is unique in engaging most Cardano users, including new users for its visual and intuitive blockchain representation, NFT users for displaying stake addresses contents and shareable URLs among other features. The new open source version will benefit all users with improved accuracy, performance and user experience. The transition to a community-driven open source project will open up new possibilities beyond those included in the proposal. 

The success of the project will be evaluated based on various key factors. Performance will be measured through real-time minimum, maximum and average lag measurements, as well as loading time. The implementation of new features, such as stake addresses timelines, rewards in stake pools and addresses timelines, tokens in stake pool timelines, and asset policies galleries, will also contribute to the project’s success. User satisfaction will be gauged by assessing the number of users and gathering feedback, including poll results and testimonials. Furthermore, the popularity and activity of the project’s source code on GitHub will be important indicators, including the number of stars, visits, forks, contributions (issues, feature requests, and pull requests). Ensuring the project’s sustainability will involve the deployment of GitHub sponsorship, the availability of sponsored features, and monitoring the overall growth results of sponsorship initiatives. By considering these metrics and elements, the success of the project can be effectively evaluated and maintained over time.

The completed version of the project will have its source code published on GitHub, allowing transparency and accessibility to the wider developer community. Users will be able to access the service at https://pool.pm, where it will be publicly available. Prior to the official release, alpha and beta versions of the service will be accessible through sub-domains. Valuable feedback from SPOs and other involved users will be actively sought and utilized to make continuous improvements to the service, leading up to the final version. To keep the community engaged and informed about the project’s progress, updates will be regularly shared on social networks, with a primary focus on Twitter. Additionally, a new Discord server will be established, fostering a community where discussions, collaborations and further feedback can be facilitated to create an even better service.

Feasibility

Rémi Lefevre, also known as Smuag, is the founder of pool.pm and co-founder of NFTCDN he is the main and sole applicant of this proposal. He possesses a diverse skill set as a blockchain, full stack, embedded dev and system, network and security engineer with over 19 years of tech lead experience

Since Fund 10, proposers of Project Catalyst need to provide a detailed explanation of the project’s milestones and the main tasks or activities to complete them. This proposal has an expected development lifecycle of twelve months with four distinctive milestones, each with a duration of three months.

Milestone #1: New version architecture, preliminary design & PoC
During the first milestone, the project will focus on key tasks. These tasks include establishing the service architecture, formulating a preliminary software design, and developing a Proof of Concept (PoC) for both the backend and frontend. The goal is to create a new version of pool.pm with improved performance. The PoC will be thoroughly tested and refined to ensure its effectiveness. The milestone will serve as a crucial step in laying the groundwork for the project’s success, setting the stage for subsequent development and enhancements. The progress made during this phase will be accessible at https://test.pool.pm, showcasing the improved performance of the test version of pool.pm.

Milestone #2: Alpha version v0.0.1
During the second, the project will focus on several critical tasks to achieve Alpha version v0.0.1 of pool.pm. The development of the homepage and stake pool pages will be central to this milestone, ensuring an improved user experience. Deployment automation will also be implemented to streamline the process of releasing updates and improvements. To gather valuable insights and feedback, test users will be onboarded, and their inputs will be carefully considered for further enhancements. In addition, a Discord server will be created to foster a community around pool.pm, encouraging discussions and collaboration. The milestone will culminate in the release of Alpha version v0.0.1, which will be accessible at https://alpha.pool.pm and will showcase the improved homepage and pool pages. This release represents a significant step forward in the project’s progress, providing users with a taste of the new and improved features.

Milestone #3: Beta version v0.1.0
For the third milestone, the project will continue its development efforts, working towards the Beta version v0.1.0 of pool.pm. Key tasks in this phase include the development of stake address pages and token pages, further enriching the platform’s functionality. To ensure the reliability and robustness of the software, a comprehensive test suite will be created and implemented. Additionally, the project aims to expand its network support by including compatibility with the Preview network, catering to the needs of testers and developers. The milestone will culminate in the release of the Beta version v0.1.0, showcasing the improved stake address and token pages. Users will be able to access the Beta version at https://beta.pool.pm, while the Preview network will be supported and accessible at https://preview.pool.pm. The release of the Beta version represents a significant advancement, offering a more comprehensive and refined experience for users and testers alike.

Milestone #4: Version v1.0.0
For the fourth and final one, the project will reach a major milestone with the release of Version v1.0.0 of pool.pm. This phase involves several critical tasks to achieve a robust and feature-rich final version. Sponsored features will be integrated into the platform, enhancing its capabilities and sustainability. The source code will be thoroughly reviewed and officially released, providing transparency and encouraging community contributions. The completed release version will be available for public use at https://pool.pm, while the Preview network version will run at https://preview.pool.pm, and the Preprod network version will be accessible at https://preprod.pool.pm. The team will actively address any reported issues to ensure a smooth user experience. Additionally, a comprehensive Catalyst Close-Out report will be prepared and sent. As part of this milestone, the project will also provide accessible documentation on https://github.com/pool-pm, further promoting open source collaboration and development. This Version v1.0.0 marks the culmination of extensive efforts and signifies pool.pm’s readiness for widespread adoption and utilization across various networks.

Value for money

Another modification for Fund 10 is that the budget is now in ADA and not in USD. This makes sense from the perspective that we are working to develop a new decentralized financial operating system but at the same time most projects need to pay for goods and services in fiat money. This brings a new challenge to the table since now teams need to ask for a coherent budget in a volatile currency.

The proposal provides a detailed breakdown of the project’s cost in terms of both USD and ADA, based on certain assumptions. The hourly rate of the company is set at $70 before taxes. Additionally, the conversion rate of 1 ADA is equivalent to $0.253 USD, a value used by Catalyst to establish budgets for various categories, including the budget for this challenge category.

Design / Architecture: The estimated time for design and architecture is 30 hours, resulting in a cost of $2,100.
Development: The development phase is projected to take 640 hours, amounting to $47,040.
Project Management / Reporting: The allocation for project management and reporting is 96 hours, totaling $6,720.
Support / Maintenance: The projected time for support and maintenance is 384 hours, resulting in a cost of $26,880.
Public Communication: The estimated hours for public communication is 24, with a cost of $1,680.
Infrastructure: The infrastructure costs are projected for a duration of 24 months, amounting to $12,000.

The subtotal of all these components is $96,420 USD, which is equivalent to 380,666.16 ADA, based on the given ADA to USD conversion rate. An ADA slippage tolerance of 5% is considered, resulting in an additional $4,821 to the total cost. Thus, the total cost of the project is estimated to be 399,699.47 ADA, taking into account the specified project components, hourly rates, and the ADA slippage tolerance.

Pool.pm has proven to be a valuable asset to the Cardano ecosystem, facilitating the onboarding of new SPOs and serving a substantial user base since its release, with hundreds of users frequently utilizing the platform. Its significant contribution to the growth of the Cardano NFT ecosystem and its praised visual representation, which aids new users in understanding the blockchain, further validate its positive impact. Smaug’s extensive 3 years of experience with Pool.pm and 20 years of professional experience justify the assertion that building a similar platform from scratch would be considerably more expensive. Introducing an improved open source version would secure a crucial piece of software within the Cardano ecosystem and pave the way for future contributions, evolution, and modifications. The chosen wage for the developer is deemed reasonable, considering the level of experience involved, and aligns with standard rates for experienced full-stack freelance developers. The estimated time for design and development is based on realistic assessments, taking into account accumulated knowledge and experimentation and represents a pragmatic scope for new functionalities, with the potential for further expansion in the future.

Q&A with Smaug

Q1: As a full-stack developer with 19+ years of experience and a proven record in the Cardano ecosystem, there’s little doubt that you can’t finish this project but given the scope of the endeavor I have to ask. Is 12 months enough time to completely rework the entire site? Have you considered hiring another developer to help you out in case there are unforeseen problems in the project’s roadmap?

A1: I think 12 months is a reasonable estimate, given the algorithms and intellectual property I can reuse or adapt from the current version, and the relatively limited number of new features planned. But as with any software project, there is indeed a risk that needs to be managed. I think the most important thing in this project is to get a clean, robust and scalable open source base that can then be extended, as this is necessary to attract contributions and make it a successful open source project in the long term. Once this stage has been reached, collaboration, whether hired or voluntary, will be easier and can be considered if it helps to meet the proposal schedule or the project as a whole.

Q2: You mention in the proposal the plan to deploy sponsored features to work towards future sustainability and self-funding. Could you elaborate further what you mean by this? What actually are “maintainers sponsorship”? Could this have a negative impact on the user experience of pool.pm?

A2: One of the challenges of projects such as http://Pool.pm is to make them sustainable without damaging the user experience. Indeed, a blockchain explorer needs to be developed to keep up with new blockchain features, but it also needs an infrastructure to host the service, which can become expensive with a growing blockchain and many users. One of the aims of the proposal is to start working on self-financing, to avoid constant reliance on Catalyst’s uncertain funding. The golden rules will be to avoid selling user data or adding intrusive ads, so the preferred way will be to rely on sponsorship like GitHub Sponsors (https://github.com/sponsors) or donations as well as sponsored features. Sponsored features will be those funded by users or third-party services that enhance the website by displaying additional or personalized information adding value to all users and in particular to those who fund them.

Q3: Fund 10 brings a new challenge for proposers, considering the budget and flat payments are now in ADA and not USD. For your budget you considered an exchange rate of 0.253 ADA/USD which is the “official” exchange rate. You also introduced a 5% slippage tolerance to your budget which is a smart move. However, the twelve month long development schedule can result in a volatility far greater than 5%. Does the project risk not being completed in case the valuation of ADA against USD falls more than 5%?

A3: Budgeting in ADA is indeed a major challenge. As most of my expenses are in euros, variations in the USD/EUR exchange rate already represent a risk, but the volatility of ADA represents an even greater one. If the ADA/EUR exchange rate falls much more than expected, I’ll probably have to scale back the project, at least in the short term. Fortunately, as I answered in the first question about project duration, I think the project can succeed even if not all the features are implemented, because the baseline is the most important and other features can be added later as the project progresses and generates more collaboration. Having said that, another risk in this case is that milestones may not all be reached, and failing to demonstrate proofs of milestones may reduce even more the budget.not be carried out. I think this is something we’ll have to work on with Catalyst and see how we can find the best solution in the event of serious problems with ADA value.

Q4: In the dependencies section of the proposal you stated that pool.pm relies on NFTCDN to display NFTs and the project could be impacted by the outcome of another proposal where you are a secondary applicant. What are the concrete risks to this proposal in case the other one is not funded?

A4: Displaying NFTs efficiently requires much more infrastructure, development and maintenance than expected at first. I learned this the hard way with http://pool.pm. So it’s expensive and time-consuming, which is why I had to co-found NFTCDN with Erfan. Without this service, http://pool.pm would barely be able to display NFTs in stake addresses and timelines, would require a lot of bandwidth from users (not at all suitable for mobile or slow internet), and would not be robust (limited rate). To provide an even more visual experience, the new version of http://pool.pm intends to increase its use of NFTCDN and, should its proposal not be funded, this would most likely have a significant impact on the cost of the infrastructure. Depending on ADA’s value, this might require reducing the scope of functionality to compensate, or using a less expensive and therefore less powerful infrastructure. In the worst-case scenario, if NFTCDN ceases to provide its service for whatever reason, http://Pool.pm may have to operate without displaying NFTs until another solution is found.

Q5: You mention in the proposal that an objective is to make it easier to port the software to other related networks like Hydra channels or Ergo. In case ADA appreciates far above the expected 0.253 ADA/USD valuation, would you consider adding these features as a bonus?

A5: I intend to maintain and improve the project, with ADA appreciating beyond expectations or not, so these developments will certainly be considered among other feature requests when possible. For Hydra, it’s probably too early to be really useful, but it would be an excellent way to test whether the service can perform well enough for such a use case, and improve it if necessary. As for Ergo, this has been requested several times, but although both blockchains are based on eUTXO, Ergo’s infrastructure and tooling are completely different, so it would be a huge challenge and hopefully some Ergo developers might be interested in contributing if there’s enough interest.

Link to Ideascale proposal: https://cardano.ideascale.com/c/idea/106718

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts