[GENERAL] Name and surname of main applicant
Tolga Yaycı
[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)
5
[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)
Proposing Marlowe VS Code Extension that integrates all Marlowe development tools into a user-friendly interface, simplifying smart contract development on Cardano directly within VS Code.
[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 following the contribution guidelines.
[METADATA] Horizons
Developer Tools
[SOLUTION] Please describe your proposed solution
Working with Marlowe involves interacting with multiple tools like marlowe-cli, marlowe-runtime-cli, and runtime services like chain-indexer, chain-sync etc. which disrupts workflows and complicates the smart contract development process. This is particularly challenging for newcomers and reduces productivity for experienced developers.
Marlowe VS Code Extension, designed to address the complexities of developing and managing Marlowe smart contracts on Cardano.
The Marlowe VS Code Extension Suite is a comprehensive integrated development environment designed to streamline the entire lifecycle of Marlowe smart contract development on Cardano. The extension addresses the fragmented and complex nature of current Marlowe development tools by consolidating them into a single, intuitive interface within Visual Studio Code, one of the most popular IDEs among developers. Thus, improving the workflow for developers, allowing developers to efficiently create, test, and manage contracts directly where you develop without switching between cli applications.
The solution involves building an integrated environment in VS Code through extension which consists of,
- The Marlowe interface providing graphical interface for marlowe-cli, covering all its associated features. This GUI is designed to offer a user-friendly, intuitive interaction layer.
- GUI for marlowe-runtime-cli functionalities
- User-friendly interface for marlowe-cli's contract simulation and testing features
- Visual interface for marlowe-cli's transaction size and cost estimation tools
- The Marlowe Runtime interface offers a graphical interface for the marlowe-runtime-cli, redefining the ease and efficiency with which developers can manage and interact with Marlowe contracts on the Cardano.
- GUI for marlowe-runtime-cli functionalities
- Visual representation of contract state, enhancing existing query capabilities
- Streamlined interface for contract deployment and execution workflows
- Unified control interface for all Marlowe backend services:
- Chain indexer (marlowe-chain-indexer)
- Chain sync (marlowe-chain-sync)
- Contract storage (marlowe-contract)
- Contract indexing (marlowe-indexer)
- API gateway (marlowe-proxy)
- Synchronization and query service (marlowe-sync)
- Transaction creation server (marlowe-tx)
- The Marlowe GPT is an GPT agent, designed to guide developers through the contract development by offering coding support, best practices and documentation access.
- GPT-powered coding assistant trained on Marlowe and Cardano
- Natural language interface for querying Marlowe documentation
- The Quick Start interface offers developers to quickly initiate new Marlowe projects, providing templates and examples to simplify the project setup process.
- Easy access to existing contract templates within the IDE
- Curated library of example contracts, easily accessible within the IDE
- The Project Management interface facilitates the creation and management of Marlowe smart contract projects.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community
This integrated environment is unique as it consolidates all Marlowe development tools through one extension into a familiar and widely used platform - VS Code. It will benefit both novice and experienced developers by making smart contract development more accessible and efficient, thereby increasing innovation and adoption.
Below are some of the impacts:
- Integrates all Marlowe tools into a single VS Code environment, reducing the need to switch between multiple tools and contexts, thus significantly easing the development workflow, reducing development time and effort for both new and experienced developers.
- Lowers the entry barrier for new developers by providing a user-friendly interface and reducing the complexities associated with CLI tools.
- Allows developers to create, test, and manage contracts more efficiently by providing a graphical interfaces with simple buttons.
- Simplifies development and makes advanced tools accessible, attracting a broader audience and reducing the complexity of smart contract development on Cardano.
- The inclusion of the Marlowe GPT and templates/examples in the Quick Start interface provides quicker onboarding of new developers.
- Easier development with this extension will likely lead to an increase in the number of Marlowe contracts deployed on Cardano.
Success of this tool will be tracked through user engagement metrics like download counts and active users, and gather direct feedback from the community to iterate and improve the tool further. Codebase will be shared openly on GitHub for transparency and community contributions, and engage with the community through dev forum and Discord.
I am for 100+ extension downloads in the first 6 months after releasing the extension.
[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 developing Vs Code extensions, with a strong understanding of Cardano ecosystem.
I have previously developed Stylus Extension Suite for Arbitrum, demonstrating my ability to deliver high-quality, user-friendly extensions. My published VS Code extension currently has 67+ installs.
I have also experience working with well-known protocols such as Arbitrum, Solana, Internet Computer etc. showcasing my ability to handle multiple ecosystems and expertise. I have developed more than 10 projects for 7+ protocols 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?
Project Management and Marlowe CLI Features Integration
Milestone Outputs
- Fully operational Project Management interface within the VS Code Extension.
- Integrated Marlowe interface that covers marlowe-cli functionalities within the VS Code Extension.
Acceptance Criteria
- Successful implementation of the project management interface that supports the full lifecycle of a Marlowe project.
- Functional Marlowe CLI functionalities supported within VS Code that can execute all commands without leaving the editor.
Evidence of Milestone Completion
- GitHub commits showing the development progress and integration of these features.
- Screenshots and video demonstrations of both interfaces working within the VS Code environment.
Marlowe Runtime CLI, Quick Start and Marlowe Services Integration
Milestone Outputs
- Integrated Marlowe Runtime GUI interface that covers marlowe-runtime-cli functionalities within the VS Code Extension.
- Integrated Quick Start interface with templates and examples for new Marlowe projects.
- GUI implementations of Marlowe Runtime backend services in VS Code for the following Marlowe Runtime services,
- Marlowe Chain Indexer Service (marlowe-chain-indexer) - Chain indexer
- Marlowe Chain Sync Service (marlowe-chain-sync) - Chain query and sync server
- Marlowe Contract Service (marlowe-contract) - Contract storage service
- Marlowe Indexer Service (marlowe-indexer) - Contract indexing service
- Marlowe Proxy Service (marlowe-proxy) - The API gateway server
- Marlowe Sync Service (marlowe-sync) - Contract synchronization and query service
- Marlowe Transaction Service (marlowe-tx) - Transaction creation server
Acceptance Criteria
- Marlowe Runtime interface can manage and interact with contracts using Marlowe Runtime CLI features.
- Quick Start interface provides easy access to templates and examples for rapid project initiation.
- Marlowe Services interface successfully integrates backend services with complete functionality.
Evidence of Milestone Completion
- GitHub commits showing the development progress and integration of these features.
- Screenshots and video demonstrations of all three interfaces working within the VS Code environment.
Implementation of Marlowe GPT, Testing, and Release
Milestone Outputs
- Fully functional Marlowe GPT integrated within the VS Code Extension, offering coding support and documentation access.
- The project is finalized and ready for public release on the VS Code Extension Marketplace.
- Publication of detailed documentation and usage tutorials of VS Code extension and its features.
Acceptance Criteria
- Marlowe GPT must assist must provide relevant Marlowe smart contract development queries and needs to provide code snippets.
- Extension suite passes all unit/integration tests, documented thoroughly, and listed in VS Code marketplace.
Evidence of Milestone Completion
- Video of the Marlowe GPT in action, showing it providing assistance.
- Published documentation and tutorials accessible through the extension or a linked resource.
- Public link of released extension on VS Code marketplace.
Project Close-out Report and Video
Milestone Outputs
- Comprehensive close-out report detailing the development process, and overall project outcomes.
- Production of a final video showcasing the fully functional VS Code extension, demonstrating its features and benefits for Marlowe smart contract development.
Acceptance Criteria
- The close-out report will thoroughly document the project’s execution.
- The video will effectively demonstrate the use of the VS Code extension, highlighting its integration points and ease of use.
Evidence of Milestone Completion
- A completed close-out report available for review by the broader community.
- A publicly accessible video published to showcase in community forum and channels.
[RESOURCES] Who is in the project team and what are their roles?
Tolga Yaycı - Software Developer
A full-stack developer with three years of experience, Tolga holds a degree in Computer Science. He has created several Web3 applications and developed complex React and Next.js projects, demonstrating his ability to build robust web and desktop applications. Tolga is currently a contractor for ApeWorX.
Have 10+ grantee projects for more than 7 protocols such as Arbitrum, Internet Computer, and Stellar.
Notable grantee projects include:
[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 the VS Code extension.
- Amount: 50,000 ADA
- Core Extension Development: 30,000 ADA
- Marlowe GPT Integration: 10,000 ADA
- Testing and Refinement: 10,000 ADA
- Details: This covers full-time development work at a rate of 10,000 ADA per month for 5 months.
Maintenance and Support: Ongoing maintenance and user support for the extension for 12 months following the development period.
- Amount: 25,000 ADA
- Details: This will cover activities such as updating the extension to keep it compatible with new versions of VS Code or Marlowe, 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?
The cost of the Marlowe VS Code Extension Suite project is aligned with the typical costs associated with software development in the ecosystem, ensuring that the budget reflects the standard rates for skilled developers. I have worked at similar rates for some protocols. The budget also accounts for ongoing maintenance to ensure the tools remain robust and effective, providing long-term value without additional costs.
- Cost Efficiency: The budget translates to about $4,230 per month for the 6-month development period, or roughly $26/hour for full-time work. This rate is highly competitive for specialized blockchain development, especially considering the unique combination of Cardano, Marlowe, and VS Code extension expertise required.
- Long-term Value: The 12-month maintenance period ensures sustained value beyond initial development, crucial for the tool's ongoing relevance and effectiveness.
- Ecosystem Growth: By lowering entry barriers, we anticipate increased developer adoption. If the tool helps onboard just 50 new developers to Cardano, each potentially contributing $25,000 in ecosystem value through their projects, the return could be 50 times the initial investment.