StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Home
  2. Companies
  3. The Paperless Project
The Paperless Project

The Paperless Project

github.com/the-paperless-project/paperless

Not so much a company as a Free software project

15tools
10decisions
0followers
OverviewTech Stack15Dev Feed

Tech Stack

View all 15
Stack by Layer
AI1
Application & Data8
Utilities1
DevOps4
Business Tools1
AI
1 tools (7%)
Application & Data
8 tools (53%)
Utilities
1 tools (7%)
DevOps
4 tools (27%)
Business Tools
1 tools (7%)

AI

1
Tesseract OCR

Application & Data

8
DockerJavaScriptPythonDjangoHTML5SQLiteCSS 3Alpine Linux

Utilities

1
Sphinx

DevOps

4
Travis CICoverallsGitHubGit

Business Tools

1
jQuery

Latest from Engineering

View all
Daniel Quinn
Daniel Quinn

Senior Developer at The Paperless Project

May 16, 2019

Needs advice

I use Python because it's a beautiful (both visually and in terms of function) and multi-purpose language. In Paperless, Python is the primary connecting tissue holding all of the parts together: it's the basis of the consumption engine (communicating with Tesseract OCR via pyOCR) and the user-interface (based on Django).

27.7k views27.7k
Comments
Daniel Quinn
Daniel Quinn

Senior Developer at The Paperless Project

May 16, 2019

Needs advice

Django is an amazing web framework that comes with everything you need, and makes it easy to turn off the stuff you don't.

In the case of Paperless, I needed a simple way to build a site that had a pre-built "CRUD" interface, and that's the Django admin. Django also supports things like management commands and signals, which we use throughout the project along with its built-in testing framework.

2.13k views2.13k
Comments
Daniel Quinn
Daniel Quinn

Senior Developer at The Paperless Project

May 16, 2019

Needs advice

SQLite is a tricky beast. It's great if you're working single-threaded, but a Terrible Idea if you've got more than one concurrent connection. You use it because it's easy to setup, light, and portable (it's just a file).

In Paperless, we've built a self-hosted web application, so it makes sense to standardise on something small & light, and as we don't have to worry about multiple connections (it's just you using the app), it's a perfect fit.

For users wanting to scale Paperless up to a multi-user environment though, we do provide the hooks to switch to PostgreSQL .

388k views388k
Comments
Daniel Quinn
Daniel Quinn

Senior Developer at The Paperless Project

May 16, 2019

Needs advice

Alpine Linux is what you use when you care about disk space and not so much about features. As Paperless is using Docker to run its various components: (read: single-purpose virtual machines), Alpine makes perfect sense as each component can be built custom and stripped down to just what we need.

11k views11k
Comments

Team on StackShare

1
Daniel Quinn