[IMPACT]
Context of the Problem
Cardano developers approach Charli3 everyday asking for data-feeds, but most do not have any idea what’s involved in setting up a feed, where to start, and even what questions to ask – the process of integrating off-chain data feeds to a Cardano DApp is shrouded in mystery.
Building on an established solution:
Charli3 already has an audited MVP of our Decentralized Oracle Ecosystem Solution. Our core service is launching and managing an ecosystem of data providers, node operators, our proprietary software and on-chain consensus solution to enable the consumption of accurate, secure, and trusted off-chain data by Cardano smart contracts. We were the very first project to pass the IOHK Audit Certification Program; we were awarded level 2 certification from CertiK.
This proposal goes beyond our core service to create a publicly accessible environment for Cardano DApp creators to easily integrate our off-chain data feeds, including the free oracle community data feeds recently awarded funding in Fund7 (https://cardano.ideascale.com/c/idea/384686).
Our Proposed Solution: Oracle Developer Portal
The Oracle Developer Portal breaks down into two main components.
Firstly, the “Developer Portal” itself will contain everything you’ll need to integrate a data feed into your DApp and test it. This includes a SDK with technical documentation along with substantial FAQs, guides, developer resources, and community links to get support. The main deliverable will be the SDK and accompanying documentation. However, there is more the portal than just the SDK... we intend to create educational resources so developers can self-service. Below is a list of deliverables for the Developer Portal -- also please view the attached mock-up designs to view our vision.
- SDK (to integrate Charli3 off-chain data feeds)
- Documentation
- Technical SDK Documentation
- How Charli3 Works
- Downloading The Testbed
- Your First Contract
- Configure Your Feed
- Feed Characteristics
- Custom Feeds
- And More...
- Resources for Support
- Videos
- Links to community forums etc.
- And more...
Secondly, the “Node/Feed Portal” will contain live feeds from our ecosystem showing what available data feeds there are for developers, roughly the costs, and we will include a fee estimator. The purpose of this section is for developers to quickly see what data is available, decide on what they will use in their own solution. Again, here is a list of the key deliverables
- List of available feeds, live nodes, costs, and more (these feeds will be pulled from our ecosystem and updated frequently; this is probably the most complex part of our solution requiring the most amount of development work)
- Fee estimator (New-feed-explorer that lets a user specify data source, update interval and node count, and get a price estimate (along with documentation about how to choose those variables intelligently)
- Documentation for developers building DApps as well as node operators
- How Charli3 Nodes operate
- Node Requirements
- Downloading
- Configuration
- And more...
Please find attached to this proposal 4 mock-ups of our vision of the user-experience (2 for the developer portal and 2 for the Node/Feed Portal. Also, here is medium article link where we will likely update mock-ups as we get closer to voting and/or add more details to the proposal: https://oraclecharli3.medium.com/catalyst-fund-8-74ff2702fe93
Future roadmap (out of scope of proposal)
- Developer forum
- Dedicated support team
- Account system for setting up profiles
- And more.
Who Benefits?
By significantly reducing the challenge for Cardano developers to integrate off-chain data, more Cardano Dapps will leverage off-chain data in their end-user solution. The impact will be a richer overall experience from the DApps in the Cardano ecosystem. Our vision is to grow an off-chain data feed portal with education, easy access to free/paid feeds, and support for Cardano’s Dapp builders – significantly reducing the barrier to launch.
We understand the goals and main KPIs of this category to be the following:
- Increase overall quality of Cardano DApps in ecosystem
- Increase new viable applications on Cardano
- Attract more users to Cardano
As a Decentralized Oracle solution, Charli3 is not an end-user DApp. Instead, we see ourselves as an essential integration layer that will empower DApp builders. Here are our assumptions and arguments for why funding our proposal will achieve all of the above goals in the category:
Assumptions
A1: not much is currently known on how to integrate off-chain data into Cardano DApps (problem)
A2: the easier it is and the more Cardano developers know how-to integrate off-chain data feeds into their DApps, the more likely they will do so (increase new viable applications)
A3: DApps with off-chain data integrations provide a richer end-user experience (Increase overall quality)
Assumption 4: An ecosystem with a greater number of rich end-user experiences will increase adoption (Attract more users)
Impact
Our solution is designed to educate developers and provide the tools necessary to integrate off-chain data feeds into their DApps. The outcome will be that Cardano Developers will more likely integrate off-chain data and build richer experiences for end-users, which will lead to an increase in adoption of DApps on Cardano as a whole.
Risks
- Uncertain Cardano Development (changes to the PAB or adoption of alternative scaling solutions) could cause the content and SDK to change materially along with refactors needed on our core solution
- Underestimating the amount of Development needed to maintain the portal after it is launched; the proposal covers the cost of launching and maintaining it for only a limited period of time.
- Lack of clarity over completion of project
- Building the Node/Feed Portal + Fee estimator is complex and will require our team to build web-based solutions dependent on getting accurate data from the ecosystem; such a solution requires maintenance and scalability built into the design -- if we don't do it properly we risk having inaccurate or unreliable feed information.
- Increasing engagement might be a challenge; not enough engagement can significantly reduce the value
Strategies
- We are adopting the same strategy that we use on our core solution: build a buffer into our development estimates that leave room for refactors. Our strategy is to remain transparent on our progress and need to refactor through our monthly reporting with Catalyst.
- Our team is setting aside a separate internal budget to maintain the developer portal after launch. We consider this proposal as funding the launch, after which the costs of sustainment are on our team.
- A clear definition of done is needed for both the Developer Portal and Node/Feed Portal.
- Developer Portal
- SDK and documentation are done when a user can access the website, download the SDK, find the information to successfully integrate an off-chain data feed into their DApp (or other solution)
- Node/Feed Portal
- The portal is done when;
- A user can view all available nodes/feeds (at least 1) that are updated within the last 24 hours. We obviously want to strive for real-time updates, but this would give us a satisfactory MVP.
- The Fee Estimator functions to return a cost estimate for a data feed that is within 10% of the actual cost.
- A user can access documentation/information that successfully enables them to interpret the available node/feed lists, use the fee estimator successfully, and/or set up as a node operator.
- Our strategy is to overestimate development on this part and dedicate our internal developers along with external contractors to ensure this part of the solution is robust enough to scale with more feeds.
- The Charli3 marketing team will launch a campaign to raise awareness.
[FEASIBILITY]
The project plan is broken down into three phases -- here is a high level summary, while in the next question we broke down each section into pieces of work with hour estimates.
Phase 1:
- Assign 2-3+ internal developers to the project
- Supplement development team with additional resources as needed (e.g. front-end development)
- Onboard team onto the project and prepare internal project planning
- Front-end team works with contracting graphics and technical writers to create dedicated website
- Launch basic content website as end of phase 1
Phase 2:
- Focus on this round is on the developer portal with significant effort placed on the SDK
- Documentation is worked on by technical writers with support from developer team; resources will be split for this phase adding to the cost (we may need to add contractors)
- The team works on both developing the SDK and preparing the end-user package, the technical writing team works on the documentation -- the front-end development team starts integrating all the parts into the website for public consumption
- Upon completion of the SDK, it will enter testing before release
- The phase ends with the release of the developer portal section on the website with public access to the documentation and more importantly the SDK
- In the event of delays, this phase may be broken into two phases (documentation then SDK or vice versa). The goal is to release our progress as we go to continually show value.
Phase 3:
- The development team is fully focused on development of the node/feed listing in this phase
- Upon completion of all the work associated with listing feeds, focus will change to updating documentation with the technical writers
- Similar to phase 2, delays may cause documentation (partially completed) to be released before the node/feed list
- Phase 3 will take considerably longer and take more effort to do because we've included the fee estimator in this release
- The end of this phase should see a working Node/Feed portal (see definition of done below) and a working fee estimator along with documentation to enable users to successfully navigate the portal and use the estimator
Documentation will be continually updated, so we may add micro releases between phases to update content as we go. For the purposes of this proposal though, this is our current plan for delivering the solution.
*there are obviously risks (noted later) that may impact this schedule**
Phase 1
- Project Launch - 30 hrs
- Hiring & Onboarding Project team - 5 hrs
- Contracting project team incl. technical writer, front-end developer -
8 hrs - Creating project timeline - 5 hrs
- Initial Website Setup not including portal design - 25 hours
Phase 2
- Create Developer Portal - 410 hrs
- Documentation - 40 hrs
- How Charli3 Works
- Downloading The Testbed
- Your First Contract
- Configure Your Feed
- Feed Characteristics
- Custom Feeds
- And More...
- Infographics and Video creation - 60 hrs
- SDK Development - 230 hrs
- Testbed (Plutus libraries) - 60 hrs
- Simulated Oracle Feeds - 35 hrs
- Example Contract integration - 35 hrs
- Testing tools - 35 hrs
- Scheduling & Automation tools - 25 hrs
- Refactors - 40 hrs
- SDK Documentation - 20 hrs
- Integration with Frontend/Website - 60 hrs
Phase 3
- Create Node / Feed Portal - 560 hrs
- Documentation - 20 hrs
- How Charli3 Nodes operate
- Node Requirements
- Downloading
- Configuration
- And more...
- Infographics and Video creation - 60 hrs
- Feed Configuration tools - 80 hrs
- Feed/Node Listing solution - 360 hrs
- Database development - 60 hrs
- Frontend design - 100 hrs
- Integration with on-chain data - 80 hrs
- Setting up continuous updates - 60 hrs
- Integration with Frontend/website - 60 hrs
- Integration with Frontend/Website - 40 hrs
TOTAL COST ESTIMATE: 195,000 USD
Further Breakdown:
- Completion Estimate: 16-20 weeks
- Total Estimated Hours: 1000 hours
- Given the need for multi team member types to work together to complete the project, the cost is more than simply the engineering hours added together ; in particular the graphics front end work and integrations. Our team can provide more details as we execute on how our funds are used and any remaining funds unused could potentially be used to sustain and update for the future
- Project Team Member Pricing Estimates (USD):
- Development (30 to 250+ hourly)
- Technical writer (100-200 hourly)
- Videos (2 minutes / 5k)
- Infographics (25-45 hourly)
- MGMT (free)
Here is a quick link to more info about our team: https://charli3.io/team. There are more contractors, advisors, and partners in addition to the list on the website.
Co-Founders
Jonas Lindgren (https://www.linkedin.com/in/lindgren-jonas/)
- CTO of Charli3
- Previously CTO with four Fintech/Blockchain companies
- Past experience as university teacher
- Software engineering background
Damon Zwarich (https://www.linkedin.com/in/damon-zwarich-09049969/)
- CMO of Charli3
- Chief Marketer at Cardano DeFi Alliance
- Spear-headed stakepool Drop4Drop charitable campaign
- Advisor for paribus.io and other Cardano projects
- Previous background marketing at Microsoft
- Education in health science
Robert Hever (https://www.linkedin.com/in/robhever/)
- COO of Charli3
- Previous experience creating and scaling a $1M+ ARR software enabled consulting solution
- Consultant to 50+ companies to develop product market fit and scale their business (incl. a16z and YC portfolio members to F500s)
- Certified Product Owner in Safe Agile and previous experience working with top tier US banks in Fintech (AI and Payment solutions)
- Graduate level education in Neuroscience, logic/philosophy
Core Project Team
For this particular project, we will leverage our development team, some of whom remain anonymous, and potentially add contractors to accelerate the timeline. We have a tremendously talented team -- half of our core haskell team have PhDs. Many have 5 years or more dedicated to working in Haskell. All team members have gone through the Plutus Pioneers course and are active in the community. Everyone is passionate about Cardano and pushing each other to build the best ecosystem we can. Additionally, we have a business partnership with a thriving functional programming lab who is also working with many other projects in the community. Along with our membership in the CDA, our partnerships mean our team is connected to the heartbeat of almost all open and close sourced development in the Cardano community.
In order to deliver this project, we will leverage a pool of many talents including technical writers, front-end developers, graphics and content specialists, and UI/UX specialists. We will likely depend heavily on our partnership with a multi-national marketing and content production studio to ensure we create digestible content that makes using our portals as pain-free as possible.
[AUDITABILITY]
- Each phase will be released to the public in an agile way to produce value to the user as we develop;
- Phase 1 should result in a publicly accessible website, in the event we are delayed we can showcase the documentation and content in a drive during monthly reporting
- Phase 2 will result in a developer portal meeting our definition of done
- Phase 3 will result in a node/feed portal meeting our definition of done
- In order to measure progress within a phase,
- We will be supplying a github to see development progress
- During monthly reporting we can share our KANBAN board for the project as well as the developer sprint velocity for development tickets
- During monthly reporting we can share estimated parts of work in our detailed budget/timeline that are taking longer than expected (or quicker) to get an estimate on the forecasted completion date
- How we report progress between phases may change as we adopt different project managing planning systems in phase 1; regardless of what we choose we will work with the Catalyst team to provide transparency on our progress on every monthly report ( whether it is commits or a view into our project board) — this is just a disclaimer that there are assumptions in this proposal that may change slightly upon execution.
Defintion of Done (Repeated):
- Phase 1
- Assign project team and create internal project plan
- Contract the work to launch the initial website and lay the groundwork for the more complex back-end and front-end work for phases 2 and 3
- Developer Portal
- SDK and documentation are done when a user can access the website, download the SDK, find the information to successfully integrate an off-chain data feed into their DApp (or other solution)
- Node/Feed Portal
- The portal is done when;
- A user can access all available nodes/feeds (at least 1) that are updated within the last 24 hours. We obviously want to strive for real-time updates, but this would give us a satisfactory MVP.
- The Fee Estimator functions to return a cost estimate for a data feed that is within 10% of the actual cost.
- A user can access documentation/information that successfully enables them to interpret the available node/feed lists, use the fee estimator successfully, and/or set up as a node operator.
KPIs afterwards: website traffic volume, test feed volume, number of live DApps on Cardano using feeds, CSAT of users after account system included (out of scope for this proposal)
Success
(Good) Level 1: Cardano developer can easily integrate off-chain data feeds into a smart contract solution using our portals
(Great) Level 2: An ecosystem flourishing with diverse DApps built using our data feeds that attracts new end-users to adopt Cardano
(Better) Level 3: We achieve level 1-2, but our portal becomes a community hub for sharing of ideas, resources, and development -- The Oracle Developer Portal becomes the unofficial off-chain data hub for Cardano developers!
(Best) Level 4: The ecosystem of DApps and other solutions on Cardano eclipses that of any other chain and we help facilitate that growth by reducing barriers of integrating off-chain data
Although not a direct continuation, this is will improve our successfully funded Fund7 proposal: https://cardano.ideascale.com/c/idea/384686
These are independent proposals that do not rely upon the other, but do compliment each other.
The previous proposal was to raise funds to goto a community treasury fund (not Charli3) to subsidise free data feeds for the public. The successfully award of 50k ADA was also matched by the Charli3 team. The outcome are free oracle community data feeds.
This proposal is to fund the expansion of our service to provide a user-friendly developer portal which will make integrating both the free/paid data feeds as accessible as possible. Although in this round, we are asking to fund internal development of our solution instead of an external treasury fund.