The problem WalletMetrics : Google Analytics for DApps solves
- Background:
- The blockchain market has witnessed substantial growth and demand for blockchain-based products and services.
- However, existing offerings predominantly target developers and investors, neglecting the needs of product managers, product owners, and marketers.
- Recognizing this gap, we developed WalletMetrics to cater specifically to these non-technical roles.
- Differentiation and Key Features:
- WalletMetrics stands out by adopting a user-centric approach to analytics.
- Unlike traditional blockchain analytics services, WalletMetrics focuses on understanding user behavior, preferences, and trends.
- Our platform provides valuable insights into user interactions, purchasing patterns, and conversion rates.
- Key features include user segmentation, transaction-specific analysis, conversion rate tracking, and user journey visualization.
- With WalletMetrics, stakeholders can make data-driven decisions and optimize their products for maximum engagement and business growth.
- Significance in the Blockchain Market:
- WalletMetrics operates as a web3 analytics tool, leveraging blockchain's unique characteristics.
- By uploading data to the blockchain, we ensure transparency and accessibility for all participants.
- Unlike web2 analytics tools with limited access, WalletMetrics fosters inclusivity and collaboration within the blockchain community.
- This democratization of data empowers not just developers and researchers but also product managers, product owners, and marketers.
- WalletMetrics supports public smart contract projects, allowing users to explore user data and service trends.
- Increased transparency enhances trust, attracts a broader audience, and opens doors for collaborations and partnerships.
Challenges we ran into
In the process of building our project, one of the issues we encountered was the time-consuming process of fetching up-to-date data from our database. When there's a significant number of blocks accumulated in our database, synchronization becomes a challenge, resulting in a delay in fetching the latest data.
We overcame this hurdle through two strategies:
- Logical Solution: When a user makes a request to inquire about a particular protocol, our server first checks the synchronization status by comparing the latest block in our database with the current block. This Boolean information about synchronization status is then relayed to the user. Subsequently, our server initiates a synchronization process to update the database with the latest data. Once this process is complete, a signal is sent to the frontend which was waiting using the 'await' keyword. Meanwhile, on the frontend, we have devised a system to periodically refresh the data every minute to prevent any user inconvenience caused by UI changes due to data updates.
- Batch Processing: We also implement batch jobs on our server. Anticipating frequent requests for certain protocols and regular calls from the explorer, we perform batch jobs to preload data related to these protocols. This way, we can minimize the load when queries are made for these often-accessed protocols.
Going forward, post-hackathon, we have some plans for further enhancement. Given the nature of WalletMatrix, we can access the information of wallets that have initiated transactions on a particular protocol. By collating and ranking protocols based on the number of transactions made from all wallets, we can schedule batch jobs in advance for those protocols that are accessed most frequently. We believe that this will significantly improve the user experience.