Inspiration

We created Skill Exchange to address a pressing social issue: economic disparities that prevent individuals from accessing valuable services and opportunities. Noticing that many people couldn't afford skill-based services like guitar lessons or tutoring, we realized financial barriers were limiting personal growth in our community. To tackle this issue, we developed a digital platform that enables people to freely exchange skills and services. By digitizing community bulletin boards, we aimed to foster a community where talents can be shared without financial strain, promoting a more equitable and supportive society.

What it does

Skill Exchange empowers individuals to connect by creating personalized profiles listing the skills they offer and wish to learn. Users can discover neighbors within a 10 km radius with matching or complementary skills, fostering collaboration and knowledge-sharing. Each profile includes name, location, skills offered and wanted, availability, contact preferences, and a short bio, creating an authentic community atmosphere. The interface allows easy profile editing to keep information current. We leveraged geolocation technology to help users connect locally, enabling them to search for specific skills and view profiles on a map. Users can initiate contact by sending invites, which start messaging conversations for coordinating logistics and arranging meetings within the platform. A review feature allows users to leave feedback after collaborating, building accountability and trust, and helping others make informed decisions for stronger skill-sharing relationships.

How we built it

We designed Skill Exchange with multi-feature integration using modern frameworks, APIs, and front-end technologies for an interactive user experience. Backend development utilized Node.js with Express.js for asynchronous processing and advanced routing, with express-session for stateful session management. On the front end, we employed HTML5, CSS3, ES6 JavaScript, and CSS Flexbox for a responsive layout. We integrated Leaflet.js for interactive mapping and used the OpenStreetMap Geocoding API to translate addresses into geospatial coordinates. The node-fetch package streamlined server-client data flow, enhancing real-time mapping interactivity. Modern browser APIs provided precise geolocation. The JavaScript DOM layer ensured dynamic interactions without page reloads, offering a seamless experience. CSS animations and transitions enriched the interface with subtle visual feedback. Responsive design principles ensured usability across diverse devices, maintaining functionality and visual consistency for continuous engagement and accessibility.

Challenges we ran into

We faced several challenges during development. Integrating multiple APIs for mapping and geolocation required precise coordination to provide accurate and interactive geographical data. Creating an intuitive and engaging user interface accessible across different devices was challenging, especially given our limited front-end experience. Balancing simplicity, functionality, and responsiveness necessitated multiple iterations. Managing data for multiple accounts during testing was also complex; we needed to ensure each user's information was correctly stored, securely managed, and easily retrievable to maintain reliability. Additionally, as this was our first hackathon together, we had to learn to collaborate effectively under a tight timeline while dealing with new tools and technologies. Despite these challenges, we turned each obstacle into a learning opportunity that helped us grow as a team.

Accomplishments that we're proud of

We are proud of building a solid backend system using Node.js and Express.js for user registration, session management, and data storage. Successfully integrating geolocation features using geocoding APIs and Leaflet.js to create an interactive map was a significant achievement. Designing a modern and intuitive user interface was another accomplishment, especially as beginners in front-end development. Crafting a UI that is both visually appealing and functional, particularly the map feature and profile interface, was challenging but rewarding. The small wins, like perfectly aligning map pins and refining the design, made the journey worthwhile.

What we learned

Building Skill Exchange taught us extensively about both front-end and back-end development. We learned the importance of solid backend infrastructure using Node.js and Express.js for smooth operations. Working with APIs for geolocation tested our problem-solving skills and highlighted how data connects people. We discovered that UI design is challenging; through iterations with HTML and CSS, we learned to create user-friendly and visually appealing interfaces. This project emphasized the value of perseverance and collaboration, as we overcame roadblocks by working together, ultimately growing stronger as a team.

What's next for Skill Exchange

We plan to expand Skill Exchange's capabilities by adding an online meeting feature, enabling users to connect without needing to meet in person immediately. Enhancing our messaging system to support real-time communication is another priority to make the platform more responsive and engaging. We're also planning to partner with local organizations to facilitate group sessions, offering more structured and diverse learning experiences. Introducing trained professionals who can offer specialized skills for a fee will allow users to access advanced training opportunities and help us monetize the platform sustainably. Ultimately, we're committed to continually enhancing Skill Exchange to make it more interactive, accessible, and valuable for everyone in our community.

Built With

Share this project:

Updates