Inspiration
For a long time, I used to study alone. Even though I really wanted to learn new things, being alone made it easy to procrastinate. Sometimes I felt lost, unmotivated, or stuck because I didn’t have anyone to discuss problems with. I noticed this was a common issue for other students too—everyone tried to push through by themselves, but it was too easy to lose focus or give up.
I dreamed of a solution where learning could feel like being part of a real team, even if we were all online. I wanted to build something where every student could find a group, stay accountable, and feel supported—so I started working on PeerSpark.
What I Learned
Building PeerSpark taught me how much technology can change learning. I discovered how complex team-based apps are and learned how important each part of the tech stack is. I gained practical experience connecting the backend, frontend, file storage, and notifications, making sure that every piece felt reliable and smooth for users.
I also learned about access and permissions, to keep user data private and secure, and studied how to create useful features without making things complicated or expensive.
How I Built It
PeerSpark’s main stack uses React with JavaScript and TypeScript for the frontend. All user interactions, dashboards, and chat interfaces were built using these technologies for speed and reliability.
For the backend, I used Appwrite as the core service. Appwrite handled user authentication, real-time chat, team and pod management, database, file storage (for resources and notes), and push notifications. We set up collections for users, messages, pods, and resources—all with clear permissions to keep group data safe.
Whenever a user uploaded a file (like notes or PDFs), the app would store it via Appwrite’s storage service and link it to the right pod or user.
Challenges
The biggest challenges came from setting up data models, handling real-time chat, and ensuring only group members could view private resources. Sometimes, notifications didn’t appear as expected, or file storage hit limits, but I learned to debug and optimize. I kept the user interface simple but focused on making every piece genuinely useful, addressing the main problem: no student should study alone or feel lost.
Built With
- appwrite
- css
- html
- javascript
- react
- typescript

Log in or sign up for Devpost to join the conversation.