Financial aid & documents

Aid tracker

Four item types, forms, scholarships, grants and fee waivers, each with an amount, deadline and status. Three totals sit at the top: awarded, in pipeline, and submitted count.

One click adds the four forms every US applicant needs: FAFSA, CSS Profile, application fee waivers and a state grant application, pre-dated to their usual deadlines.

Status

To do → In progress → Submitted → Awarded / Rejected. Tracking an item awards 20 XP; submitting one awards 60, once per item. Open items with deadlines appear on your dashboard radar.

What the product tells you

  • Run the Net Price Calculator on a school's site before adding it to your list. Every US college is required to publish one. Sticker price is rarely what you pay.
  • FAFSA opens October 1. Some state grants are first-come, first-served, filing in October versus February is real money.
  • About 250 mostly-private colleges also require the CSS Profile. It costs money, but fee waivers exist.
  • Local scholarships have dramatically better odds than national ones. Ask your counselor for the list nobody applies to.
  • Never pay a service to find scholarships for you.

Document vault

Storage for résumés, test score reports, brag sheets and ID documents. PDF, image or Word, 8 MB maximum, categorised by type. Transcripts are deliberately not in this list: see below.

Who can see your documents

Only you. This is absolute in the current build:

  • Counselors cannot open them, even for students on their roster.
  • Contributors cannot open them, at any permission level.
  • The file route scopes every query by your user id, so a valid document id belonging to someone else simply does not match.
  • Files are served with Cache-Control: private, no-store.

Storage limitation: files are stored as unencrypted blobs inside the application database. They are protected by access control, not by encryption at rest. A real deployment handling transcripts and government ID needs encryption at rest, a retention policy and audit logging. Do not treat the current build as compliant with any student-records regulation.

Transcripts are the school's record, not yours

Students cannot upload a transcript. A transcript is the document a school issues about a student, so a student-supplied file is not the same artefact and cannot stand in for one. It is filed by a counselor from the console instead.

  • Stored against the student's user_id, so it travels with their record, but with student_can_see = 0 and uploaded_by set to the counselor.
  • The student's vault listing filters on student_can_see = 1, and the file route repeats the check, so this is not a hidden button.
  • uploadDocument rejects kind = 'transcript' outright, because the form is not the boundary.
  • A counselor can open transcripts only for students on their own roster, enforced by joining through org_id.