Skip to content

v3.12.0 — Landing page redesign, visitor counts and feedback

Choose a tag to compare

@otatechie otatechie released this 17 Oct 22:57
· 35 commits to main since this release

A rebuilt landing page, a way to hear from the people using SlipNote, and counts of where visitors come from. Also an installable board, better download names, and a clearer theme switcher. One migration and two new env keys — see "Before you deploy".

Landing page

Rebuilt to Nielsen Norman Group guidance: say what it is first, one action, students' own words, nothing decorative that says nothing.

  • Hero. "Share your class's notes, slides and past papers with one link." beside a class group chat: someone asks for the slides, someone says "scroll up", you post the board link, and a classmate replies "Finally". The link preview shows what it opens: 6 courses · 48 files.
  • How it works. Three steps on a vertical line. Step 1 shows the link the board's name becomes and introduces the owner link; step 2 shows a small board of courses.
  • Compare. WhatsApp group, SlipNote and Google Drive as rows of things a student wants to do, answered with yes / no / partly marks that look the same in every column. Drive gets fair "partly" marks where it earns them.
  • Questions. Shown openly instead of in an accordion, each answer leading with the direct answer. File limits come from config, so the page never states a number the app doesn't enforce.
  • Layout. A floating rounded nav bar, sections separated by space instead of rules, every button fully rounded, and one label throughout: "Create a board".

Feedback and visitor counts

  • "Using SlipNote a lot? Tell us how." Boards with files show this under the course list, with WhatsApp and email links that already name the board. Dismissed once per browser. Hidden until a contact is configured.
  • Arrival counts. A page opened from outside the site adds one to a daily tally of board × country × source. No IP, user agent or cookie is stored; navigation inside the site, crawlers and WhatsApp link-preview fetches don't count. Country comes from Cloudflare's CF-IPCountry, trusted only from a trusted proxy.
  • Operator → Visitors tab. The last 30 days by country, by source (google, whatsapp, ambassador, direct, or the referring site), and the boards people arrive at with each one's leading countries.
  • Privacy page now describes the counts, which it previously ruled out, and its date is updated.

Also in this release

  • Installable as the board. Each board serves its own web app manifest, so Add to Home Screen opens on the board, not on SlipNote. A service worker answers offline navigation with a notice; it caches nothing.
  • Downloads keep the uploader's title and carry the course code, in single downloads and ZIPs.
  • Theme switcher shows all three modes (system, light, dark) side by side instead of a button that cycled through them.

Before you deploy

Run migrations. A new visit_tallies table.

Set two env keys (both in .env.example) to show the feedback prompt:

  • FEEDBACK_WHATSAPP — your number in international form, digits only, e.g. 233241234567.
  • FEEDBACK_EMAIL — optional; falls back to CONTACT_EMAIL.

Leave both empty and the prompt stays hidden.

For countries in the Visitors tab, the site must sit behind Cloudflare with its ranges in TRUSTED_PROXIES. Without that, every country reads Unknown; everything else still works.

VisitTallyTest covers the counts, the Visitors tab and the feedback links. 199 tests.