Study. Level up. Make your comeback.
A free, open-source study planner with a winter pixel-art basecamp, evolving companions, focus sessions, and a syllabus you can make your own. Built for entrance exams, college courses, and independent study.
Try Winter Arc in your browser · Download the Windows/local beta · Report a bug · Ideas & feedback
No account, subscription, shared database, analytics, or API key. Your study records stay on your device. The hosted app is easiest to try on a phone; the local download requires Node.js.
- A companion for your comeback. Honest study earns XP, ranks, achievements, and five distinct anime companion sprites at levels 1, 5, 10, 17 and 25.
- Your syllabus, not a fixed course. Start blank or choose the JEE + CLAT/AILET template. Import a PDF, Word
.docx, or text syllabus, review the topics, and assign them to your own course. - Focus that counts. Custom timers, completion chimes, daily/lifetime study totals, and offline session logging.
- A small start, a complete exam sprint. Optional monochrome JEE/law daily plan, weekly calendar, ten-minute starts, gradual workload, rest and mock-repair cycles. Edit blocks, dates and pace; export the full plan. How it works.
- A plan you can revise. Editable chapters, weekly roadmaps, countdowns, practice checks, mock analysis, and a revision queue.
- A stronger week. Log workouts, set a measurable weekly goal, and earn optional rewards through actual effort.
- Your data belongs to you. Browser storage or a user-selected local JSON file in supported browsers, with export/restore backups. No automatic cloud sync.
- Winter, in both themes. Dark/light modes, pixel art, gentle snow, reduced-motion support, and labeled phone navigation.
- Open wintercarc.vercel.app.
- Enter your own name. Choose Blank for college or another course, or the optional JEE/law template.
- Add your subjects or use Study map → Import syllabus. Review extracted topics before adding them.
- Pick one task and start a focus session. Finish & log the actual work to earn XP.
- Check your save method in Settings and download a backup. Browser data can be erased if you clear site data.
Phones use the website; this release is not an APK or installable PWA. Device-file autosave depends on browser support. Locked/backgrounded phones may silence completion sounds. Scanned PDFs need text recognition elsewhere first. Full details are below.
Watch the 24-second feature tour · Animated screenshot tour
| Your basecamp | Focus chamber |
|---|---|
![]() |
![]() |
| College syllabus | Review before importing |
|---|---|
![]() |
![]() |
| Choose your companion | Phone layout |
|---|---|
![]() |
![]() |
Screenshots and the screenshot-based tour use a fictional demo profile. Demonstrated XP, records, and progress are not exam results or score promises. New users start with their own profile and no imported personal progress.
Use it for a week and tell us where you get stuck: saving, phone layout, importing a college document, or fitting your routine. Open an issue or join Discussions. Include your browser/device and reproducible steps, not private planner files.
If Winter Arc helps you, star the repository so other students can discover it. Want to contribute? See CONTRIBUTING.md.
- Download the repository using Code → Download ZIP, or clone it:
git clone https://github.com/abhijayjain25-debug/WINTER-ARC-.git cd WINTER-ARC- - Install a current Node.js LTS release if needed. No
npm installis required. - Windows: double-click Start Winter Arc.cmd. macOS/Linux/Windows terminal: run
node server.cjsand open http://127.0.0.1:47827. - Choose a blank profile or the optional JEE + CLAT/AILET chapter template. Set your name and storage preference. Follow the guided tutorial, or select Skip tutorial. Replay it from Settings whenever needed.
The local server only listens on your own computer. Keep this folder together. Use the same local URL when returning. Directly opening index.html is not the supported storage flow; use the launcher/server or HTTPS hosting.
For new users in supported browsers, Local JSON file is the default storage preference. After setup, go to Settings → Create planner file and save winter-arc.json outside the source repository. Until a file is connected, the planner clearly shows that changes are only in memory. It warns before closing with unsaved work.
- Desktop Chrome or Edge: create or open a planner file. Changes autosave to that real file. Wait for Saved to file before closing.
- When returning, the app tries to reopen your file. If permission is needed, use Reconnect saved file. If you move the file or change browsers/site addresses, use Open planner file instead.
- File mode stores study records in your chosen file, including the timer snapshot. The browser remembers only the file handle/permission connection. If it cannot remember the handle, open the file manually next visit.
- Recovered timers are paused. A closed tab or sleeping device cannot run a completion notification.
- File saves are queued, and a file changed elsewhere is not silently overwritten. Keep one editing window per file. If a save fails, keep the tab open and export unsaved progress before reconnecting.
- Keep a second copy of your file. It contains your study records in readable JSON; treat it as a personal document.
- Other browsers: optional browser storage plus Export backup / Restore backup. Downloads are file backups, not direct autosave. Direct file access requires a supported browser and HTTPS or localhost.
Existing users keep their browser progress until they choose Create planner file. After the first successful file save, the planner removes that workspace's browser records. Existing JSON backups remain compatible. A hosted URL and your local URL have different browser storage; move progress using Open planner file or Restore backup.
No study records are uploaded to GitHub, Vercel or a shared database. Hosting serves the app assets. There is no automatic device sync. File access is limited to the file you choose through the browser picker. See Chrome's File System Access documentation.
- Subjects and exams: Settings → Edit subjects & exams. Use any college course, entrance exam or skill track. Add up to 30 subjects and 20 exams. Each exam has its name, target date and maximum score. Keep names referenced by historical records; changing those would disconnect the history.
- Syllabus: Paste one topic per line into a selected subject, or add/edit individual topics in Study map. Duplicate names in that subject are skipped. Track notes, prerequisites, priorities, practice checks and review dates.
- Mastery: the latest two independent checks must each have at least 10 questions and 75% accuracy. A weak later check returns a topic to revision. This is a study milestone, not an exam-score guarantee.
- Roadmap: create editable weeks with work for each of your subjects. Basecamp suggests daily blocks from unfinished or due topics; change them to suit your workload.
- Focus chamber: choose 25, 30, 35, 40, 50 or 90 minutes, or custom whole minutes from 1 to 1440. Pause interruptions, then confirm actual study time and a work note. Log offline work without duplicating timer sessions.
- Sound: the four-note completion chime is enabled by default. Preview it with Test chime or mute it separately from level-up sounds. Keep the tab open, unmuted and your device awake.
- Mock lab: record your own exam or course test on its configured score scale, compare similar papers and analyse mistakes. Keep specific repairs in the reattempt queue.
- Companions: choose Frost, Pip, Flurry, Byte, Ember (burgundy), Aurora (purple), Summit (green), Sung Jinwoo, Naruto, Gojo, Ichigo or Asta. Anime companions have five distinct generated sprites at levels 1, 5, 10, 17 and 25, with new outfits, weapons and power-up poses. Jinwoo has a serious new five-sprite path: E-rank Hunter, Red Gate winter outfit, S-rank Hunter with purple aura, Shadow Sovereign with glowing eyes, and Shadow Monarch. Naruto progresses through Young Ninja, Shippuden Ninja, Rasenshuriken, Sage Mode and Kurama Chakra Mode. Kurama artwork is unchanged. Gojo, Ichigo and Asta retain their existing sprites. Original companions keep their sprite and evolve their effects. These are progression milestones for the planner, not a complete retelling of the series. The companion shares your level; selection does not change your XP. Add your own art through
custom.jsandassets/when forking. - Appearance: dark and light modes, glass surfaces, layered snowfall and gentle animations. The header snowflake toggles ambient motion. System reduced-motion preferences take priority. Quiet mode softens effects.
- Field guide: editable preparation notes. Blank profiles receive a general guide; the JEE/law template has its own chapter plan. Template dates must be checked against official timetables.
Life & weekly goals keeps optional activity separate from study focus. Log calisthenics, heavy weights, cardio or a rest day. Record actual active minutes and an optional note. A workout of at least 10 active minutes earns 25 XP, capped at 25 per day. Extra workouts remain in the log. Past entries and rest days earn no new XP. Rest has no penalty.
Set one measurable goal for Monday–Sunday: complete three chapters, follow a routine on five days, or finish any milestone. Choose a target, unit and clear completion criteria. For an all-or-nothing goal, use target 1 and unit milestone. Log progress during that week with a short account of the completed work. Once complete, claim 200 XP and an optional reward you named. Weekly-goal XP is capped at 200 per calendar week; rewards cannot be claimed twice. The target is locked after the first progress log. Unfinished weeks stay visible without taking XP away.
Normal meals, sleep and ordinary breaks are unconditional. Rewards are optional extras such as a movie evening or additional leisure time. Progress logs are based on honest self-reporting; the app does not verify your workout or study work.
- Focus: 1 XP per active minute after at least 10 minutes, capped at 360/day.
- Daily blocks: 10 XP for each of the first three completions/day.
- Mock entry: 20 XP/day. Analysis: 40 XP each, capped at 80/day.
- Error reattempt: 5 XP each, capped at 20/day. Mastery: 40 XP once per topic.
- Workout: 25 XP/day maximum. Weekly goal: 200 XP/calendar week maximum.
- Backdated focus/workouts fill history without granting fresh XP.
- Each 10 lifetime XP gives one frost crystal. Reward redemptions spend crystals, not levels.
- Level thresholds: 100 × (level − 1)². A study streak requires 25 logged focus minutes/day. Missing a day removes no XP.
The published app is entirely static. Each visitor gets their own file or optional browser workspace. You do not run server.cjs on a host; it is just the local launcher.
Vercel
- Import this GitHub repository into a Vercel project.
- Use the Other framework preset and repository root directory.
vercel.jsonsets the build command tonode build.cjsand output directory todist. No environment variables or database are required.- Deploy. Each user can open their local planner file from the HTTPS website.
GitHub Pages
- In repository Settings → Pages, choose GitHub Actions as the source.
- Under Actions, select Deploy GitHub Pages and run it for
main. - It checks the app, builds a static
dist/directory and publishes it. The workflow is manual so a code push does not unexpectedly deploy a site. - Use the URL reported by the deployment. All app assets use relative paths, including under a repository subpath.
build.cjs only copies an explicit list of app files/artwork. Personal JSON planner files, development scratch files and local server scripts are excluded from the deployed output. For hosting details, see Vercel build configuration and GitHub Pages documentation.
Run node check.cjs for progression, schema, migration compatibility, custom profiles and real temporary-file persistence checks. Run node build.cjs to assemble static assets. Test UI using ?sandbox=1; ?sandbox=your-test-name creates another isolated test workspace. Never commit personal planner files or backups.
See CONTRIBUTING.md. MIT licensed: fork it, customize it, share it and retain the license notice. The original banner and Frost PNG are AI-generated assets made for this project; the human companions use generated pixel art. Anime companions are unofficial fan art; their characters belong to their respective owners. The MIT license covers project code and original artwork, not ownership of those characters.
Daily banner mottos rotate through a date-seeded shuffled set of original study quotes. Each local calendar day keeps one quote; the rotation needs no account or extra saved data. September 30, 2026 keeps the original “Quiet days. Stronger tomorrow.”
Basecamp and Focus chamber show Studied today and Lifetime study time in hours and minutes. Totals use completed, saved timer sessions and offline study logs, including backdated entries. Running timers count after Finish & log. Time totals are independent of XP caps; workouts and separately entered mock durations do not add study time. Log a mock as a study session if you want its time included, without duplicating a session you already logged.
Rendering uses static glass gradients without backdrop blur, skips offscreen chapter contents, and lazy-loads companion choices. Snow draws at at most 24 fps with 60 particles and pauses while scrolling or when the tab is hidden. Turning ambient motion off stops snow and animations. Timer updates avoid rewriting hidden controls.
The phone layout has five labeled bottom tabs: Home, Study, Focus, Life, and More. More opens every page and a backup download. Forms use large touch controls, 16 px inputs, and scrollable dialogs. The layout accounts for device safe areas and short landscape screens. Companion motion is quieter on phones. Study search updates results without replacing the input or disturbing the keyboard. Mock history becomes readable cards on narrow screens.
Publish the static build to HTTPS for phone use; the Windows launcher is for computers. Each visitor gets their own profile. Browser storage stays on the device but can be erased when site data is cleared; download backups regularly. File autosave is available only when the browser supports the required pickers. There is no automatic cross-device sync. A phone can suspend timer sounds while locked or backgrounded; the countdown catches up when the page resumes, and study still requires Finish & log.
In Study map → Import syllabus, or Settings → Import PDF / Word, choose a text-based PDF, Word .docx, or plain .txt / .md file. Winter Arc reads it on your device and suggests year/semester sections and courses from common headings and course codes. Select the semester you need (or all detected sections), uncheck unwanted courses, and edit each subject name and its topics. Semester changes keep your draft edits. Confirm Import selected courses only after reviewing the suggestions. Existing progress stays intact, duplicate topics within a subject are skipped, and no XP is awarded for importing. Each imported topic keeps its source document, detected period and course starting page in its notes.
Common filler such as repeated headers, page numbers, credits, objectives/outcomes, and reference-book blocks is filtered where recognised. Detection uses local rules, not AI or guaranteed understanding; layouts differ. Review raw text instead keeps the full extracted text available if a heading or useful topic was missed. Paste syllabus remains available.
PDF/text imports accept up to 100 MB; PDFs support 1,000 pages and all formats support 3 million extracted characters. Word .docx accepts 25 MB, with an expanded archive limit of 100 MB. Large handbooks can take longer on phones. Cancel stops PDF reading and prevents any import. Add up to 200 reviewed topics per course, 2,000 topics per import, and 30 subjects per planner; each topic supports 200 characters. Import a semester at a time or reuse an existing subject name when appropriate. Scanned PDFs/photos need text recognition elsewhere first; older .doc files must be saved as .docx. Complex tables/columns may need manual correction. Readers are bundled locally and loaded only when needed; no document upload, external AI, or database is involved. See THIRD-PARTY.md.
Built by Abhijay while preparing for exams. This project is a work in progress, shaped by actual study needs and feedback.
When deploying your own fork, update the canonical, Open Graph, and Twitter URLs in index.html to your deployment URL.






