This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.
What I Built
My downloads folder has plenty of files with names like document.pdf, notes_final.txt, and untitled_export.pdf.
Giving them useful names means opening each file, reading it, switching back to the file manager, and typing a name. It’s a small chore that becomes annoying when there’s a whole batch.
I built FileSense to handle the reading and suggest the names.
Upload text-based PDFs or TXT files, generate descriptive filenames, review or edit the suggestions, and download renamed copies together as a ZIP. The original files remain unchanged.
Each suggestion includes a short explanation, and you can inspect the extracted text before accepting it.
Demo
The demo shows document upload, local AI naming, review, and ZIP export.
Code
SaifuddinM23
/
RenameAI
FileSense - Privacy-first, local AI-assisted document renaming application with React, Node.js, and Ollama
FileSense - Local AI Document Renamer
FileSense is a privacy-first, local-assisted document renaming application built with React + Vite, Node.js + Express, and local Ollama inference. All uploaded files and extracted text are maintained exclusively inside browser memory—no cloud storage, no account requirements, zero file bytes sent to the backend, and zero modifications to files on your disk.
1. Problem & Workflow
The Problem
Professionals, researchers, and students frequently accumulate folders of documents with obscure or auto-generated filenames such as scan_unread_00492.txt, doc_2026_final_v1.pdf, or untitled_export_draft.pdf. Renaming these files manually requires opening each file, reading its contents to understand the subject, formulating a consistent naming scheme, switching back to the file manager, and typing a new name. Cloud-based AI renaming tools expose confidential documents, contracts, and personal records to third-party servers.
The FileSense Workflow
- Upload (Browser Memory Only): Drag and drop or browse PDFs and…
View the repository and setup instructions
How I Built It
FileSense uses React and Vite for the frontend, Node.js and Express for the backend, and Gemma 3 4B running through Ollama for filename suggestions.
PDF.js extracts text in the browser from up to the first ten pages. A bounded excerpt goes to the local backend and Ollama, which returns a suggested base name and explanation. Zod validates the response before it appears in the review table.
The model interprets the document. Application code handles filename sanitization, duplicate names, and extension preservation.
After review, JSZip packages the selected documents using their original bytes. FileSense creates renamed copies rather than changing files on disk.
Why Does Open Innovation Matter?
Local processing is central to this project. Document excerpts go to a model running on the same machine instead of a third-party cloud AI API. Raw document files stay in browser memory.
There are no per-request cloud inference fees. Local inference still uses hardware, memory, and electricity, but another batch of files does not create another paid API request.
The model is replaceable. Ollama’s configurable model setting lets me experiment with other open-weight models and adapt the naming instructions without rebuilding the workflow around another provider.
A hosted API could also suggest filenames. Using open-weight AI gives me control over where the text is processed and which model performs the task.
The Lazy Payoff
FileSense turns repeated opening, reading, and renaming into one batch review.
The user still checks the suggestions, but starts with proposed names rather than a blank rename field. That is the effort I wanted to remove for this theme.
I have not established a reliable time-saving figure yet. Inference speed depends on the machine, and reviewing suggestions takes time too. The intended benefit is less manual reading and typing.
Limitations and Next Steps
This version supports text-based PDFs and TXT files. Scanned PDFs need OCR, and PDF naming uses only the first ten pages. Suggestions can miss context, so review remains part of the workflow.
Next, I want to compare manual renaming with FileSense on a wider range of documents, including the time spent reviewing and correcting suggestions.
For “Slow and Steady,” I wanted to automate a chore I would otherwise keep postponing: figuring out what document_final_2.pdf actually contains.
Top comments (0)