Writing practice in EFL classrooms has a persistent logistical problem. Students write something, hand it in (physically or via email), and then wait days for feedback that may or may not reference their actual work. Teachers, meanwhile, spend hours processing submissions and trying to write personalised responses at scale.
QuickWrite was built to cut through that. It is a classroom-focused writing app with separate student and teacher flows, Google sign-in for both sides, and an AI feedback workflow that keeps the teacher in control from start to finish.
"AI should assist the teacher, not replace their judgement."
That is the design principle behind QuickWrite's feedback system. Every AI draft goes through a teacher review step before students can read it.
The Student Side: Simple and Secure
Students open the app, choose the student route, and sign in with their Google account. That is it for setup. They enter a class code the teacher has shared, give their submission a title, write their piece, and submit.
Everything stays tied to their Google account, so their submission history is accessible from any device they sign in on. They can review what they have submitted in the past, and when the teacher publishes feedback on a piece, it shows up right there in their history — no separate login, no digging through emails.
Sign in
Google account links each student to their own private submission history.
Submit
Enter the class code, add a title, write, and submit. Name and class code are remembered locally for next time.
Read feedback
Once the teacher publishes, feedback appears under the student's own submission history.
Draft persistence: Students' title and writing text are saved locally until they submit, so a browser refresh or accidental close will not wipe their work.
The Teacher Side: Your Own Private Dashboard
Teachers sign in with Google and land in a private workspace that shows only their own classrooms and submissions. Everything is scoped to your account — another teacher using the same app never sees your data, and Row-Level Security in the database enforces that at every level.
From the dashboard you can create class join codes and share them with students, see every submission filtered by class, open individual pieces in a fullscreen display mode (useful for projecting student work in class), and export all submissions from a session into a single formatted text block for documents or spreadsheets.
01
Create a class code
Generate a join code from your dashboard and share it with students before the writing task begins.
02
Watch submissions come in
Refresh the dashboard during or after the task to see who has submitted and read their work.
03
Generate AI feedback drafts
Select one or more submissions, add an optional focus prompt (e.g. "focus on verb tense accuracy"), and generate drafts via the Supabase Edge Function.
04
Revise and publish
Each AI draft is editable. You revise it, make sure it is accurate and appropriate, then publish. Only then does the student see it.
How the AI Feedback Actually Works
The feedback system runs through a Supabase Edge Function — meaning the API key never touches the browser, and the process happens server-side. When you select submissions and hit generate, the function sends the writing to the AI model with your focus prompt included.
The draft comes back into your dashboard as an editable text field. You can rewrite any part of it, soften the tone, add a specific comment you noticed while reading, or scrap it entirely and write from scratch. Nothing goes to the student until you hit publish.
Why this matters for language teachers specifically:
AI models are reasonably good at identifying grammatical patterns in student writing, but they do not know your students, your curriculum, or what you emphasized in class that week. The teacher-in-the-loop step is not just a safety feature — it is where the feedback actually becomes useful.
Privacy and Data Separation by Design
Every piece of data in QuickWrite is scoped to the signed-in Google account that created it. Teachers only see their own classrooms and submissions. Students only see their own writing and the feedback published for them — they cannot browse other students' submissions, and teacher draft notes stay completely private.
This is enforced at the database level through Row-Level Security policies, not just in the frontend. Even if someone tried to access data they should not, the database would refuse the query.
RLS
Row-Level Security enforces data separation at the database level
0
API keys in the browser — all AI calls run server-side
Sign-in for both teachers and students — no separate account system to manage
Who QuickWrite Is For
QuickWrite fits best in classroom situations where you regularly assign writing tasks and want a way to collect, review, and respond to them that does not involve email attachments or paper. It works well for short in-class writing, homework pieces, or any writing task where individual feedback matters.
The AI assist is most valuable when you are dealing with a large number of submissions in one sitting — think fifteen to thirty students all submitting after the same task. Generating drafts for all of them at once, then spending a few minutes on each one refining the feedback, is meaningfully faster than writing fresh comments for each student individually.
If you are already using a class code system for the student side, QuickWrite will feel immediately familiar. If not, setup is genuinely fast — one class code, shared in any way you normally share things with students, and the submissions start coming in.
Try It in Your Next Writing Task
QuickWrite is available now at pera-pera.org/apps/quickwrite/. Sign in with Google as a teacher, create a class code, share it with your students, and you can have your first submission in the dashboard within a few minutes.
The feedback workflow becomes most useful once you have a group of submissions to work through, so a short in-class writing task is a good first run.
Open QuickWrite →