Skip to content

Roadmap — every feature in one place ​

One table per area. Every item has an ID so commits and conversations can refer to it (F-FAV-02). Status: ✅ live · 🚧 built, needs a setup step · 📋 planned · 💡 idea, needs a decision

How to use: when a new idea comes up, add a row here first (💡). When work starts, link the commit. Nothing lives only in chat.

Setup steps waiting on the owner ​

IDStepWhy it is blockedUnblocks
OPS-01Create a Google OAuth Client ID for artlove365.com, put it in GOOGLE_CLIENT_ID (workers/api/wrangler.jsonc)needs the owner's Google Cloud accountF-ACC-01 sign-in, F-FAV-03 sync
OPS-02Onboard artlove365.com in Cloudflare Email Service → Email Sendingadds DNS records to the zoneF-MAIL-01 emails reach customers
OPS-03Set ADMIN_TOKEN (npx wrangler secret put ADMIN_TOKEN in workers/api)secret, owner onlystudio /admin, SEO stats
OPS-04Verify the domain in Google Search Console + Bing Webmaster, submit /sitemap.xmlowner's Google/Microsoft accountsF-SEO-01
OPS-06Create the 7 social accounts and sign in to them in ChromeClaude may not create accounts or enter passwordsF-MKT-03 posting
OPS-07Provide the 50 commission photos (customer consent) into content/showcase/only the owner has themF-TRU-04
OPS-05Stripe account + STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRETowner decision, laterF-PAY-02 real payments

Catalog & discovery ​

IDFeatureStatus
F-CAT-01Gallery with search (any language) and pagination✅
F-CAT-02Artist pages: portrait, life story (origins, life, style, anecdotes, legacy), related artists, paginated works✅
F-CAT-10Every public artist has ≥ 10 paintings (new artists enter with a block of 10)✅
F-CAT-03Browse by movement, museum, subject, genre✅
F-CAT-04Wikidata ingest → daily publishing of ~277k public-domain paintings✅ (pipeline)
F-CAT-05Browse by color (16 swatches, for decor matching)📋 needs dominant-color extraction per image
F-CAT-06Browse by nationality, century, female artists📋 data already in Wikidata
F-CAT-07"500 most popular" + bestseller list📋 priority score exists
F-CAT-08Curated collections (Old Masters, Victorian, Famous portraits…)💡
F-CAT-09Filters on listings: orientation (portrait/landscape/square), size📋 aspect stored

Artwork page experience ("make them fall in love") ​

