The Dawn of AI — Beta Reader Portal
Oxford Innovative Education

The Dawnof AI

A beta reader programme by Bryanna Bone.
Read the chapters. Shape the ending.

Oxford Innovative Education

Admin Login

Incorrect credentials.

← Back

Oxford Innovative Education

Welcome back

Enter your email and PIN to continue.

Email or PIN not recognised.

← Back

Beta Reader Registration

Tell us a
little about you

No names are collected. You'll be given an anonymous reader ID. This helps the author understand who her readers are.

Used to log back in and view your progress. Not shared publicly.
You'll use this with your email to log back in.
Pre-Reading Survey

Before you start reading, please answer these quick questions. You'll answer them again after the beta test — we want to see if the story changes how you think.

Please fill in all required fields.
OXIE
My Progress
Your Reading Journey

My Dashboard

Your feedback and progress across all chapters.

Your Feedback
Loading your feedback…
OXIE
The Dawn of AI
Beta Reader Programme · Confidential

Read.
React. Shape
the story.

Welcome. Your honest feedback on each chapter will directly influence the final manuscript. Please complete the short form after each chapter.

Support the Book
Back The Dawn of AI on Kickstarter
Support the publication and receive a special first print edition once the book is published.
Back on Kickstarter →
Ada
#TeamAda
Beta Reader Programme

You choose the ending
of the published novel.

Read the chapters. Give your feedback. At the end — will you be #TeamAda or #TeamAyden?

Unlocks 19th June 2026
Ayden
#TeamAyden
Loading chapters…
OXIE
Vote for the Ending
The Dawn of AI · Beta Reader Vote

Congratulations for completing the beta test of The Dawn of AI!

You've now learned that ACE holds the key to Artificial Superintelligence: a technology that has the power to save the world, or destroy it.

Ada wants to protect the key to Artificial Superintelligence and finish her mother's legacy. Ayden wants to destroy the key and surrender it to GAIA (Global AI Authority).

You now get to vote whether you are #TeamAda or #TeamAyden.

Bryanna Bone promises to write the final ending that readers vote for.

Should Artificial Superintelligence be created or destroyed, before it's too late?

Post-Reading Survey

Now that you've read the story, answer these questions again. Your answers help us understand whether reading The Dawn of AI changed how you think about the future.

OXIE
Scroll within the PDF to read
Finished reading this chapter?
OXIE
Chapter Feedback

What did
you think?

Be as honest as you like — there are no wrong answers. Your feedback goes directly to the author.

OXIE
Admin Panel

Admin Panel

Manage chapters, view reader data, export results. Changes to chapters sync to all devices instantly.

How this works: Add your chapter title and Google Drive PDF link below. Click Save on each row — it writes directly to your Google Sheet and all readers see the update instantly on any device.

Google Drive link format: Right-click file → Share → Anyone with link → copy URL → change /view?usp=sharing to /preview
Loading chapters from Google Sheet…
Vote for the Ending
Unlock the Vote Button
When unlocked, readers see an active Vote button in the library.
Loading…
Registered Readers
Reader IDAgeGenderCityParent EmailRegistered
Avg. Time Per Chapter

Recorded when a reader closes the tab or navigates away mid-chapter.

Reader IDChapterTime on ChapterWhen
Reader IDChapterRatingKeep reading?LikedDidn't likeConfused

Download all locally cached data as CSV. For the full dataset across all readers, check your Google Sheet directly.

OXIE
Setup

Setup & Config

These settings are baked into the code. To change passwords or the webhook URL, update the HTML file and re-paste into Elementor.

Current Config
What's hardcoded in this file

Reader password:
Admin password:
Webhook:

Google Sheet Setup
Your Apps Script must handle GET requests

Your Sheet needs an updated Apps Script that handles both POST (saving data) and GET (fetching chapters). Replace your current script with this:

function doGet(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('Chapters'); if (!sheet) return ContentService.createTextOutput(JSON.stringify([])).setMimeType(ContentService.MimeType.JSON); var rows = sheet.getDataRange().getValues(); var chapters = rows.slice(1).map(function(r) { return { title: r[0] || '', url: r[1] || '', unlocked: (r[2] === true || String(r[2]).toUpperCase() === 'TRUE') }; }); return ContentService.createTextOutput(JSON.stringify(chapters)).setMimeType(ContentService.MimeType.JSON); } function doPost(e) { var data = JSON.parse(e.postData.contents); var ss = SpreadsheetApp.getActiveSpreadsheet(); if (data.action === 'saveChapters') { var sheet = ss.getSheetByName('Chapters') || ss.insertSheet('Chapters'); sheet.clearContents(); sheet.appendRow(['Title', 'PDF URL', 'Unlocked']); data.chapters.forEach(function(ch) { sheet.appendRow([ch.title, ch.url, ch.unlocked]); }); return ContentService.createTextOutput('ok'); } var sheet = ss.getSheetByName(data.sheet) || ss.insertSheet(data.sheet); sheet.appendRow(data.row); return ContentService.createTextOutput('ok'); }

After pasting, deploy as a new deployment → Web App → Execute as Me → Anyone. Copy the new URL and update the WEBHOOK_URL constant at the top of the HTML file.

Chapters Sheet Format
Your Google Sheet needs a Chapters tab

The script creates this automatically when you first save chapters from the Admin panel. It has three columns:

Title | PDF URL | Unlocked (TRUE/FALSE)

You can edit this sheet directly in Google Sheets as well — changes appear for all readers within seconds.

My Progress
Your Reading Journey

Your progress

Here are the chapters you've read and your feedback for each one.

0
Chapters read
0
Feedback given
Avg rating
Your Feedback

What you thought