Skip to content
Back to Portfolio
Scottish Wildlife Trust (SWT)Public Case Study Repo
Public Engineering Case Study

A secure operations platform for a national nature writing competition.

Built for the Scottish Wildlife Trust to manage multilingual story submissions, volunteer reader allocation, scoring, arbitration, and final competition rankings across English, Scots, and Gaelic.

Words of the Wild Scottish Wildlife Trust project banner

GDPR & Data Protection Governance: All interface details and workflow specifications featured in this case study use representative demonstration data. No live submission content, entrant details, volunteer credentials, or private operational records are displayed.

The Operational Challenge

Replacing a complex manual process with one connected system.

The competition required hundreds of anonymous submissions to be distributed across a large volunteer reading team, with every story reviewed independently by three readers and routed correctly across English, Scots, and Gaelic.

650+
Competition Submissions
3
Supported Languages (EN/Scots/Gaelic)
3
Independent Reviews per Story
20
Anonymous Stories per Pack
Feature 01

Anonymous Processing

Submission data is transformed into anonymous PDFs and reader materials without exposing entrant details, guaranteeing 100% blind grading.

Feature 02

Language-Aware Allocation

The allocation engine prioritises Scots and Gaelic capability first before distributing English-language entries to default readers.

Feature 03

Automated Reconciliation

Prefilled review links connect every response to the correct reader, story, and assignment automatically without manual selection dropdowns.

Low-Friction Volunteer Workflow

Zero login friction for 150+ volunteer readers.

Volunteers receive a clean, personalised reading list containing direct links to anonymous story PDFs and prefilled evaluation forms. Readers complete reviews without creating platform accounts, remembering passwords, or searching through dropdown menus.

Direct links to pre-assembled anonymous story packs
Prefilled form links automatically link scores to assignment IDs
No volunteer portal account management or onboarding overhead
Words of the Wild Volunteer Reading List interface
Operational Transformation

Immediate Value Delivered

BeforeManual Fragility
  • Single generic Google Form forcing readers to search through 900+ story titles in one dropdown
  • Account sign-in barriers for non-Google email volunteers trying to access scoring forms
  • Complex manual reallocations when volunteers dropped out, risking Gaelic or Scots language capability mismatches
  • Overloaded spreadsheets with dozens of tabs and zero clear visibility on inactive readers or stalled progress
  • Weeks of team preparation, manual document copying, and email coordination
AfterAutomated Precision
  • Prefilled review links passing assignment_id, story_id, & reader_id with zero account logins or title dropdowns
  • Accelerated completion where volunteers finished reading packs in days, some on the exact same day
  • Seamless reallocation engine maintaining Gaelic and Scots reader capability rules automatically
  • Live Next.js control panel exposing stalled stories and inactive readers instantly without tab scrolling
  • What previously required an entire team weeks of manual preparation is now executed in 5 clicks
System Architecture

Google Workspace automation with a secure Next.js control layer.

Google Apps Script manages the background workflow, while the server-side Next.js dashboard gives authorised administrators a clear, responsive operational interface.

Words of the Wild system workflow showing submissions, automation, reader allocation and dashboard monitoring
System Data PipelineEnd-to-End Execution Flow
1. Intake Webhook
Gravity Forms

Enters live submission data into Google Sheets

2. Automation Core
Apps Script Engine

Generates anonymous PDFs & tags (wotw2026-3004)

3. Volunteer Review
Prefilled Score Forms

3 blind reviews per story across EN / Scots / Gaelic

4. Control Dashboard
Next.js Operations Layer

Entra ID protected live progress & leaderboard

01

Submission Intake

Gravity Forms sends new entries into the operational Google Sheets database through a webhook-driven workflow.

02

Automation Engine

Apps Script creates anonymous PDFs, allocates readers, assembles packs, and sends personalised reviewer emails.

03

Review Reconciliation

Prefilled Google Forms preserve assignment identifiers and reconcile each response with the correct story.

04

Operations Dashboard

A secure Next.js application provides live progress, adjudication, allocation, and competition insights.

Engine Deep Dive

