Inspiration

Our Inspiration to embark on the Web5 project is rooted in a profound commitment to redefine the landscape of the internet, ushering in an era where users wield genuine authority over their online identities and data. At the heart of our initiative lies a dedication to the core principles of Web5, envisioning a digital realm that places a premium on user-centricity, privacy, seamless data flow, and empowerment.

Crucially, within the Web5 framework, the security and ownership of user data is priortized. With a focus on privacy, all user-generated data is now securely stored in the user's (DWN). This ensures that users have complete control and ownership over their data, granting them the authority to decide which applications can access and utilize their information. This empowerment represents a fundamental shift in how data is handled, placing the user at the center of their digital experience.

In pursuit of this vision, we have meticulously crafted A-Sync application. The application itself, has three inbuilt independent application, that leverages the power of web5 and give us glimpse of future with web5.

What A-Sync Does:

A-Sync isn't just an application; it's a visionary ecosystem that mirrors the future of the web through the lens of Web5. Comprising two autonomous applications—Fitbit (Workout Assistance) and NutriFit (Diet Assistance)—our approach distinguishes itself by seamlessly integrating these two facets. The inherent link between exercise and nutrition is addressed using our third gear, the Access Interface.

In the Web5 paradigm, user-generated data often needs to flow seamlessly between applications to enhance user experiences. With data securely residing in the user's Digital Web Node (DWN), under the user's sole control, our Fitbit and NutriFit applications break free from conventional limitations. Consider a scenario where a workout app recommends high-intensity cardio without knowledge of dietary habits. A-Sync transcends these constraints; user data from both applications is securely stored in the DWN. With user permission, Fitbit gains insights into dietary data, enabling tailored workout and meal recommendations for the next day.

This strategic collaboration, made possible by Web5, marks a departure from isolated data silos. Users benefit from a holistic approach that harmonizes exercise routines with dietary patterns, setting a new standard for user-centric technologies. A-Sync empowers users to selectively share and leverage their data across applications, ushering in a level of customization and personalization previously unimaginable. In this interconnected ecosystem, privacy, data ownership, and informed decision-making take center stage.

What's Cooking: Fitbit and NutriFit stand independently as third-party applications, each providing features such as creating, deleting, editing, and sharing workouts or meals, along with analytics. Both applications run on their servers, and users sign in automatically with their Decentralized Identifiers (DID). By default, Fitbit has access to read Fitbit-generated data from the user's DWN, but users can grant permission to read NutriFit-generated data. The Access Manager facilitates this, offering users an intriguing UI to grant and revoke permissions. User profile information enriches the experience, envisioning a dashboard for managing identity and data across all used applications.

Note: Fitbit and NutriFit are standalone applications, and Access Manager is a user-side feature for intuitive permission management. The additional NutriFit application serves demo purposes, creating a compelling preview of our futuristic Web5 interface.

How we built it

Embarking on this hackathon with a late start didn't discourage us. Initially, we conducted extensive research to comprehend the core of Web5 and the challenges we sought to address. Throughout this exploration, the concept intrigued us, motivating the creation of A-Sync. Recognizing that users would control their data store and grant permissions to third parties, we identified the necessity for a robust system to manage this process. This realization gave birth to the Access Manager and the two-application ecosystem, serving as a testing ground for its functionality.

The primary challenge surfaced during project setup. Opting for Vite for project initiation and utilizing the React plugin for development, we began by testing fundamental CRUD operations on records. Progressing further, we immersed ourselves in the intricacies of sharing records. Researching documentation and experimenting with sharing tree structures of records and dynamically updating permission protocols played a crucial role. The iterative process involved experimenting with new concepts, learning from them, and refining our approach.

A significant breakthrough occurred during intensive exploration of the Web5 SDK codebase, where we uncovered the concepts of roles, granting permissions, and configuration. Harnessing these insights, we successfully implemented our application. The protocol validator application played a crucial role in testing new concepts before integrating them directly into our applications.

The final phase included deploying our application using Firebase. The entire journey was characterized by challenges, learning experiences, and the satisfaction of overcoming obstacles.

Challenges we ran into

What we learned

Through the development of A-Sync, our journey taught us valuable insights and skills in navigating the Web5 framework. We gained a profound understanding of dynamic protocols, realizing the importance of adaptability for real-life scenarios. The implementation of configurable protocols, allowing users to grant or revoke permissions dynamically, became a crucial aspect of our learning. Introducing custom roles to address structural complexities enhanced our grasp of access control mechanisms. The process of constructing a shared records tree, extending beyond simple record sharing to hierarchical structures, deepened our comprehension of data organization within the Web5 paradigm. Overall, our journey equipped us with practical experience, technical skills, and a nuanced understanding of the intricacies involved in developing user-centric applications on the Web5 platform.

Accomplishments We Take Pride In:

Configurable Protocols: Enabling the dynamism of Web5 in real-life scenarios requires protocols to be adaptable, allowing users to grant or revoke permissions at any time. Our achievement lies in the implementation of dynamic protocols, stored in the user's Digital Web Node (DWN). We successfully fetch, overwrite, and update these protocols within the user's DWN, ensuring a flexible and user-centric approach to data access.

Assigning Roles: Beyond utilizing default "who" attributes, we've introduced custom roles to address the structural complexity of our application. This innovation in our configurable protocols introduces new roles dynamically and adjusts permissions for all record types based on user actions. This achievement enhances the granularity of access control and ensures a tailored experience for users.

Share Records Tree: Our accomplishment extends beyond simple record sharing; we've successfully constructed a structural tree of records using parent-child relationships. This achievement signifies our capability not only to share individual records but entire hierarchical structures. The implementation of a shared records tree adds depth and complexity to data sharing within the Web5 framework.

What's next for A-Sync

A-Sync, functioning as an ecosystem, features a pivotal Access Manager—an essential component for the user dashboard or wallet, centralizing Web5-related management. Fitbit, a key application in A-Sync, currently provides workout recommendations and basic analytics. Future plans involve integrating AI/ML for more advanced features, enhancing collaboration, and supporting various file formats. A-Sync aims to be a dynamic platform, empowering users in Web5 activities while fostering collaboration in the health and wellness space.

Share this project:

Updates