Project
Digital Art Auction Archive
Web application developed for a real-world artwork archiving and research need. It provides an organised collection of works from auctions, books and catalogues while separating the public browsing experience from a private administration area.
Overview
Flask and PostgreSQL web application for recording, organising and browsing artworks from auctions, books and catalogues, with a private administration area, Gemini-assisted data extraction and a searchable public collection.
Stack: Python, Flask, PostgreSQL, HTML, CSS, Jinja2, Gemini API, Gunicorn, Nginx, systemd, Linux, Git, GitHub
What it does
The project started from the need to replace a scattered manual record of artworks with a centralised application capable of storing images, artists, titles, dimensions, techniques, provenance and auction data. It also needed to make large amounts of information easier to enter without losing manual control over the data before publication.
How it is built
The application is built with Flask, Jinja2 and PostgreSQL. It includes authentication for the private area, artwork creation, editing and deletion, draft and published states, artist management, image uploads and individual artwork pages. The public collection supports searches by artist, title or auction house and filtering by book or catalogue. It is deployed on a Linux VPS using Gunicorn, Nginx and systemd.
What it validates or automates
The private administration area integrates Gemini to analyse images of auction records and pages from art books or catalogues. The AI proposes fields such as artist, title, technique, dimensions, year, description, bibliography, lot number and auction information, while the user can review and correct the result before saving it. Internal source images are stored outside the public directory and require an authenticated session.
Key points
- Flask and PostgreSQL application used as a real archive for artworks from auctions, books and catalogues.
- Gemini integration in the private administration area to extract information from source images before manual review.
- Clear separation between the public collection and private administration, including protected drafts, internal notes and source files.
- Public search and filtering by book or catalogue.
- Self-hosted Linux deployment using Gunicorn, Nginx, systemd and HTTPS.