Multi-Pass Balanced Round-Robin Allocation Framework

Google Apps Script Core

The allocation engine executes a 3-pass round-robin distribution to guarantee every story receives 3 independent reviews without exceeding volunteer reader capacity limits.

Priority Language Routing:
1. Gaelic Track (Specialist Matching)
2. Scots Track (Specialist Matching)
3. English Track (Default Distribution)
Conflict Safeguards:

Calculates reader email matching to prevent entrants from reviewing their own submissions, enforcing 100% blind grading integrity.

allocateStoriesToReaders.gsApps Script Backend
// Priority Track Allocation & Round-Robin Logic
['Gaelic', 'Scots', 'English'].forEach(langKey => {
  const currentTrack = storiesByLang[langKey];
  
  currentTrack.forEach(story => {
    if (story.assignedCount >= 3) return;
    let bestReader = null, minCount = Infinity;
    
    readers.forEach(reader => {
      if (!reader.languages[story.language]) return;
      if (reader.currentCount >= reader.capacity) return;
      if (reader.assignedStories.has(story.id)) return;
      if (reader.email === story.email) return; // Safeguard
      
      if (reader.currentCount < minCount) {
        minCount = reader.currentCount;
        bestReader = reader;
      }
    });
    
    if (bestReader) {
      bestReader.currentCount++;
      bestReader.assignedStories.add(story.id);
      story.assignedCount++;
      assignmentsOut.push(['ASG-' + nextNum++, story.id, bestReader.id...]);
    }
  });
});
Technology Stack:Next.js 16TypeScriptGoogle Apps ScriptGoogle Sheets APIMicrosoft Entra IDTailwind CSS
Architecture Walkthrough

See the complete system in action.

This walkthrough explains the engineering decisions behind the Words of the Wild platform, from submission processing and multilingual allocation through to automation, security, volunteer workflows, and the operational dashboard.

Running time: 4m 37s

A guided tour of the complete architecture.

Generated from the documented workflow and source code, this walkthrough follows an entry from the moment it's submitted through the complete operational process. It shows how personal information is separated from the creative work to create anonymous PDFs, how tracking identifiers are generated, as well as the judging process.

Explains the round-robin allocation logic, multilingual reader matching, personalised reading lists, prefilled scoring forms, and automated consensus rules.

Visual Product Tour

Live operational oversight without opening the underlying database.

Each interface was designed to help staff understand the current state of the competition quickly, identify risk early, and act without manually auditing hundreds of spreadsheet rows.

01Operations Control Panel

One place to understand the entire competition.

The main dashboard combines submission totals, completed reviews, language representation, consensus outcomes, and the arbitration queue.

Live progress indicators
Consensus and review summaries
Language distribution monitoring
Arbitration cases requiring staff action
Operations Control Panel using representative demonstration data
02Stories Adjudication Monitor

Story-level progress across hundreds of submissions.

Every anonymous submission can be searched, filtered, and reviewed without exposing entrant information.

Allocated-reader counts
Completed review progress
Exact Yes, No, and Unsure ratios
Language and adjudication filters
Pagination designed for 650+ entries
Stories Adjudication Monitor using representative demonstration data
03Eagle Eye Allocation Health

A proactive integrity check for the operational database.

Eagle Eye identifies allocation problems before they become competition delays.

Unassigned stories
Under-allocated stories
Readers with no assignments
Collapsible anomaly details
Early warning of operational gaps
Allocation and review bottleneck monitor using representative demonstration data
04Reader Review Matrix

Performance, alignment, and review activity at a glance.

Anonymous reader identifiers allow staff to monitor completion, average scoring, and consensus alignment without displaying public volunteer information.

Completed review totals
Average score analysis
Consensus alignment
Recent reviewer activity
Strict, balanced, and lenient calibration
Reader Review Matrix using representative demonstration data
05Competition Leaderboard

Live rankings generated from completed score forms.

Rankings are calculated within the correct competition category and language stream.

Anonymous Story IDs
Average scores
Completed review counts
Language-specific filtering
Current ranking position
Live Competition Leaderboard using representative demonstration data
Enterprise Security Model

