← Back to Website

Platform Guide

Complete how-to documentation for managing your platform, auctions, artists, and events.

Platform Overview

The platform consists of two public websites backed by a single shared API (Cloudflare Worker + D1 database):

ComponentURLPurpose
Hub Websitekokishin-arts.comPublic home for Kokishin — events, artists, auctions, members portal
Cockpitkokishin-arts.com/cockpitAdmin control panel for everything
Artist Sitethewaterandoilartist.comBrad's personal gallery, portfolio, and auction landing page
API / Worker(internal) gavels-worker on CloudflareAll data, auth, image storage, notifications

Both websites pull from the same Worker API. Data you manage in the Cockpit immediately appears on both sites.

Hub public pages

PageURLWhat it shows
Home/Overview, What's On section, artist spotlight, newsletter signup
Events/eventsUpcoming events and auctions, filterable by type
Artists/artistsArtist roster with avatars, bios, and apply CTA
Auctions/auctionsAll auctions with Live / Upcoming / Past tabs and lot counts
Members/membersBidder login, auction list, lot grid, and bid/buy-now portal
Privacy/privacyPrivacy policy
Terms/termsTerms of use and bidding rules

Accessing the Cockpit

  1. Go to kokishin-arts.com/cockpit
  2. Sign in with your admin credentials:
    • Master admin: leave the email field blank, enter the master password
    • Named admin users: enter their email and password
  3. The Cockpit opens to the Dashboard
Tip The Cockpit remembers your session in the browser. You won't need to log in again unless you sign out or clear your browser storage.

Hub Public Pages

The hub website at kokishin-arts.com is fully dynamic — all content comes from the API. You manage everything through the Cockpit; there's no HTML to edit for day-to-day operations.

Home page

The "What's On" section automatically shows the next 3 upcoming events and the most recent live or upcoming auction. The artist spotlight loads the first 3 active artists from the database. The newsletter signup stores emails in the newsletter_subscribers table.

Events page (/events)

Shows all events from the Events section of the Cockpit, merged with upcoming auctions. Visitors can filter by event type. The filter tabs are built dynamically from the event types you've actually used — no configuration needed.

Artists page (/artists)

Shows all active artists from the Artists section of the Cockpit. Displays avatar (or initials if no photo), name, discipline, bio excerpt, and website link. An "Apply" CTA at the bottom sends applications to the Cockpit's Applications section.

Auctions page (/auctions)

Lists all auctions with Live / Upcoming / Past filter tabs. Each card shows status, description, venue, date, and lot count. The "Place a Bid" button links to the Members portal.

Members Portal (/members)

The Members portal is where registered bidders log in to bid. It supports two login methods:

After login, bidders see their registered auctions, can browse lots with photos and current bids, and can place bids or buy-now purchases. The session is remembered for the browser tab.

Note SMS login requires Twilio to be configured and active. Until then, direct bidders to use email + password login.

Dashboard

The Dashboard is the first screen after login. It shows a live snapshot of the platform:

Events

The Events section manages all non-auction events (gallery openings, artist talks, venue shows, etc.) that appear on the hub's /events page and home page.

Creating an event

  1. Click + New event
  2. Fill in: Title, Type, Venue, Date & Time, Description
  3. Optionally set a Ticket URL and Hero image
  4. Set Status to Published to make it visible on the website
  5. Click Create event

Event types

The "Type" field drives the filter tabs on the /events page. Use consistent type names (e.g., "Gallery Opening", "Artist Talk", "Auction", "Workshop") so the filters group correctly.

Hero images

After saving an event, an upload button appears on the hero image field. Click it to upload a photo from your computer — it's stored in Cloudflare R2 and the URL is saved automatically. Recommended: landscape images at 16:9 ratio.

Auctions

The Auctions section is where you create and configure all auctions. Each auction has its own lots, timing, and settings.

