[GENERAL] Name and surname of main applicant
Burak Sen
[GENERAL] Email address of main applicant
buraksenb@gmail.com
Additional applicants
Donald Isufi
Umut Guler
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
8
[GENERAL] Please indicate if your proposal has been auto-translated into English from another language.
No
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
Yes
[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.” .
Project will depend on Blockfrost API for integrating with Cardano chain.
[GENERAL] Will your project’s output/s be fully open source?
Yes
[GENERAL] If NO, please describe which outputs are not going to be open source. If YES, please write “Project will be fully open source.”
Project will be fully open source.
[METADATA] Category of proposal
Dev Tools, API or Library
[IMPACT] Please describe your proposed solution.
Our proposed solution is to develop an open-source code runner that can execute code in various languages and Cardano smart contracts. This tool will serve as a valuable infrastructure for developers in the Cardano ecosystem, enabling them to test and verify their code in a streamlined and efficient manner.
The code runner will have the capability to run code in multiple programming languages, making it a versatile tool for developers working in different tech stacks. Furthermore, it will have the functionality to run smart contracts in the Cardano testnet, providing a practical tool for developers to test and refine their smart contracts before deploying them.
In addition to running code, the code runner will also have the ability to verify codes by checking outputs and verifying source code using REGEX. This feature will be particularly useful for educational purposes, as it will allow learners to check their code against predefined criteria and receive immediate feedback on their work.
Importantly, we will expose an API for the code runner, allowing other developers to easily integrate this tool into their own applications. This will further extend the utility of the code runner and encourage its widespread adoption in the Cardano developer community.
By providing this open-source tool to the Cardano community, we aim to foster a more robust and dynamic development environment, encourage learning and experimentation, and ultimately contribute to the growth and advancement of the Cardano ecosystem.
[IMPACT] How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
Our proposed solution addresses the challenge by providing an open-source, multi-language code runner that can execute and verify Cardano smart contracts. This tool will serve as a valuable infrastructure for developers in the Cardano ecosystem, enabling them to test and verify their code in a streamlined and efficient manner.
The benefits to the Cardano ecosystem are manifold:
- Fostering Development: By providing a tool that can run and verify code in various languages and Cardano smart contracts, we are removing a significant barrier to entry for developers. This will encourage more developers to build on Cardano, strengthening the ecosystem.
- Promoting Learning: The code runner will be particularly useful for educational purposes, as it will allow learners to check their code against predefined criteria and receive immediate feedback on their work. This will foster a culture of learning and experimentation in the Cardano community.
- Encouraging Integration: By exposing an API for the code runner, we are making it easy for other developers to integrate this tool into their own applications. This will further extend the utility of the code runner and encourage its widespread adoption in the Cardano developer community.
- Boosting Adoption: The availability of an open-source code runner specifically designed for Cardano will promote the Cardano blockchain to developers. This can lead to more developers choosing Cardano as their preferred blockchain for building applications, thereby boosting the adoption of Cardano.
In terms of impact, we believe our project will bring a significant number of developers and learners to the Cardano community.
[IMPACT] How do you intend to measure the success of your project?
The success of our project will be measured through a combination of quantitative and qualitative metrics.
- Integration Metrics: We aim to have the code runner integrated into at least three applications within a year of its launch. This is a realistic goal given the utility of the code runner and the growing interest in Cardano development.
- Usage Metrics: We will track the number of code executions and verifications performed using the code runner. An increase in these numbers over time would indicate that the tool is being actively used and is providing value to the community.
- Community Feedback: We will actively seek feedback from the Cardano developer community. Positive feedback and constructive suggestions for improvement would indicate that our tool is meeting the needs of the community.
- Contributions to the Codebase: As an open-source project, another measure of success would be the number of contributions made to the codebase by other developers. This would indicate that the project has gained traction and is seen as valuable by the developer community.
In the short term, the code runner will enhance Cardano's productivity by providing a tool that simplifies the process of testing and verifying code. In the long term, it will contribute to Cardano's growth by attracting more developers to the ecosystem and fostering a culture of learning and experimentation.
[IMPACT] Please describe your plans to share the outputs and results of your project?
Our plans to share the outputs and results of our project are as follows:
- Public Repository: We will host the codebase on GitHub, making it publicly accessible for anyone interested in the project. This will allow other developers to review our code, suggest improvements, and even contribute to the project.
- Releases: We will regularly release updates to the code runner, each time adding new features, fixing bugs, and improving performance. These releases will be documented and shared on GitHub.
- Documentation: We will provide comprehensive documentation on how to use and integrate the code runner. This will include a user guide, API documentation in OpenAPI format, and examples of how to use the code runner in various scenarios. The documentation will be hosted on GitHub and linked from the project's README file.
- Discord Server: We have a Discord server where we will share updates about the project, collaborate with other developers, and gather feedback from the community. This will serve as a hub for community engagement and collaboration.
- Further Research and Development: The results generated from the project will be used to guide further research and development activities. We will analyze usage data, feedback, and contributions to identify areas for improvement and new features to add. This will ensure that the code runner continues to evolve and meet the needs of the Cardano developer community.
By sharing our outputs and results in this way, we aim to foster a collaborative and transparent development process, engage with the community, and continuously improve the code runner based on user feedback and needs.
[CAPABILITY/ FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability?
Our team consists of accomplished developers possessing profound expertise in multiple technologies required for full-scale mobile app development. Our experience spans frontend, backend, and full-stack development, with a proven history of managing and delivering intricate projects that serve millions of users.
Our qualifications include:
- Technical Proficiency: Our team has command over several programming languages and technologies essential for mobile app development, such as Java, Swift, React Native for cross-platform applications, and Node.js for backend development. We are well-versed in leveraging cloud services like AWS for scalable infrastructure.
- Project Management: Our project management skills are honed through years of working within agile methodologies, enabling us to keep our project on schedule and deliver within set milestones.
- Scalability: We bring valuable experience from past high-scale projects to this initiative, preparing us to develop an app capable of smoothly handling extensive user traffic and transactions.
- Security: Recognizing the crucial role of security in an app handling financial transactions, we commit to incorporating secure coding best practices and routinely conducting security audits to ensure the robustness of our platform.
- Community Engagement: We embrace the principles of open-source development and active community engagement. Our development process will be transparent, and we'll actively solicit community feedback and contributions.
We're committed to fostering trust and accountability through:
- Transparency: By open-sourcing our code and offering regular progress updates, we'll ensure complete transparency in our actions.
- Responsiveness: We will stay actively engaged with our users and the broader community, promptly responding to any feedback, queries, or concerns.
- Integrity: We will operate with utmost integrity, ensuring secure and ethical handling of all transactions within our platform.
- Quality Assurance: Our commitment to quality assurance includes stringent testing and quality control processes, ensuring a reliable, high-quality app.
With these competencies and values in place, we stand confident in our capacity to deliver a high-quality mobile app with an elevated level of trust and accountability.
[CAPABILITY/ FEASIBILITY] What are the main goals for the project and how will you validate if your approach is feasible?
The main goals for our project are as follows:
- Develop an Open-Source Code Runner: Our primary goal is to develop an open-source code runner that can execute and verify code in various languages and Cardano smart contracts. This tool will be made available to all developers in the Cardano ecosystem.
- Facilitate Learning and Development: By providing a tool that can run and verify code, we aim to facilitate learning and development in the Cardano community. This will foster a culture of experimentation and continuous improvement.
- Promote Integration: By exposing an API for the code runner, we aim to encourage other developers to integrate this tool into their own applications. This will extend the utility of the code runner and promote its widespread adoption.
- Boost Adoption of Cardano: By providing a valuable tool specifically designed for Cardano, we aim to attract more developers to the Cardano ecosystem. This will boost the adoption of Cardano and contribute to its growth.
To validate the feasibility of our approach, we will use a combination of methods:
- User Feedback: We will actively seek feedback from users of the code runner. This will provide us with valuable insights into how well the tool is meeting the needs of the community and where improvements can be made.
- Usage Metrics: We will track the number of code executions and verifications performed using the code runner. An increase in these numbers over time would indicate that the tool is being actively used and is providing value to the community.
- Integration Metrics: We will track the number of applications that integrate our code runner. This will give us an indication of the tool's adoption rate.
- Community Engagement: We will monitor engagement on our Discord server and GitHub repository. High levels of engagement would indicate a strong interest in the project and its ongoing development.
- Developer Validation: Since our codebase will be publicly available on GitHub, other developers will be able to review our code, provide valuable feedback, and report bugs. This will not only help us improve the code runner but also validate our approach and the technical decisions we make.
By setting clear goals and using these methods to validate our approach, we believe we can successfully achieve our project objectives and contribute to the Cardano ecosystem.
[CAPABILITY/ FEASIBILITY] Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.
Milestone 1: Planning, System Design and Initial Work (1 Month)
- System design for server architecture
- Detailed project planning and determining project epics
- Initialize project repository and implement determined high-level software design
- Write code of conduct
- Write contributing guidelines
Milestone 2: Develop Minimum Viable Product (2 Months)
- Implement master-worker architecture for code runner
- Implement output validator for the given code
- Implement initial infrastructure for code runner using Kubernetes
- Implement REGEX validator for source code
Milestone 3: Integrate with Cardano Blockchain (1 Month)
- Integrate code runner with Cardano blockchain
- Enable ability to run Cardano smart contracts in testnet
Milestone 4: Extend Functionality and Develop the API (2 Months)
- Add support for different programming languages
- Develop the code runner API ( support both synchronous and asynchronous communication)
- Make Kubernetes infrastructure scalable and reliable
Milestone 5: Achieve Stable Runner (1 Month)
- Initiate bug hunting
- Make sure code runner has no breaking bugs and security vulnerabilities
Milestone 6: Documentation, Release and Further Work (1 Month)
- Write user guide
- Write detailed API documentation
- Publish the first production ready release of the code runner
- Announce production-ready application to Cardano communities
- Plan for further work after getting initial feedbacks
By following this timeline, we aim to deliver a fully functional code runner that meets the needs of our users and contributes to the Cardano ecosystem within eight months.
[CAPABILITY/ FEASIBILITY] Please describe the deliverables, outputs and intended outcomes of each milestone.
Milestone 1: Planning, System Design, and Initial Work (1 Month)
- Deliverables: System design for server architecture, detailed project planning, project epics, project repository initialization, code of conduct, contributing guidelines.
- Outputs: The system design for server architecture will outline the infrastructure and technologies required for the code runner. Detailed project planning and project epics will provide a roadmap and clear direction for the development process. Project repository initialization will set up the version control system and project structure. The code of conduct and contributing guidelines will establish the guidelines and expectations for project contributors.
Milestone 2: Develop Minimum Viable Product (2 Months)
- Deliverables: Implementation of the master-worker architecture for the code runner, output validator for the given code, initial infrastructure setup using Kubernetes, REGEX validator for source code.
- Outputs: The master-worker architecture will enable the code runner to handle concurrent code execution efficiently. The output validator will verify the correctness of the code's output. Setting up the initial infrastructure using Kubernetes will provide a scalable and containerized environment for running the code. The REGEX validator will allow validation and verification of the source code.
Milestone 3: Integrate with Cardano Blockchain (1 Month)
- Deliverables: Integration of the code runner with the Cardano blockchain, enabling the ability to run Cardano smart contracts in the testnet.
- Outputs: Integrating the code runner with the Cardano blockchain will allow executing and testing smart contracts on the Cardano network. This integration will provide developers with the capability to interact with Cardano's blockchain infrastructure and test their smart contracts in a controlled environment.
Milestone 4: Extend Functionality and Develop the API (2 Months)
- Deliverables: Adding support for different programming languages, developing the code runner API for synchronous and asynchronous communication, making the Kubernetes infrastructure scalable and reliable.
- Outputs: Adding support for different programming languages will broaden the range of code that can be executed by the runner. Developing the code runner API will enable users to interact with the code runner, submit code, and receive results synchronously or asynchronously. Ensuring scalability and reliability of the Kubernetes infrastructure will ensure that the code runner can handle increased load and provide a stable environment for code execution.
Milestone 5: Achieve Stable Runner (1 Months)
- Deliverables: Bug hunting, resolving breaking bugs, and addressing security vulnerabilities.
- Outputs: Conducting thorough bug hunting activities will help identify and resolve any critical issues in the code runner. Addressing breaking bugs and security vulnerabilities will ensure a stable and secure environment for running code, enhancing the reliability and user experience of the code runner.
Milestone 6: Documentation, Release and Further Work (1 Month)
- Deliverables: User guide, detailed API documentation, first production-ready release, announcing the production-ready application to Cardano communities and plan for further work.
- Outputs: Creating a user guide will provide comprehensive instructions for users to interact with the code runner effectively. Developing detailed API documentation will assist developers in integrating the code runner into their applications. Announcing the production-ready application to Cardano communities will generate awareness and engagement within the Cardano ecosystem.
The intended outcome of each milestone is to progress towards the development of a fully functional and reliable code runner that integrates with the Cardano blockchain. The deliverables and outputs of each milestone contribute to the overall goal of creating a powerful tool for executing and testing smart contracts, supporting various programming languages, and providing a user-friendly API.
[RESOURCES & VALUE FOR MONEY] Please provide a detailed budget breakdown of the proposed work and resources.
Based on the complexity of the project and the tasks involved, here is a rough estimate of the budget required:
Development and Implementation:
- Detailed System Design: $3,000
- Implementing Language Support: $10,000
- Code Verification and Validation: $5,000
- Implementing scalable infrastructure: $5,000
- Cardano Blockchain Integration: $8,000
- API Development: $5,000
- Simple UI development for serving API playground: $3,000
- Quality Assurance and Testing: $2,000
Documentation:
- User Guides: $500
- API Documentation: $500
- Contribution Guidelines: $500
Infrastructure and Hosting:
- Virtual Private Server for playground: $3,000 (estimated annual cost)
- Domain server and SSL cost: $500 (estimated annual cost)
Total Estimated Budget in USD: 46,000
Total Estimated Budget in ADA: 180,000
This budget is an estimate and may vary depending on the actual time and resources required. The budget includes the cost of development, testing, documentation, and hosting services. The contingency fund is set aside to cover any unexpected costs that may arise during the project.
[RESOURCES & VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
The cost of the project represents significant value for money for the Cardano ecosystem due to several reasons:
- Infrastructure Development: The project will provide a much-needed infrastructure tool for the Cardano ecosystem. The code runner will enable developers to test and verify their code and smart contracts in a streamlined and efficient manner, reducing the time and effort required for these tasks.
- Promotion of Cardano: By making the code runner open-source and widely available, we will be promoting the use of Cardano and its smart contracts. This will attract more developers to the Cardano ecosystem, fostering its growth and development.
- Community Engagement: The project will encourage community engagement by providing a tool that developers can use, contribute to, and improve. This will foster a sense of community and collaboration within the Cardano ecosystem.
- Long-term Value: The project will provide long-term value to the Cardano ecosystem by serving as a foundational tool for developers. As the ecosystem grows and evolves, the code runner will continue to provide value by adapting to the changing needs of developers.
In conclusion, the value it will bring to the Cardano ecosystem in terms of infrastructure development, promotion of Cardano, community engagement, and long-term value far outweighs the initial investment.
[IMPORTANT NOTE] The Applicant agreed to Fund10 rules and also that data in the Submission Form and other data provided by the project team during the course of the project will be publicly available.
I Accept