• Townie
    AI
  • Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
colingourlay

colingourlay

supernote-crosswords

Upload daily crosswords to your Supernote
Public
Like
supernote-crosswords
Home
Code
2
README.md
C
main.ts
Branches
1
Pull requests
Remixes
History
Environment variables
2
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
Code
/
Search
README.md

Supernote Crosswords

An automated utility to upload daily crosswords to your Supernote Cloud

Photograph of a crossword PDF on a Supernote A5X

What does it do?

Currently, the main.ts cron (running every 6 hours) will deliver the following puzzles:

  • The Guardian
    • [Mon-Sat] Quick crossword
    • [Mon-Sat] Cryptic crossword
  • Wall Street Journal
    • [Mon-Sat] Standard crossword1
    • [Sat] Variety crossword
    • [Sat] Number puzzles

How do I use it?

  1. On your Supernote, create a folder under Document called Crosswords, and sync with Supernote Cloud
  2. Remix this val to get your own copy
  3. In your val's 🔒 Environment variables, create two entries to hold your Supernote Cloud login credentials:
    • SUPERNOTE_CLOUD_EMAIL
    • SUPERNOTE_CLOUD_PASSWORD
  4. Wait for the script to run on schedule, or manually trigger it by pressing the Run button above main.ts's code.
  5. On your Supernote, perform a sync with Supernote Cloud, and check your Document/Crosswords folder.

Puzzles are named with the following format (making them nicely sortable):

{yyyy}-{mm}-{dd}-{provider}-{kind}.pdf

Photograph of a crosswords folder on a Supernote A5X

How does this talk to Supernote Cloud? I thought there's no API

I wrote a library that can communicate with Cloud, based on inspection of how the web UI communicates with the Supernote back-end and AWS S3 (where uploaded documents are actually stored).

If it's a useful enough library, I may extend it for other usage (downloads, folder creation, etc.), but for now it only implements the API calls needed to facilitate authentication, directory traversal/listing and uploads.

Thanks

Ade Bateman, who also had a stab at creating an unofficial Cloud API for the web using the same method I did.

Footnotes

  1. Sometimes the script can't predict the name of the daily WSJ crossword, so it won't be delivered that day ↩

Cron
  • main.ts
Code
README.md
C
main.ts
FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.