*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady]
What I Built
PDFme is a local, offline PDF toolkit for large print designs. It can:
- compress a huge PDF down to a size you can actually share
- remove image backgrounds with an open-source AI model ([CONFIRM: model name])
- label pages with Gemma, a local open-weight model run through Ollama
- merge and split PDFs by size
Everything runs on your own computer. Your files are never uploaded, and there is no account, no cloud service and no internet needed after the one-time downloads (details in the serious part at the bottom).
Now, it sounds cool. When I needed it, it was nowhere near cool.
I was half dead, one step away from zombie. That is what a university cultural fest does to you: endless banners, posters and artifacts, each one due to a vendor at a specific time, in a specific size, in a specific file type, with background or without background.
Send a Drive link? Not enough. Email? 25 MB limit. WhatsApp? 2 GB limit, so my merged PDF could not go in one piece☠️. I had to sort through everything, pick the right files, and send each one carefully, one by one.
All of that went blaaaaaaaast in my head at once. I did not give up, because I knew what I had to fix. The fest ended on the 23rd, I started PDFme on the 24th, and as I write this on the 25th, I feel better. Now If I'm gonna see someone struggling with PDFs, I'll get my cool moment: "check out PDFme." It works, and I will tell you exactly where it doesn't, in the serious part below.
[CONFIRM, keep only if true: I also built it for the lazy in me. Point it at the files, press go, make chai, and come back to PDFs that are ready to send. Slow and steady, but not by me.]
Demo ( video link )
https://drive.google.com/file/d/1An-cGESFA7ir6b2ogPGvJjOotgdCY_6E/view?usp=sharing
Code ( GitHub repo )
https://github.com/parnita-Singh/PDFme-week3
How I Built It
I used Cursor. I started with Grok 4.6 (medium), and when it hit its monthly limit I switched to Claude Haiku 5.5.
The open pieces:
- Gemma through Ollama, for page labels
- Rembg: background removal model name
Along the way I learned things I did not know before: how an image has layers, what an SMask is, and how DPI affects image quality.
You can always argue, "just give it to GPT." My counter question: would you trust your Aadhaar card, passbook and cheque book details to a cloud chatbot?
That is where PDFme enters, ladies and gentlemen. yeahhhhaaa!
Because the models run on your own machine:
- your private files never leave your computer
- it works without internet once the models are downloaded
- it costs nothing to run
- you don't have juggle through 5 websites for PDFs you know
I know I'm writing like a crazy person, but this post is 100% human written.
This was also the first time I built something outside the rat race of having a project on my resume or GitHub. I built it for a problem I actually hit, and I would bet other people hit it too.
It is 2026, we should worry about AI regulation not PDFs, right !?
Now no longer, I solved it, and I love it.
It is cool. I will give you a minute. Admit it 😎🙏
Now the serious part
What I tested: 15 real fest PDFs, each 510 to 700 MB. I verified background removal, splitting, merging and compressing on all of them.
Limits:
- Tested on 15 files, from 510 to 700 MB each.
- "Fit to size" uses a 2000 MB default limit, the same as WhatsApp's 2 GB document limit. It steps the resolution down from 300 dpi to 100 dpi, and writes no file if nothing reaches the limit.
- Background removal changes only the images you choose. Images covering 90% or more of the page are skipped by default. You can raise that limit on the web page or with --cover-limit, or tick the images to process. Images that already have transparency, and vector art, are left alone.
- Gemma page labels need Ollama and a one-time model download. I haven't checked them on the banner yet.
- I switched off Wi-Fi and ran the print copy and page-range split with no internet connection. The background model is a one-time download, so it must be on the computer before going offline.
Do not forget to star the repo, because you are gonna love PDFme 💖. heeehheee