Creating an auction

  1. Click + New auction
  2. Fill in the Basics tab: Name, Status, Venue, Description, Beneficiary
  3. Set the Timing tab: online opens date/time, live event date/time, close date/time, close rule
  4. Set the Rules & Pricing tab: buyer's premium %, default bid increment, Buy Now policies
  5. Click Create auction
  6. The dialog switches to the Lots tab — add lots now or close and come back later

Auction statuses

StatusVisible on hub?Bidding allowed?
DraftNoNo
PublishedYes (upcoming)No
Pre-liveYesYes — online bidding open
LiveYes — highlightedYes — live auction active
ClosedYes — past tabNo
CancelledNoNo

Lots

Lots are managed inside each auction. Open an auction by clicking its edit (pencil) icon, then go to the Lots tab.

Adding a lot

  1. Click + Add lot
  2. Assign a lot number (or leave blank to auto-number)
  3. Optionally link to an artwork from the artist database — this pre-fills title and artist
  4. Or enter a custom description for lots not in the gallery
  5. Set estimates, minimum bid, reserve price, and Buy Now price
  6. Click Add lot to save

Lot statuses

StatusMeaning
OpenAvailable for bidding
ActiveCurrently being called at the live event (highlighted in monitor)
SoldHammer has fallen — no more bids accepted
PassedLot did not meet reserve and was passed
WithdrawnRemoved from sale

Live Monitor

The Live Monitor gives you a real-time view of any auction's lots — current bids, statuses, and quick controls — without leaving the Cockpit. This is the view to keep open during a live event.

Using the monitor

  1. Click Live Monitor in the sidebar
  2. Select the auction from the dropdown — it auto-selects the first Live or Pre-live auction
  3. The lot grid shows all lots with: photo, lot number, title, artist, current bid, and status
  4. The stats bar shows: total lots, open/active count, sold count, and total hammer value
  5. The view auto-refreshes every 30 seconds. Click Refresh now at any time

Changing lot status from the monitor

Each open lot card has a status dropdown. Use it to:

Tip Mark a lot Active as each lot is called — bidders in the Members portal can see the status and it gives the auction a real-time feel even for online bidders.

Artists

The Artists section manages the roster of artists that appear on the /artists hub page and throughout the platform.

Adding an artist

  1. Click + Add artist
  2. Fill in: Name, Level (emerging/established/featured), Type/Discipline, Bio, Website, Instagram, City
  3. Set Active to Yes to show them on the public artists page
  4. Click Create artist
  5. After saving, click the avatar upload button to add a profile photo

Artist artworks

Each artist has their own artwork library. Select an artist from the left panel, then use the artwork section on the right to add, edit, or remove works. Artworks can be linked to auction lots — select the artist's artwork when creating a lot to pull in the title and artist automatically.

Artwork images

Each artwork can have multiple images. Use the upload button in the artwork edit modal to add photos. The first image uploaded becomes the primary/cover image. Click a thumbnail to set a different image as primary. Images are stored in Cloudflare R2.

Registrations

The Registrations section shows all bidder accounts (clients) who have registered through the Members portal. You can:

Applications

The Applications section receives submissions from the "Apply" forms on the hub website — artist applications, venue inquiries, and sponsor requests.

Processing an application

  1. Click any application to open it and read the full submission
  2. Update the status: New → Reviewing → Accepted / Declined / Waitlist
  3. Add internal notes if needed
  4. Click Save

Accepted artist applicants can then be formally added as an Artist record in the Artists section.

Communications

The Communications section lets you send email and SMS notifications to registered bidders (clients).

Sending to an individual

  1. Select the bidder from the dropdown
  2. Choose a message type and compose your message
  3. Click Send Email or Send SMS

Sending to all bidders

Use the "Send to All" buttons to email or SMS all registered bidders for the selected auction — useful for pre-event reminders.

Note Email is sent through Resend and works immediately. SMS via Twilio requires A2P 10DLC carrier registration before messages will be delivered. Use email as your primary notification method until SMS registration is complete.

Admin Users

Additional admin users can log into the Cockpit with their own email and password.

