Inspiration
I always wanted to write daily, whether it's daily journals or about something else. I've always been inspired by people who have a habit of writing, but I was never consistent.
That’s how the idea for this project came about, but just a simple writing platform is common.
While thinking of an idea for this hackathon, I thought it would be fun if peoples writing get stored on the blockchain, where everyone can post about their daily life anonymously, without the fear of other people's judgment.
I follow seths.blog, it is a big inspiration to me for this project idea.
While building this project for the hackathon, the idea came to our minds that there should be some stake for not writing, and some gain for being consistent. So, we decided on the feature of putting some money at stake if a user wants.
A contract that gives the stake to another random consistent writer from a writer who missed their writing commitment. (although we couldn’t complete the feature, we will work on it.)
What it does
DailyWrite is a decentralized writing platform built on the Flow blockchain.
It is built to motivate and keep the writers consistent in their writing.
- You can post your thoughts on the platform. It will be stored on the blockchain.
- You can access your writings over time in a single feed.
- You can share your writings and read other people's writing without sharing anyone's identity.
You can stake to stay disciplined about writing and earn if you stay disciplined.
How we built it
We built DailyWrite using React for the frontend, Flow blockchain for decentralized data storage, and smart contracts written in Cadence.
We used React to create a user-friendly frontend.
We used the FLOW testnet to complete/test our web3 features.
For the text editor, we used the open-source library Editorjs.
Challenges we ran into
There were many challenges making this project:
To implement a rich text editor, we tried many open source libraries, but we liked Editorjs the most, so we stuck with it. But it was tough to render it properly; it always renders more than one instance of editors. We tried using useEffect, but it didn’t help much. Also, it outputs a JSON object; making that JSON in HTML and storing it in the blockchain was really tough.
The emulator of the FLOW blockchain wasn’t working properly. With the emulator, authentication wasn’t happening. And to deploy the contract on the testnet was tough; the authentication in ‘https://flow-view-source.com/testnet/account/:account’ with Dapper wallet doesn’t work.
Accomplishments that we're proud of
We are proud that we solved every problem on our way, from a typo of ‘contant’ to not being able to upload a JSON object to the blockchain. We solved every problem. Especially the integration of the Editor.js library and trying to upload the smart contract took a toll of time.
What we learned
Before starting this, I knew about blockchain but not about blockchain development. In this hackathon, we deployed our first smart contract, did transactions with the blockchain, and implemented a text editor in our project, which was a new experience for most of us.
Best use of FLOW
DailyWrite makes the best use of Flow by leveraging its decentralized architecture for secure and transparent content storage.
We’d also use FLOW transaction and wallet to implement our staking feature in the future.
What's next for DailyWrite
We’ll try to complete our project, especially the staking feature which is our favorite.
We’ll also work on UI and make the project more user-friendly.
Log in or sign up for Devpost to join the conversation.