Spark Program | Cell Sandbox — A Visual Playground for the CKB Cell Model

Weekly Sync: Milestone 1 Progress Update

Hi everyone,

This week I worked on the Milestone 1 flow for Cell Sandbox and pushed the latest updates for review.

Live demo:

Repository:

Merged PR:

What i Worked On

Milestone 1 is focused on making Cell Sandbox easier to understand as a visual playground for the CKB Cell model.

The current flow is:

Learn → Design Cells → Inspect Tx → Build Tx

Updates So Far

  • Added a Learn view to introduce the Cell model before users start editing fields.
  • Added a How to Use guide and Start Here panel.
  • Improved wording around CKB concepts:
    • Cells as state containers
    • Capacity as storage limit and CKB amount in shannons
    • Lock scripts as ownership/spending rules
    • Type scripts as optional state-transition rules
    • Transactions consuming live input Cells and creating new output Cells
  • Added a transaction inspector for full transaction hashes.
  • Improved the Build Tx page so users understand that designed Cells are local drafts until they are marked as Outputs.
  • Clarified that wallet inputs are supplied automatically when sending.
  • Fixed faucet response handling and wallet balance refresh behavior.
  • Improved Build Tx scrolling and responsive layout.
  • Added README screenshots and a reviewer walkthrough.

Suggested Review Flow

  1. Open the live demo.
  2. Start from Learn and read the Cell model explanation.
  3. Move to Design Cells and inspect or edit a Cell.
  4. Open Inspect Tx and load the sample transaction.
  5. Move to Build Tx.
  6. Click Output under a designed Cell.
  7. Check whether the transaction flow and wallet/send explanation feel clear.

Verification

So far, I have verified locally with:

  • TypeScript check
  • ESLint
  • Vitest test suite
  • Next.js production build
  • Desktop and mobile walkthroughs

Feedback Welcome

I would appreciate feedback on whether the Milestone 1 flow feels clear enough for new CKB developers, especially around the transition from designing a local Cell to marking it as a transaction output.

Next, I plan to continue with wallet selector work and further refine the wallet/send experience based on feedback.

2 Likes