[GENERAL] Name and surname of main applicant
Mert Köklü
[GENERAL] Are you delivering this project as an individual or as an entity (whether formally incorporated or not)
Individual
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
4
[GENERAL] Please indicate if your proposal has been auto-translated into English from another language
No
[GENERAL] Summarize your solution to the problem (200-character limit including spaces)
An iHaskell-based Jupyter environment for Plutus will be developed, enabling interactive smart contract development, testing, and learning in Jupyter notebooks.
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
No
[GENERAL] If YES, please describe what the dependency is and why you believe it is essential for your project’s delivery. If NO, please write “No dependencies.”
No dependencies.
[GENERAL] Will your project’s output/s be fully open source?
Yes
[GENERAL] Please provide here more information on the open source status of your project outputs
The project will be fully open-source, available on GitHub under the MIT license, free to use, and open to contributions from developers through pull requests and issues.
[METADATA] Horizons
Developer Tools
[SOLUTION] Please describe your proposed solution
The proposed solution is to create an interactive development environment for Plutus smart contracts using Jupyter notebooks. Key components include:
- Plutus integration with Jupyter: IHaskell is a kernel for the Jupyter project, which allows you to use Haskell inside Jupyter frontends (including the console and notebook). Jupyter notebook environment will be implemented with iHaskell can interpret and execute Plutus code. This will involve configuring iHaskell to work with Plutus libraries and creating specialized magics and helper functions to facilitate Plutus-specific operations within the notebook.
- Documentation and tutorials: Comprehensive guides on using the Plutus Jupyter notebooks for Plutus contract will be written, including installation instructions, usage examples, and best practices. These resources will be crucial for onboarding new developers and helping existing Cardano developers transition to this new environment. The documentation will cover topics such as setting up the environment, basic and advanced Plutus concepts, and how to leverage the interactive nature of Jupyter notebooks for smart contract development.
- VSCode extension: An extension for Visual Studio Code will be developed to streamline the setup and use of Plutus Jupyter notebooks within the popular IDE. This extension will make it easier for developers to integrate the Plutus Jupyter environment into their existing workflow, potentially increasing adoption and usage of the tool.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community
The project is expected to have several positive impacts on the Cardano ecosystem:
- Lowered barrier to entry: Interactive notebooks will make it easier for new developers to start working with Plutus smart contracts in Cardano.
- Improved developer experience: Rapid prototyping and interactive coding capabilities will accelerate the development process for Cardano dApps.
- Enhanced learning resources: The notebooks and comprehensive documentation will serve as valuable learning tools, helping to spread knowledge of Plutus smart contracts.
- Increased development: An easier development process may encourage more developers to experiment with contracts on Cardano.
- Broader adoption: As the development process becomes more accessible, growth in the number of Cardano dApps and users can be expected.
The impact will be measured through:
- GitHub stars/forks of the project
- Download counts of the VSCode extension
Project outputs will be shared by:
- Open-sourcing all code on GitHub
- Publishing the VSCode extension to the marketplace
- Publishing doc website
[CAPABILITY & FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?
I have a proven track record of successfully completing projects while maintaining high levels of trust and accountability. I have extensive experience in Jupyter notebooks, with a strong understanding of Cardano ecosystem.
I have experience working with well-known protocols such as Solana, Arbitrum, Filecoin etc. showcasing my ability to handle multiple ecosystems and expertise. I have developed more than 15+ grantee projects for 10+ protocols so far which are well received by the communities and developers. All of these projects are open-source and available on GitHub.
[PROJECT MILESTONES] What are the key milestones you need to achieve in order to complete your project successfully?
Plutus Integration with Jupyter
Milestone Outputs
- Functional Jupyter notebook environment for executing Plutus code
Acceptance Criteria
- Ability to define and execute basic Plutus scripts in a notebook
Evidence of Milestone Completion
- GitHub repository with setup instructions and example notebooks
Documentation, Tutorials, and VSCode Extension
Milestone Outputs
- Comprehensive guides and tutorials for using Plutus in Jupyter notebooks
- VSCode extension for easy setup and use of Plutus Jupyter notebooks
Acceptance Criteria
- Live documentation covers introduction, installation, basic usage
- Users can set up the Plutus notebook environment with a single VSCode command
Evidence of Milestone Completion
- Published documentation website and tutorial videos
- Published VSCode extension with user guide
Project Close-out
Milestone Outputs
- Project Close-out Report and Video
Acceptance Criteria
- Comprehensive report detailing project achievements, and deliverables
- Demo video showcasing the final product and its usage
Evidence of Milestone Completion
- Detailed project report document
- High-quality demo video
[RESOURCES] Who is in the project team and what are their roles?
Mert Köklü
Mert holds a degree in Computer Science and worked as the Intelligent Video Analytics Team Leader at an NVIDIA distributor company for two years, developing AI solutions. He has since contributed to multiple Web3 protocols through innovative projects. Mert is a certified NVIDIA instructor and ambassador for organizations like Microsoft and The Graph protocol.
Here are some of my previous projects:
Links to my profiles
LinkedIn: https://www.linkedin.com/in/mertkoklu/
GitHub: https://github.com/justmert
Discord: mertkkl
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources
Developer Compensation: Compensation for the my time spent on designing, developing, testing, and launching Koios Rust Client Library.
- Amount: 32,000 ADA
- Details: This covers full-time development work at a rate of 8,000 ADA per month for 4 months.
Maintenance and Support: Ongoing maintenance and user support for the Koios Rust Client Library for 12 months following the development period.
- Amount: 13,000 ADA
- Details: This will cover activities such as updating the project with new versions of Jupyter or Plutus changes. It also covers fixing any bugs that arise, and providing user support via forums and direct communications.
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
This project offers significant value for the Cardano ecosystem:
- Developer Productivity: By providing an interactive environment for Plutus development, the project aims to reduce the time and effort required to develop smart contracts, potentially increasing the productivity of Cardano developers.
- Ecosystem Growth: Lowering the barrier to entry may attract more developers to Cardano. Even a modest increase in the developer base could result in new projects and increased ecosystem value.
- Education ROI: The interactive nature of Jupyter notebooks, combined with comprehensive documentation, will accelerate the learning curve for new Plutus developers, potentially reducing onboarding time and resources.
- Open Source Leverage: By open-sourcing the work, the community will be enabled to build upon and extend the tools, multiplying the initial investment.
- Long-term Impact: Developer tools tend to have a compounding effect over time. The initial investment has the potential to pay dividends as long as Cardano continues to evolve.
The cost of the project is designed to maximize value while ensuring efficient use of funds for specialized blockchain development. The budget of 45,000 ADA (approximately $15,065.17 USD) is allocated over a 4-month development period. This amounts to 11,250 ADA per month, or roughly $3,766 USD per month, which remains competitive for specialized blockchain development, especially considering the required expertise in Rust, the Cardano ecosystem, and API integration. Given the potential impact of this library on expanding the Cardano ecosystem and attracting Rust developers, this project represents excellent value for money by fostering the growth of data-driven dApps and enhancing developer engagement within the Cardano community.