Protected at identity, domain, and data-access level.

The public case study contains no production source code or private operational data. The live system applies layered access controls before any dashboard content is rendered.

01

Microsoft Entra ID

Authentication is restricted to the Scottish Wildlife Trust's dedicated Microsoft tenant.

02

Corporate Domain Gate

A second server-side check ensures only authorised @scottishwildlifetrust.org.uk emails are accepted.

03

Server-Side Isolation

Operational data is retrieved securely without exposing database credentials to the browser.

04

Data Minimisation

Story and reader workflows use anonymous identifiers wherever personal details are not required.

Impact & Outcomes

From spreadsheet coordination to proactive competition operations.

Manual Work Reduced

Reader allocation, document generation, pack assembly, and notification emails are handled automatically.

Volunteer Experience Improved

Prefilled review links removed the need to search through a dropdown containing more than 1,000 story titles.

Earlier Intervention

Staff can identify inactive readers, stalled stories, and allocation gaps while the reading period is still active.

Transparent Adjudication

Every story can be followed from assignment through vote ratio, consensus decision, and arbitration.

Engineering Principle

Client-owned infrastructure, not unnecessary SaaS dependency.

The system was designed around tools already present within the client's operational environment. Google Workspace handles the automation and data workflow, while the bespoke Next.js dashboard provides the specialist interface the competition required.

Architecture Review

Why the hybrid architecture was the right fit.

On review of the documented workflow and Google Apps Script implementation assessing the architectural approach, its strongest design decisions and the realistic alternatives available to the Scottish Wildlife Trust.

01

Layered Security

Entra ID restricts the dashboard to SWT tenant, while Google data is accessed via server-side credentials.

02

Low-Friction Volunteering

Volunteers do not need new logins or portal training. Personalized reading packs & prefilled forms keep it simple.

03

Minimal Recurring Cost

Uses the Trust's existing Google Workspace environment, avoiding thousands in annual subscription fees.

04

Resilient Automation

Dynamic header mapping and controlled batch processing prevent script timeouts and handling gaps.

Alternative Approaches Evaluated

Other architectures were possible, but each introduced a larger trade-off.

The review considered three realistic alternatives to the chosen hybrid Google Workspace and Next.js architecture.

Option 01

Fully Custom Web Application (Next.js + Node + Postgres)

A bespoke platform managing submissions, reader allocation, document access, scoring, and administration inside one unified database application.

Advantages

Database operations not restricted by Apps Script execution limits or Workspace quotas. Single polished volunteer interface.

Trade-offs & Constraints

Substantially higher development and testing costs (5x higher). Required account management for ~150 volunteer readers within an impossible deadline.

Option 02

Commercial Submissions Platform (Submittable / Judgify)

Specialist ready-made SaaS platforms for creative submissions, blind judging, and reviewer scoring.

Advantages

Introduced quickly without custom coding. Included vendor-managed hosting and reviewer accounts.

Trade-offs & Constraints

High recurring annual licence costs. Inflexible Scots and Gaelic routing, custom reader allocation rules, and arbitration logic could not be reproduced accurately.

Option 03

No-Code Stack (Airtable + Softr + Make / Zapier)

Airtable as relational database, Softr as portal, and Make/Zapier for automation triggers.

Advantages

Visual database interface built quickly with low initial custom code.

Trade-offs & Constraints

Thousands of required reviews generated tens of thousands of automation operations, risking usage limits, per-user pricing spikes, and multi-tool fragility.

Review Conclusion

A practical architectural sweet spot.

The chosen hybrid design provides the strongest practical balance for the Scottish Wildlife Trust: a secure and bespoke operational platform with a simple volunteer experience, minimal recurring costs, and enough flexibility to support the competition's specialist judging workflow.

Next Steps & Systems Engineering

Ready to replace manual administration with a client-owned digital system?

Whether you need to fix a broken operational workflow, turn a complex process into a secure digital platform, or review your existing software stack to eliminate risk and unnecessary subscriptions, let's discuss the right architecture for your organization.