Perspec — Corrects image perspective for documents, whiteboards, and facades automatically or manually.
Analyzed by Sai Pavan Gopularam · Image Processing · Desktop App · View on GitHub
- Stars: 785
- Forks: 38
- Commits last 30 days: 7
- Health: Maintained (7 commits this month)
- Language: Haskell
- License: AGPL-3.0
What It Is
Perspec is a desktop application that fixes the perspective distortions in photos, making objects like documents, whiteboards, or building facades appear flat and straight. Imagine taking a photo of a document at an angle; Perspec acts like a digital scanner, intelligently flattening it out.
This matters because real-world objects are rarely photographed perfectly head-on. Perspec solves the problem of crooked scans and distorted images, making them readable, presentable, and suitable for digitization or professional use without specialized photography equipment.
License Verdict
AGPL-3.0 License — Commercial SaaS Requires Source Disclosure — Commercial Use Approved with Conditions • Strong Copyleft
The AGPL-3.0 license permits commercial use, including selling licenses for the application itself, as the author does. However, if you modify the source code and run it as a network service, you must provide the full source code of your modified version to users interacting with it. Using the unmodified binary via its CLI for a service is generally less restrictive.
How to Use It
Perspec can be installed as a prebuilt application on macOS via Homebrew or downloaded directly. For Linux or if building from source, you'll need Haskell's Stack and potentially Nix.
Prerequisites:
- macOS
- Homebrew
- Haskell Stack
- Platypus
- Nix
Estimated setup time: 10 minutes.
brew install --cask ad-si/tap/perspec
# Or, for source build:
git clone https://github.com/ad-si/Perspec
cd Perspec
make install
What I'd Build With This
Document Batch Processor Desktop Tool (micro-saas)
Develop a specialized desktop application that leverages Perspec's CLI for batch processing. This tool could offer enhanced features like automated folder monitoring, pre-set output profiles for different document types (e.g., receipts, invoices), and direct integration with cloud storage services. Target small businesses or individuals needing efficient document digitization.
Effort: 1 Week Build Time · Target: Small Businesses, Genealogists · Pricing: $29 one-time license
Whiteboard & Document Digitization API (saas)
Create a cloud-based API service that accepts image uploads of whiteboards, documents, or receipts. The API would use Perspec's CLI capabilities on the backend to perform perspective correction and cleanup, returning a digitized, clean image. This could be integrated into mobile scanning apps, note-taking tools, or internal document management systems. Be mindful of AGPL implications if modifying Perspec's source for the API.
Effort: 3 Months Build Time · Target: Mobile App Developers, SaaS Vendors · Pricing: $99/mo for 1000 API calls
On-Premise Archival Image Processor (enterprise)
Offer a custom, on-premise solution for large organizations (e.g., libraries, museums, legal departments) to process vast collections of archival documents or historical photos. This involves deploying Perspec's CLI tool within their existing infrastructure, developing custom scripts for automation, and integrating it into their data ingest and storage pipelines. This avoids AGPL network interaction concerns.
Effort: 6 Months Build Time · Target: Universities, Government Archives, Large Law Firms · Pricing: $25,000+ per project
Sai Pavan Gopularam's Take
Perspec is a clever example of an open-source project with a sustainable commercial model. I'd lean into its robust CLI for a specialized desktop tool, like an automated receipt digitizer for accountants, estimating around $750/month by charging $15/month per client for a premium version.
Watch Out For
- AGPL-3.0 License: If you modify the source and offer it as a network service, you must provide the modified source to your users. Building a traditional closed-source SaaS directly on modified Perspec code is challenging.
- Haskell Ecosystem: Building from source requires familiarity with Haskell and its build tools like Stack, which can have a steeper learning curve than more common languages.
- Unlicensed Reminders: The free version of the app displays "NOT REGISTERED" in the title and a "Buy License" banner before saving, which might affect professional perception if used directly without purchasing a license.
I break down trending repos like Perspec every week — join the newsletter.