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