Adding an admin

  1. Go to Admin Users in the sidebar
  2. Click + Add admin user
  3. Enter name, email, and a password for them
  4. Click Add

Master admin vs. named admins

Note All admins have the same access level. The master password always works regardless of other admin accounts.

Settings

The Settings section lets the currently logged-in admin change their display name, email address, and password.

Note The master admin's password is stored as a Cloudflare Worker secret and cannot be changed from the Settings page. To change it, run: npx wrangler secret put ADMIN_PASSWORD from the worker directory.

Artist Site — thewaterandoilartist.com

The artist site is Brad's personal portfolio site. It shares the same API as the hub — artwork, auction, and lot data is the same. Key pages:

PageURLPurpose
Home / Gallery/Portfolio, collections, auction section
Auction App/auction_app_final.htmlLegacy full auction management view (still functional)
Bidder Portal/bidder-portal.htmlLegacy bidder login portal

Auction Section on Artist Site

The auction section on the main page of thewaterandoilartist.com auto-loads from the API:

To update what appears: change the auction's featured lot in the Cockpit (Auctions → edit auction → Basics tab → Featured Lot field — this field appears once lots exist).

Deployment & Updates

Deploy the hub website (kokishin-arts.com)

cd C:\Users\artis\OneDrive\Desktop\gavels-deploy
npx wrangler pages deploy . --project-name=gavels-art-and-entertainment

Deploy the artist site (thewaterandoilartist.com)

cd C:\Users\artis\OneDrive\Desktop\Downloads\thewaterandoilartist-site
npx wrangler pages deploy . --project-name thewaterandoilartist-site

Deploy the API Worker

cd C:\Users\artis\gavels-worker\gavels-worker
npx wrangler deploy

File Locations

ComponentLocal Path
Hub website (all hub pages)C:\Users\artis\OneDrive\Desktop\gavels-deploy\
Cockpit admin panelC:\Users\artis\OneDrive\Desktop\gavels-deploy\cockpit\index.html
Artist site filesC:\Users\artis\OneDrive\Desktop\Downloads\thewaterandoilartist-site\
Worker / API sourceC:\Users\artis\gavels-worker\gavels-worker\src\index.js

Managing Secrets

cd C:\Users\artis\gavels-worker\gavels-worker
npx wrangler secret put SECRET_NAME

Current secrets in use:

SecretPurpose
ADMIN_PASSWORDMaster admin password for the Cockpit
RESEND_API_KEYEmail delivery via Resend (3,000 free emails/month)
STRIPE_SECRET_KEYPayment processing (use sk_test_... for sandbox)
TWILIO_ACCOUNT_SIDSMS delivery — Twilio account ID
TWILIO_AUTH_TOKENSMS delivery — Twilio auth token
TWILIO_PHONE_NUMBERSMS sender number
Stray secret A secret named ADMIN_PASSWORDWater may exist alongside the correct ADMIN_PASSWORD. Delete the stray one from the Cloudflare dashboard under Workers & Pages → gavels-worker → Settings → Variables & Secrets.

Frequently Asked Questions

Where do I manage everything now? There used to be a separate Auction App.

Everything is now managed from the Cockpit at kokishin-arts.com/cockpit. The Cockpit replaces the old Auction App and Gallery Admin with a single unified interface covering auctions, lots, artists, artworks, events, registrations, applications, and communications. The old auction app at thewaterandoilartist.com/auction_app_final.html still works as a legacy view but the Cockpit is the primary tool going forward.

How do I watch a live auction in real time as admin?

Use the Live Monitor in the Cockpit sidebar. It shows all lots for the selected auction with current bids, statuses, and photo thumbnails. It auto-refreshes every 30 seconds and you can click "Refresh now" at any time. Use the status dropdown on each lot card to mark lots Active (current lot), Sold, or Passed as the event progresses.

How do I set the auction status to "Live" when my event starts?

In the Cockpit, go to Auctions, click the pencil icon on your auction, go to the Basics tab, change Status to Live, and click Save changes. The hub website, artist site, and member portal will all reflect the live status immediately.

