Inspiration
I often found it difficult to find useful notes, guides, and past papers in one place while studying. Most resources are scattered or require payment. This inspired me to create ShareSpark — a centralized platform where anyone can explore, access, and share learning material for free.
What it does
ShareSpark allows users to:
Browse educational PDFs across categories like Math, Science, Literature, and more
Search by keywords
Preview cover images
Download files (coming soon)
Upload their own resources for others to access
Right now, users can upload their own content, which is stored locally in the browser.
How we built it
Frontend: HTML, CSS, JavaScript
Data Handling: Local Storage for saving uploaded book data
PDF Processing: PDF.js for rendering preview images
Design: Custom styles for cards, layout, and navigation bar
The project is fully frontend-based and works offline (in the browser) without needing a backend.
Challenges we ran into
Getting image previews of uploaded PDFs required learning how to use PDF.js
Making dynamic sections and search functionality work smoothly
Preventing layout breaks when books are added to different categories
Avoiding broken functionality when removing upload restrictions
Accomplishments that we're proud of
Fully functional, clean UI with a smooth user experience
Everything was built from scratch — no frameworks or pre-made templates
Learned to dynamically create and manage HTML elements with JavaScript
What we learned
How to use PDF.js to work with PDF files
How to structure a multi-page site with shared components like a navbar
DOM manipulation and event handling for dynamic features
The importance of user-friendly design and feedback
What's next for Share Spark
Replace Local Storage with a real backend (like Supabase or Firebase)
Add user accounts with login and upload tracking
Enable full PDF viewing and direct downloading
Allow moderation or approval of uploaded content
Gather a team to help scale the project and add more categories (like media and entertainment)
Log in or sign up for Devpost to join the conversation.