studentsync
v1.0.0
Published
StudentSync is an automated study and assignment agent that solves, formats, and uploads academic coursework.
Readme
StudentSync (formerly ScholarSync)
StudentSync is a messaging-first study and assignment agent. It can take prompts, PDFs, and follow-up requests from chat, run them through the agent runtime, generate artifacts, and return the results back to the same conversation.
Channel Support
- Telegram: supported
- WhatsApp: supported through WhatsApp Web via
@whiskeysockets/baileys - Slack: placeholder only
What WhatsApp Adds
- QR-based login in the terminal on first run
- Persistent local auth storage under
~/.scholarsync/credentials/whatsapp/<accountId>/ - Automatic reconnect handling
- Inbound text chat support
- Inbound PDF assignment parsing
- Outbound text, PDF, and image artifact delivery
Stack
- Node.js + TypeScript
- Telegraf for Telegram
- Baileys for WhatsApp Web transport
- Puppeteer for browser automation
pdf-parseandtesseract.jsfor document and OCR workgoogleapisfor Classroom integration
Getting Started
Local Development
git clone https://github.com/Ayush-Vish/scholarsync.git
cd scholarsync
npm install
npm run build
npm startOnboard
npm start onboardThe onboarding flow now lets you choose Telegram or WhatsApp.
If you choose WhatsApp:
- The setup wizard writes
WHATSAPP_ENABLED=trueinto your config. - On the next
npm start, ScholarSync starts the WhatsApp listener. - A QR code is printed in the terminal.
- Scan it from WhatsApp on your phone using Linked Devices.
Important Config
StudentSync loads config from ~/.scholarsync/config.json and falls back to .config/student.json for legacy installs.
Relevant WhatsApp keys:
{
"WHATSAPP_ENABLED": "true",
"WHATSAPP_AUTH_DIR": "/optional/custom/path",
"WHATSAPP_ACCOUNT_ID": "default"
}If WHATSAPP_AUTH_DIR is omitted, the default path is:
~/.scholarsync/credentials/whatsapp/defaultCommands
| Command | Description |
| --- | --- |
| studentsync onboard | Run the interactive setup flow |
| studentsync or npm start | Start the runtime in the foreground |
| npm run start:daemon | Start the runtime with PM2 |
| npm run stop:daemon | Stop the PM2 daemon |
Notes
- WhatsApp support uses WhatsApp Web, not Twilio.
- Telegram remains the most complete channel for now.
- Slack is still a placeholder.
