Discover and map public and street art, follow artists, and join the community.
not yet reviewed by publik. It is live now; the founder has not reviewed this version yet.

An open-source map for discovering, documenting and connecting public art.
A cross-platform Flutter app built on MapLibre, with community tools, optional AR and optional decentralized infrastructure.
Try it live · Documentation · Contribute · Discussions · Project site
The map on web, guest session, real public data. The photo credit and source shown in the card come from the artwork record.
art.kubus puts public and street art on a map. You can find works near you or anywhere else, see who made them and where the record came from, save and share them, and follow the artists and institutions behind them. Artists and institutions publish their own work, exhibitions and events. The community adds, corrects and discusses what is out there.
The same Flutter codebase runs on Android, iOS, web, Windows, macOS and Linux. The map uses MapLibre with the project's own vector styles over OpenStreetMap-based tiles. AR, wallets and the kubus Node spatial archive are optional layers on top of that. You do not need them to browse the map or join the community.
If art.kubus is useful or interesting to you, consider starring the repository. It helps more contributors find the project.
| Area | What works today |
|---|---|
| Map discovery | MapLibre map with search across artworks, artists and institutions, discovery filters, nearby lists, marker cards with source and photo attribution, a discovery path, and light and dark map styles |
| Community | Feed, groups, posts, comments, following, messaging and reporting |
| Artists | Artist Studio for publishing artworks, collections and exhibitions, and for managing map markers and AR markers |
| Institutions | Institution Hub for exhibitions and events, available after verification |
| AR (optional) | Marker-based AR on Android (ARCore) and iOS (ARKit); web and desktop link to the mobile app instead |
| Spatial archive (optional) | Spatial captures of artworks, processed on a paired kubus Node or an eligible network GPU, and published only when the author chooses |
| Wallet and governance (optional) | Solana wallet via Reown AppKit, plus experimental marketplace and DAO features |
| Languages | English and Slovenian, with complete key parity |
Most optional features are gated by build-time feature flags in lib/config/config.dart and depend on the hosted API. See docs/FEATURES.md for detail.
|
|
| Mobile map with an artwork opened from the nearby sheet. | Desktop home: discovery entry points, artworks and community activity. |
More surfaces, including community, Artist Studio, profiles and Institution Hub, are described in docs/SCREENS.md. docs/SCREENSHOTS.md explains how these images are captured.
art.kubus is not a purely decentralized system today. The hosted API is the primary source of truth. Decentralized parts are optional and additive, and the project is moving toward more of them over time.
art.kubus Flutter client (this repository, MPL-2.0)
Android · iOS · web · Windows · macOS · Linux
MapLibre map · Provider state · en/sl localization
│
│ REST + WebSocket
▼
art.kubus API (api.kubus.site, standby bapi.kubus.site)
implemented in art.kubus-backend: separate repository,
separate licensing, included here as the backend/ submodule
│
└─ database, media and moderation run on hosted infrastructure
Optional, additive layers
Solana wallet (Reown AppKit) wallet, marketplace, DAO features
kubus Node (AGPL-3.0-only) spatial processing and public archive participation
IPFS / IPNS public snapshot read-only fallback when both API endpoints are unreachable
ARCore / ARKit on-device AR on mobile
Inside the client, screens and widgets sit on ChangeNotifier providers, which call services for API, map, AR and wallet work. docs/ARCHITECTURE.md covers the boot sequence and module layout, and docs/OPEN_PLATFORM.md covers what is open and what is hosted.
| Path | Contents |
|---|---|
lib/ | Flutter client: screens/, widgets/, providers/, services/, models/, config/, l10n/ |
assets/ | Images, fonts, map styles (assets/map_styles/) and marker art |
android/, ios/, web/, windows/, macos/, linux/ | Platform runners |
test/ | Unit and widget tests, plus opt-in visual QA matrices under test/qa/ |
packages/kubus_lints/ | Project-specific lint rules (theme tokens, raw colors, backdrop filters) |
scripts/ | CI guards, verification and Playwright web QA (scripts/qa/) |
docs/ | Developer documentation, starting at docs/README.md |
backend/ | Git submodule for art.kubus-backend. Private, not needed to run the client |
art.kubus is in alpha and under active development. Expect frequent changes, including occasional breaking ones.
dev. Production releases are promoted from dev to master.dev is 0.8.1 (release notes; previous: 0.8.0).Contributions are welcome, including code, documentation, translations, accessibility fixes and bug reports.
CONTRIBUTING.md for setup, conventions and the PR flow.good first issue or a help wanted issue.Project policies: Code of Conduct · Governance · Support · Security (report vulnerabilities privately, not in issues).
art.kubus is also a research and development project. It looks at how digital cultural infrastructure, spatial interfaces, participation, AR and decentralization can support public art and the people and institutions around it. The project site at art.kubus.site has more on that side of the work.
The code in this repository is licensed in parts:
| Part | Terms |
|---|---|
| The Flutter client and everything else in this repository not listed below | MPL-2.0, see also NOTICE |
| Files explicitly marked as public platform API artifacts | Apache-2.0, where marked |
Vendored third-party code (for example third_party/, web/local/maplibre-gl) | Upstream licenses, see THIRD_PARTY_NOTICES.md |
backend/ submodule | Separate repository with its own terms. Not MPL-2.0 |
| Names, logos and branding | Not licensed by the above, see TRADEMARK.md |
| Images, media and user or institutional content | See LICENSE_ASSETS.md |
docs/licensing.md gives a plain-language overview of the whole ecosystem, including kubus Node (AGPL-3.0-only).