Artlas
Find where great art physically lives, and plan a trip around it.
- Year
- 2026
- Role
- Solo, end to end
- Stack
- FastAPI · Postgres + pg_trgm · React · MapLibre

The problem
You know the painting, but not which museum holds it, or which works are worth seeing in the city you’re visiting next. Artlas lets you search artworks, artists and museums, save pieces to a wishlist, and turns that wishlist into a travel plan.
How it works
- A FastAPI backend with async SQLAlchemy serves artworks, artists and museums from Postgres.
- Search is typo-tolerant through pg_trgm word similarity and returns results grouped by type.
- A MapLibre map shows every museum, filterable by city, country or movement.
- The wishlist groups saved works by city, so it reads like an itinerary.
Key decisions
Fuzzy search in the database
Trigram similarity in Postgres handles “picaso” or “starri” without running a separate search engine.
A schema ready for real data
Every row carries a Wikidata id, so the curated seed data can be replaced by a SPARQL import without changing the model.
Results
- Search, map, detail pages, and a wishlist with JWT auth and optimistic UI
- Layered backend (routers, services, repositories) with unit tests

Home

Search results grouped by artworks, artists and museums

Artwork detail with a “where it lives” card

Wishlist grouped by city as an itinerary
What I’d do next
A real Wikidata ETL, a mobile pass, and trip planning with dates and sharing.