How do I add a new artist to the platform?

Go to Artists in the Cockpit sidebar, click + Add artist, fill in their details, and set Active to Yes. After saving, use the avatar upload button to add their photo. They'll appear on the /artists page immediately.

How do I upload a photo for an artist or event?

Save the record first (artist or event), then an upload button appears next to the avatar or hero image field. Click it to select a file from your computer — photos are uploaded to Cloudflare R2 and the URL is saved automatically. You don't need to handle URLs manually.

How do bidders register for an auction?

Bidders go to kokishin-arts.com/members, enter their name, email, and phone number to create an account, and choose which auction(s) to register for. They'll receive a paddle number automatically. You can also add bidders manually from the Registrations section in the Cockpit.

A bidder can't log in to the Members portal. How do I help them?

Two options: (1) Direct them to use the SMS code tab — they enter their phone number and receive a one-time code (requires Twilio active). (2) Go to Cockpit → Registrations, find their record, and check/update their email address. If their password is missing, they can request a reset link from the email login tab.

Can I run multiple auctions at the same time?

Yes. Create as many auctions as needed — each has its own lots, registrations, and settings. The /auctions hub page shows all of them categorized. The Live Monitor lets you select which auction to watch. Bidders in the Members portal see all auctions they're registered for.

How do I set the featured lot that appears on the artist website?

In the Cockpit, go to Auctions, edit the auction, and on the Basics tab find the Featured Lot dropdown (this appears once you have lots). Select the lot and save. Its primary photo will appear in the auction section on thewaterandoilartist.com.

How do I add artwork to an auction lot?

When adding or editing a lot, use the Linked artwork dropdown to connect it to an artwork in the artist database. This auto-fills the title and artist fields. You can also create a custom lot without linking to an artwork — just fill in the description manually.

How do I create an event (gallery opening, talk, etc.)?

Go to Events in the Cockpit sidebar, click + New event, fill in the details, set Status to Published, and save. It will appear on the /events hub page and in the "What's On" section on the home page immediately.

What do I do with artist applications submitted through the website?

Applications appear in the Applications section of the Cockpit. Click any application to read the full submission, update its status (New → Reviewing → Accepted/Declined/Waitlist), and add internal notes. If you accept an artist, add them formally in the Artists section.

How do I send a reminder email to all bidders before an auction?

Go to Communications in the Cockpit, compose a reminder message, and click Send to All. You can also choose a pre-built "Auction Reminder" template that auto-fills the auction name, date, time, and venue.

Can I have multiple admins in the Cockpit?

Yes — go to Admin Users in the Cockpit sidebar and add as many named admins as needed. Each gets their own email and password. The master admin password always works alongside named admin accounts.

How do I update the hub website or cockpit after making code changes?

Run: cd C:\Users\artis\OneDrive\Desktop\gavels-deploy then npx wrangler pages deploy . --project-name=gavels-art-and-entertainment. The deploy takes about 10–30 seconds and the live site updates immediately.

What does it cost to run this platform?

Cloudflare free tier covers Workers (100K requests/day), Pages (unlimited), R2 (10GB storage), and D1 (5GB database). Resend email is free for 3,000 emails/month. Stripe charges 2.9% + 30¢ per successful transaction. Twilio SMS costs depend on volume. The baseline cost for a low-volume auction is effectively $0 outside of Stripe transaction fees.

Can I access the Cockpit from my phone during a live event?

Yes. The Cockpit is fully responsive and works on mobile browsers. The Live Monitor is particularly useful on a tablet — you can watch lot status and make quick changes without needing a laptop on the table.

Why aren't SMS messages being delivered?

US carriers require A2P 10DLC registration or toll-free number verification before SMS can be delivered in volume. Complete this registration in the Twilio console. In the meantime, use email notifications — they work immediately through Resend.

Kokishin Arts — Platform Guide

Built on Cloudflare Workers, Pages, D1 & R2 · Email by Resend · SMS by Twilio · Payments by Stripe