Inspiration
Buying art online is exciting—but also intimidating. Photos rarely answer the questions buyers actually care about: Will this look good in my space? What style is this really? Is it similar to pieces I already like? We were inspired by the gap between auction marketplaces (great at transactions) and the buyer’s decision process (often guesswork). Artium was built to make auctions feel more confident, visual, and discoverable with AI-driven viewing + guidance.
What it does
Artium is an auction-oriented art marketplace with AI decision support for buyers.
- Auction core: browse listings, view details (images/attributes/current bid), place bids, and view bid history.
- Preview in your room: upload a room photo → generate a realistic preview mockup + short description.
- Includes quality checks (lighting/angle/space) and a fallback flow if the photo isn’t suitable (wrong photo uploaded).
- Auto-extract artwork details: AI extracts key attributes from the artwork image (as editable tags).
- Similar items: recommends visually similar works for discovery with “why similar” evidence (shared tags, palette, style cues).
How we built it
- Frontend: Next.js web app for browsing, bidding, and AI-assisted viewing.
- Backend: Go API to handle auctions, users, bidding logic, and orchestration for AI pipelines.
- Database: Postgres (Docker Compose) for listings, bids, users, extracted tags, and similarity metadata.
- Object storage: temporary storage for image uploads (room photos and artwork images).
- AI pipelines:
- Room preview pipeline: validates the room photo → generates a mockup preview + short description → returns result to the UI.
- Extraction pipeline: runs on artwork images to produce structured attributes/tags the user can edit.
- Similarity pipeline: creates embeddings/features for artworks → retrieves nearest neighbors → produces explanation signals (“why similar”).
How we operate
- Docs-first approach: architecture, API contract, and DB schema documented in
/docsso everyone builds against the same source of truth. - Feature-branch workflow: we create a new branch for every feature/fix to keep
mainstable and changes easy to review. - Issue-driven execution: all work (features, bugs, tweaks) is tracked as GitHub Issues with clear owners, priority, and acceptance criteria.
- PR-based collaboration: changes land via Pull Requests (no direct pushes to
main) to ensure traceability and clean history. - Peer review before merge: every PR is reviewed by at least one teammate before merging to catch bugs, improve code quality, and align on design decisions.
Challenges we ran into
- Making AI outputs reliable in a buyer workflow: we needed guardrails (quality checks + fallbacks) so users don’t get nonsense previews.
- Explainability for “similar items”: recommending is easy; explaining why is harder. We had to design evidence that’s intuitive (palette/tags/style) rather than opaque scores.
- Integrating multi-step AI pipelines under hackathon time: orchestrating uploads, temp storage, and async-ish processing while keeping the UI responsive.
- Balancing scope: ensuring the core auction flow was complete while still delivering meaningful AI features for Track 4 + Track 3.
Accomplishments that we're proud of
- Built an end-to-end auction experience (browse → view → bid → bid history) in 7 days.
- Delivered virtual viewing that includes photo suitability checks and fallback, not just a “happy path” demo.
- Implemented auto-extraction into editable tags, so users can correct AI instead of being stuck with it.
- Added similar-item discovery with “why similar” evidence, improving trust and exploration.
- Produced a clean, scalable Next.js → Go API → Postgres architecture with documented contracts and schema.
What we learned
- AI needs UX guardrails to be useful—quality checks, fallbacks, and user editability matter as much as the model.
- Explainability boosts trust: even simple evidence (shared tags/palette/style hints) improves user confidence dramatically.
- Great demos come from integration, not just models: handling storage, state, latency, and UI flows is where most real-world complexity lives.
- Docs save time: writing API contracts and schema early reduced confusion in a 5-person team sprint.
What's next for Artium
- Better preview realism: improve placement, perspective, and lighting adaptation; support multiple wall surfaces and frames.m
- Personalised discovery: build collector profiles (likes/bids/views) to power ranked recommendations and curated feeds.
- Richer listing intelligence: auto-generate listing summaries, condition notes, and authenticity prompts for sellers (with human edit).
- Trust & safety: image moderation, watermark detection, and clearer provenance signals.
- Production hardening: background jobs/queues for AI pipelines, caching, rate limiting, monitoring, and stronger storage lifecycle rules.
- Marketplace expansion: notifications (outbid alerts), watchlists, and seller tooling for faster listing creation.
Built With
- docker
- fastapi
- golang
- google-genai
- next.js
- pinecone
- postgresql
- python
- react
- tailwind.css
Log in or sign up for Devpost to join the conversation.