Inspiration The inspiration for Persist came from the increasing need for efficient and contactless information exchange in today's fast-paced digital world. As social interactions, networking events, and professional gatherings become more frequent, the demand for a seamless and intuitive way to share contact information across various platforms and devices has grown. Traditional methods, like business cards, often fail to keep up with technological advancements and lack the immediacy and versatility that modern solutions can provide. This project aims to bridge that gap by utilizing web technologies to create a user-friendly platform for sharing contact details effortlessly.

What it does Persist is a Progressive Web App (PWA) that enables users to manage and share contact information seamlessly. The app allows users to:

Select contacts from their phonebooks using the Contact Picker API providing vibration feedback Generate and download vCard files for easy importation on other devices. Create QR codes dynamically for contactless sharing of contact data. Manage both personal and shared contacts with options for individual or bulk sharing and deletion. Import contacts from QR codes shared by other users, providing a complete contact management solution. How we built it React for building the user interface, offering a seamless and dynamic experience, using the Contact Picker API and vibration API on Chromium browsers TypeScript to enhance code reliability and maintainability. TailwindCSS for efficient and scalable styling. Vite as the development server, providing fast builds and hot module replacement. Bun as the runtime. VitePWA to incorporate offline capabilities and native-like behavior in the app. Challenges we ran into In an effort to make the app run entirely on the browser, the vCard files generated from each client had to be properly encoded and transported via search params to prevent data loss and ensure compatibility across various devices

Accomplishments that we're proud of Implementing an efficient contact management system with features for adding, sharing, and deleting contacts. Integrating QR code generation and scanning functionality for contactless information exchange. Achieving offline functionality, allowing users to access and share their contacts even without an internet connection. What we learned Gaining a deeper understanding of PWA technologies and how they can enhance user experiences. Exploring the capabilities and limitations of modern web APIs, such as the Contact Picker API. Enhancing our skills in React, TypeScript, and TailwindCSS for building robust and maintainable web applications. Learning about the importance of cross-browser compatibility and how to address related challenges. What's next for persist The future of Persist includes several exciting enhancements and features:

Remote Contact Sharing via WebSockets: Implementing WebSocket-based contact sharing for real-time updates and interactions. NFC Integration: Exploring the potential of using the Web NFC API to export contacts to NFC tags, enabling tap-to-share functionality. Enhanced User Interface: Continuously improving the UI/UX to make contact management even more intuitive. Broader Browser Compatibility: Investigating ways to extend the app's functionality to more browsers and devices.

Built With

Share this project:

Updates