You are browsing as a guest. Sign up (or log in) to start making projects!

steve_alappat

@steve_alappat

Joined August 27th, 2026

  • 5Devlogs
  • 1Projects
  • 2Ships
  • 19Votes
Ship Pending review

Hi guys!!! I’m excited to share my project, Papyrus, a hub designed for students to easily find, practice, and share past exam papers and study materials. Students can also contribute by uploading your own papers to help out the community!

Key Features:

  • File Storage - It uses the Hackclub CDN API so that i can delivery files without chocking the server
  • Built-in PDF Viewer – View papers seamlessly right inside the app.
  • Favorites / Pins Page – Bookmark your go-to papers for quick access.
  • Archive Page- Search Across the full archive to find all the papers you need
  • Admin Studio – Full control panel for managing content.
  • Theme - Supports light, dark and true black
  • Score - It uses a custom scoring logic made by me

For more just go through the website and codebase if your interested also there is a db.md file in the repo which explains the full database check that out too!

💡 Want to test out the Admin Studio? Head over to /admin and sign in with the password: admin123.

Check it out and let me know what you think!

  • 1 devlog
  • 4h
Try project → See source code →
Open comments for this post

4h 19m 33s logged

The End

Okay, so before I put up the devlog, let me just say why I had to ship a second time. I shipped my project, but then I was asked to redo some parts out of worry of “vibe coding”—which honestly, I don’t vibe code really, because I genuinely can’t (damn potato PC). But yes, I did use AI help, and maybe it was over the top. To atone, I re-went through every file and did these changes:

  • Backend Storage: I changed the backend file storage to the Hack Club CDN API.
  • Database Restructuring: I split the large db.ts file into individual function files, each serving its respective function (like paper.ts deals with the SQL queries related to the paper table). Now, I used AI to write the SQL queries here because I honestly don’t know how to. I learned a lot, but I still needed its help.
  • CSS & Styling Refactor: I went through the CSS files and updated every single one of them. The theme and styling are still the same(ish)—I did minor changes here and there about the styling, but the most important parts are:
  • Tokenization: I tokenized everything. I went through each file and checked the sizes, basing it on the Tailwind system where it’s almost all multiples of 4.
  • Scoped Styles: I made sure every page.tsx file had its own style.css which only it calls, so that I won’t pollute styles—which turns out was the reason that, for some reason, when I updated the styles in pin’s CSS, the archive CSS changed.
  • Admin Unification: I also used the styles from the public front on the admin front earlier a lot of admin was AI generted so it was pretty bad but I’m proud to say that is no longer the case
  • Utilities: I made a small util directory which has repeated functions that I found.
  • Scoring System: I made a scoring system which was so cool—I felt like Einstein in that 10 minutes! But it’s basically the same one they use on Reddit (my inspiration for the system). It’s based on something called the Wilson Score. I didn’t really understand the math, but it works, so it works (I understood what it did, but not how it did it). I added a bit more to it, though: one is an engagement rating similar to the gladiator algorithm in TikTok, which basically gives more points for being more popular and having downloads, and then a recency bonus for the first 30 days to keep new papers afloat. This really changes nothing in the system, but I felt cool and it’s my devlog, so hear about it!
  • Prettier Config: Oh, I forgot—I added a Prettier config so that it didn’t prettify the PDF.js JavaScript file.
  • README Update: One of my friends told me the README was balls and it was not telling anything, so I rewrote parts of that too. I used Obsidian, so I got nice tables and shit.
  • Custom 404 Page: I added a 404 page, and I did a nice styling where instead of the zero, it’s a file-missing icon.
  • Code Splitting: I also worked to split some files, but some pages were pure hell and I left them there, so sorry about that.
  • Short-links:” While refactoring I also added this one small feature to the share link button in paper page, it basically proxies to /p/:id instead of /paper/:id not a lot but its nice
  • Metadata & Icons: And peakest of all, I added the icon to every page and the metadata thingy I saw on the Next.js website.
  • Vercel Switch: I also thought since I’m not storing the files on the server anymore why not go ahead and use Vercel itself to host instead of nest so i will be hosting on Vercel

P.S this has tired me out way to much and i hope you enjoy it, the photo is admin dashboard in new true black