IDFeatureStatus
F-ART-01Immersive hero: framed painting on an ambient backdrop made from the painting✅
F-ART-02Full-screen viewer: zoom 1–8× (wheel, pinch, keys), pan, high-resolution file✅
F-ART-03Story text from real facts + details card with linked museum/movement/subjects✅
F-ART-04Share (native share sheet / copy link)✅
F-ART-05More by the same artist✅
F-ART-06No ordering on the artwork page (owner's direction 2026-10-04)✅
F-ART-07"View in a room": painting on room photos, wall-colour picker, true scale📋 high delight, M
F-ART-08"Similar paintings" across artists (same movement + subjects)📋
F-ART-09Curated stories for the top 500 works (human-written)📋 = F-SEO-10
F-ART-11Long-form story per painting: history, what to look for, meaning, legacy, did-you-know, sources🚧 written in Claude sessions in batches, EN + VI first (stories)
F-ART-14Stories in es, fr, de, ja📋 after EN + VI
F-ART-12"About the artist" card with portrait, linking to the artist's life story✅
F-ART-13"Paintings by related artists" (influence, teacher/student, same movement)✅
F-ART-10Swipe between related works on mobile💡

Favorites & accounts ​

IDFeatureStatus
F-FAV-01Heart on every card and artwork page, with burst animation; count in header✅
F-FAV-02Favorites stored in the browser (localStorage), synced across tabs✅
F-FAV-03Signed-in favorites stored in the account; local favorites merged at sign-in🚧 waits for OPS-01
F-FAV-04/favorites page✅
F-ACC-01Sign in with Google (ID token verified server-side, HttpOnly session cookie)🚧 waits for OPS-01
F-FAV-05Share a favorites list ("my wall") as a public link💡
F-FAV-06Email me when a favorite gets a sale / new size💡 needs consent flow

Ordering & payments ​

Hidden for now (owner, 2026-10-04: "hide ordering, do it last"). Switch: ORDERING_ENABLED in packages/shared/src/features.ts. While false: no order forms, no "Track order", /orders and /checkout are 404, customer guides are not published on docs. The home page links to information pages instead (/how-it-works, /custom).

IDFeatureStatus
F-ORD-00Information pages: "How we work" and the custom-painting service (process, styles with examples, occasions, photo tips)✅
F-ORD-01Custom painting from an uploaded photo (style, number of subjects)🚧 built, hidden
F-ORD-02Sketch approval before painting🚧 built, hidden
F-ORD-03Order tracking by code + email, status timeline🚧 built, hidden
F-ORD-04Where reproductions are ordered now that the artwork page has no order form💡 owner decision: e.g. a separate /order/{slug} page reached from favorites. The customer guide (/guide/ordering) still describes the old flow and must be updated with the decision.
F-ORD-05Photo of the finished painting before shipping, approve/revise📋 competitor feature, S–M
F-ORD-06"Paint any painting, any size" quote request📋 S
F-ORD-07Portrait price calculator page📋 S
F-ORD-08Portrait options: background, merge photos, medium (oil/acrylic/charcoal)📋
F-PAY-01Demo checkout screens (card, PayPal, wallets, bank; success/declined)🚧 built, hidden
F-PAY-02Real payments with Stripe Checkout🚧 code ready, waits for OPS-05
F-PAY-03Gift cards (+15 % bonus from $200)📋
F-PAY-04Multi-currency display📋

Trust & marketing ​

IDFeatureStatus
F-MKT-03Social channels (FB, IG, TikTok, YouTube, X, Pinterest, LinkedIn) + 3 launch posts🚧 posts drafted (plan); waits for OPS-06
F-TRU-04Showcase of real commissions on /custom (incl. nail-salon décor), consent required🚧 built (how); waits for OPS-07
IDFeatureStatus
F-TRU-01Guarantee + lifetime warranty + certificate of authenticity pages📋 S, owner to set the policy
F-TRU-02Reviews: per-painting stars, testimonials page📋 M, only real reviews
F-TRU-03Portrait landing pages by occasion (wedding, pets, family, children)📋 = SEO area I
F-MKT-01Newsletter + welcome coupon📋 needs consent + unsubscribe
F-MKT-02Unboxing-video reward💡

SEO ​

IDFeatureStatus
F-SEO-01Search Console + Bing verified, sitemap submitted🚧 OPS-04
F-SEO-02Edge-rendered HTML (title, meta, canonical, hreflang ×6, OG, JSON-LD, content)✅
F-SEO-03Sharded sitemaps with hreflang + lastmod✅
F-SEO-04Daily publisher with LLM title translation + IndexNow✅
F-SEO-05Daily Wikidata ingest keeping the queue full✅
F-SEO-06Real 404s, noindex on personal pages, thin-page guard✅
F-SEO-07Images on R2 + image resizing (stop hot-linking Wikimedia)📋 before traffic grows
F-SEO-08Combination pages (artist × subject, movement × subject, museum × artist)📋 phase 2
F-SEO-09Journal (art-history articles)📋 phase 3
F-SEO-10Human-written stories for the top 500 works📋
F-SEO-11Monthly translation spot-check📋 quality
F-SEO-12FTS5 search index past ~50k works📋
F-SEO-13SEO growth dashboard in /admin (reads /v1/admin/seo/stats)📋 S