✓ Saved
by McGuffin Press
McGuffin Press
Your personal submission tracker — data saved securely to your account, accessible from any device.
⚫ Not connected
0 Total
0 Pending
🔵 0 Next Steps
0 Full Req.
0 Accepted
0 Rejected
💰 $0 Fees
🚨 0 Overdue
🚨
⚠️
Name Company Type Manuscript Submitted Days Status Materials Fee Q.Ver Notes Links Actions
📅 Submission Calendar
Submitted
Deadline
Nudge Due
Give-Up Date
Upcoming Deadlines & Nudges
📚 Your Manuscripts

Track multiple projects simultaneously. Switch the active manuscript in the Tracker to filter submissions by project.

Query Letter Critique Checklist

Run through this before every batch of submissions.

⚠ 0/20 — Needs Work
🌡 Morale Tracker

How are you feeling about querying right now?

💰 Contest Budget

Track entry fees across contests. Knowing your spend helps you prioritize higher-value opportunities.

$0
Total Spent
$0
This Year
$0
Avg per Entry
📄 Query Letter Versions

Save each revision. Link submissions to the exact version sent.

👤 About You
📖 Primary Manuscript
🎯 AI Context

Google Sheets Sync

Optional: connect a personal Google Sheet so your data also lives in your own Drive. Your data is already safely stored in your account — Sheets sync is a bonus backup.

1

Create a Google Sheet

Open Google Sheets and create a new blank spreadsheet. Name it anything — "QueryCompass" works.

2

Open Apps Script

In your Sheet go to Extensions → Apps Script. Delete any existing code and paste the script below.

function doGet(e){var action=e.parameter.action;if(action==='ping')return ContentService.createTextOutput(JSON.stringify({ok:true,msg:'QueryCompass connected!'})).setMimeType(ContentService.MimeType.JSON);var ss=SpreadsheetApp.getActiveSpreadsheet();var sheet=ss.getSheets()[0];if(action==='read'){var data=sheet.getDataRange().getValues();return ContentService.createTextOutput(JSON.stringify({ok:true,data:data})).setMimeType(ContentService.MimeType.JSON);}return ContentService.createTextOutput(JSON.stringify({ok:false,error:'Unknown action'})).setMimeType(ContentService.MimeType.JSON);} function doPost(e){try{var body=JSON.parse(e.postData.contents);if(body.action==='write'){var ss=SpreadsheetApp.getActiveSpreadsheet();var sheet=ss.getSheets()[0];sheet.clearContents();body.rows.forEach(function(row){sheet.appendRow(row);});return ContentService.createTextOutput(JSON.stringify({ok:true})).setMimeType(ContentService.MimeType.JSON);}}catch(err){return ContentService.createTextOutput(JSON.stringify({ok:false,error:err.message})).setMimeType(ContentService.MimeType.JSON);}}
3

Deploy as Web App

Click Deploy → New deployment. Type: Web app. Execute as: Me. Who has access: Anyone. Click Deploy and copy the URL.

4

Paste Your Script URL

Not connected

🤖 AI Query Assistant

Generate a rich, personalized prompt to drop into Claude or ChatGPT. Fill your Profile tab first for best results — the AI will use your manuscript details, submission history, and rejection patterns.

Fill in your Profile tab, then click Generate My Prompt above. The AI will receive your full submission history, rejection patterns, manuscript details, and contest spend to give you targeted, personalized recommendations.
Open in Claude ✦

Add Submission

Log a query, pitch, contest entry, or magazine submission.

🧑 Agent / Editor / Venue
📋 Submission Details
✏️ Personalization & Notes
🔗 Research Links

Add Manuscript

Add Version

Log Contest Fee