0
0
13
Ship Changes requested

#Welcome to Papyrus! 📜

Hi guys!!! I’m excited to share my project, Papyrus, a hub designed for students to easily find, practice, and share past exam papers and study materials. Students can also contribute by uploading your own papers to help out the community!

Key Features:

  • Built-in PDF Viewer – View papers seamlessly right inside the app.
  • Favorites / Pins Page – Bookmark your go-to papers for quick access.
  • Archive Page- Search Across the full archive to find all the papers you need
  • Admin Studio – Full control panel for managing content.

For more just go through the website and codebase if your interested also there is a db.md file in the repo which explains the full database check that out too!

💡 Want to test out the Admin Studio? Head over to /admin and sign in with the password: admin123.

Check it out and let me know what you think!

  • 4 devlogs
  • 19h
Try project → See source code →
Open comments for this post

4h 31m 51s logged

Final show

The last 4 hours were pure locked-in focus:

  1. Completely overhauled and fixed the admin dashboard
  2. Finally fixed the PDF viewer (not gonna lie, it actually looks peak now)
  3. Cleaned up all those annoying remaining styling issues
  4. Polished the README and updated db.md
  5. Added a true OLED black mode
  6. Custom-designed the logo from scratch

Everything is wrapped up. Time to hit publish and ship this thing.

0
0
11
Open comments for this post

6h 26m 10s logged

YO

GUESS WHO’S BACK?

I had way too much sugar. Back to the project.

I’ve finally set up the review process, admin functionality, and the entire end-to-end data pipeline. The project is starting to feel like a proper, mostly* finished product. Before diving into the details of what I’ve accomplished, here’s what’s left to do.

Work LEft

  1. Implement proper admin dashboard statistics to give admins useful insights into the platform.
  2. Find and implement a PDF preview solution so users can preview files before downloading them.
  3. Polish the UI and styling across every page to make the entire platform feel more consistent and beautiful.
  4. Improve admin functionality by adding more tools and controls to make the admin panel genuinely useful.

What I Accomplished in the Last 6 Hours

  1. Built the complete file upload pipeline. Files can now be uploaded, stored, and inserted into the database. After going through the review process, approved files are displayed on the frontend and can be downloaded by users.
  2. Implemented the review and approval system. Admins can quickly review submitted resources and approve them before they become available to users.
  3. Improved the admin panel. I’ve added more functionality, but there’s still a long way to go before it becomes a fully functional administration dashboard.
  4. Added download tracking. Each file now has its own download counter, allowing the platform to track how many times individual resources have been downloaded.

So untill next time, all the best and Happy hacking!
P.S: the attached photo is the current state of the admin dashboard

0
0
38
Open comments for this post

7h 22m 53s logged

Hi guys! Welcome to my new project Papyrus!This project is a web application to allow students to easily access and share exam papers and materials. The goal is to create a centralized platform where students can find the resources they need to prepare for their exams effectively.The inspiration for this project came from my own experience as a student; I found that that the practise of a large number of papers was one of the most influential factors in my preparation for exams. However, I also found that the availability of these papers was limited and often scattered across various sources. My friends and I would spend a lot of time searching for the papers we needed, which was frustrating and time-consuming. Thus, I decided to create this project to remove that friction for future students and make it easier for them to access the resources they need.But thats enough about me, lets talk about the project itself. The project is built using Next.js, which allows for a seamless integration of frontend and backend functionality. The frontend is built using React components, while the backend handles API requests and data management. The main database is made using SQLite, and the schema is defined in lib/schema.ts.the project has 3 main divisons, The front, the server and a admin panel. The front is the main website where students can browse and search for papers, as well as upload their own papers for review. The server handles all the backend functionality, including API requests and data management. The admin panel is where the review process takes place, allowing admins to review and approve submitted papers before they are added to the archive.As of today im almost at the end of the project possibly, right now i need to setup the review process, the data pipe level and make the admin panel functionalAlso my ai declaration: I and used ai to make the bulk parts of the code, but i have had to go through each line my self due to the slop nature of the ai code, and no ai was used to make the documentation and logic or data flows anything, i used ai mostly for the styling part. ps the screenshot is the homepage of the website as of now

0
0
22

Followers

Loading…