Home
Softono

PicFolio

Open source MIT Jupyter Notebook
35
Stars
5
Forks
0
Issues
2
Watchers
5 months
Last Commit

 About PicFolio

πŸ“Έ Simplifying photo management on desktop via mobile with a client-server setup. Upload, organize, and share photos seamlessly using local storage and AI for automatic tagging and grouping.

Platforms

Web Self-hosted iOS Android

Languages

Jupyter Notebook

Need Help Installing PicFolio?

We provide expert installation service for this software. Our team will install, configure, and secure PicFolio on your server. plans start at just $30.

PicFolio πŸ“·

Frame 5

PicFolio is a self-hosted, privacy-first photo management app β€” a local Google Photos alternative. It runs entirely on your own machine, giving you AI-powered photo organization, face grouping, smart search, duplicate detection, and a clean web UI, without paying for cloud storage or sharing your photos with anyone.


Screenshots

  • DesktopπŸ’»

  • Web 🌐


Features

  • Multi-user support β€” Separate photo libraries per user, each with their own login

  • AI Auto-tagging β€” Every photo is tagged automatically using the Recognize Anything Model (RAM)

  • Face Grouping β€” Detects and clusters people across your library using DeepFace; name them for easy browsing

  • Natural Language Search β€” Search photos by description ("dog at beach") powered by Gemini Pro + semantic embeddings

  • Auto Albums β€” Photos grouped automatically by scene and content

  • Places / GPS Map β€” Browse photos by location using EXIF GPS data on an interactive map

  • Duplicate Detection β€” Find and remove duplicate photos

  • Blur Detection β€” Surface and clean up low-quality, blurry shots

  • Favorites & Bin β€” Like photos, delete to bin, restore anytime

  • Upload β€” Drag and drop upload from browser (works on mobile too)

  • Statistics β€” View storage usage and library stats

  • 100% Local β€” Nothing leaves your machine (except an optional Gemini API key for search)


Tech Stack

Layer Technology
Backend Python, Flask, SQLite, Waitress
AI / ML RAM (Recognize Anything Model), DeepFace, Gemini Pro, SentenceTransformers
Frontend Next.js 15, React 19, Tailwind CSS
Maps Leaflet, React Leaflet
Media Pillow, MoviePy, OpenCV

Installation

Prerequisites

  • Python 3.10+

  • Node.js 18+

  • A Gemini API key (free, optional β€” only needed for AI search)


Backend Setup

1. Create and activate a virtual environment


# Windows

python  -m  venv  venv

venv\Scripts\activate

  

# macOS / Linux

python  -m  venv  venv

source  venv/bin/activate

2. Install Python dependencies


pip  install  -r  Backend/requirements.txt

3. Configure environment variables

Create a .env file inside the Backend/ folder:


Gemini=your_gemini_api_key_here

4. Run the backend


python  backend/start.py

The backend server will start on http://localhost:5000.


Frontend Setup

1. Navigate to the frontend directory


cd  Frontend

2. Install dependencies


npm  i

3. Run the development server


npm  run  dev

The frontend will be available at http://localhost:3000.


First-Time Setup

  1. Open http://localhost:3000 in your browser

  2. Go to the Setup page and enter your backend server URL (http://localhost:5000)

  3. Create your first user

  4. Start uploading photos


Contributions

Contributions are welcome! Whether it's bug fixes, feature enhancements, or documentation improvements, feel free to submit a pull request.