University advisor
++ Get a concise source-backed plan: exams to prioritize, profile moves that matter, low-value activities, and relevant research or summer programs when current sources support them. +
++ {error} +
+ )} ++ {result.plan.summary} +
+ +{item.exam}
+{item.why}
+No exam advice was confirmed from current sources.
} +No programs were confirmed from current sources.
} ++ Google Custom Search results are classified by domain. Official university pages should carry the most weight. +
+{source.title}
+{source.snippet}
+{source.url}
+ + ))} +No advisors yet
++ Generate one from the Universities page. +
+ + + +{title}
+{subtitle}
++ {new Date().toLocaleDateString("en-US", { + weekday: "long", + month: "long", + day: "numeric", + })} +
+{bannerMessage}
+Profile
++ {profilePct < 100 + ? `${profileFields.length - filledCount} fields left` + : "Complete"} +
+ {profilePct < 100 && ( + + Finish setupAchievements
++ {activities.length} activities · {honors.length} honors +
+ {/* Activities-to-10 bar */} +Target Universities
++ {targets.length > 0 + ? targets.map((t) => t.university.name.split(" ")[0]).join(", ") + : "None selected"} +
+ + {targets.length > 0 ? "Manage" : "Add universities"} +Advisors Generated
++ {reports.filter((r) => r.status === "completed").length} completed +
+ + View all+ Everything looks good — keep your vault up to date. +
+ )} ++ {report.university.name} +
+{formatDate(report.created_at)}
++ Browse all guidance sources used to generate recommendations. +
+{filtered.length} sources
+ ++ {university.name} + {entry.source_title && ` · ${entry.source_title}`} +
+ + {entry.excerpt && ( ++ “{entry.excerpt}” ++ )} + +
+ {entry.content} +
+ + {entry.source_url && ( + + View original source → + + )} +No sources match your filters.
+Step {step} of {TOTAL_STEPS}
+Prefs
Saved
Targets
{selectedTargets.length}
Ready
{Math.round((step / TOTAL_STEPS) * 100)}%
We use this context to calibrate fit, shortlist suggestions, and the first report narrative.
This field has outsized impact on recommendation quality, so it is worth setting clearly now.
+These inputs are optional. Skip anything you do not already have.
Funding posture
+Available universities
{filteredUniversities.length} shown
Selection summary
+{selectedTargets.length}
+universities selected
+{university.name}
+{university.country}
+You are ready to move into the dashboard, add achievements, and generate the first university advisor.
+Major
{form.getValues("intended_major") || "To be refined"}
Targets
{selectedTargets.length} selected
Next step
Fill the vault and open advisors
Student profile
++ Keep this current. The Chancellor uses it for university fit, exam advice, and funding realism. +
+Original
++ {selected.style_mode.replace("_", " ")} style +
+Target: {rewriteFormat.label}
+{selected.explanation}
+ )} ++ {source.policy_entry.title} +
+ {source.policy_entry.source_title && ( ++ {source.policy_entry.source_title} +
+ )} ++ “{source.policy_entry.excerpt}” ++ )} + {source.policy_entry.source_url && ( + + View source → + + )} +
Advisor not found or failed to load.
+ + + ++ University advisor +
++ {advisor?.subtitle ?? "This report was generated before versioned advisor snapshots were stored."} +
+Status
++ Built {formatDate(report.created_at)} • v{report.version_number} +
++ {advisor?.report_note ?? report.summary_text ?? "This view is intentionally university-first: school, major, funding route, and next moves."} +
+You can see what the app is doing right now.
+Step {index + 1}
+{step}
+{rec.achievement.organization_name}
+ )} + {rec.rationale &&{rec.rationale}
} +{rec.achievement.organization_name}
+ )} + {rec.rationale &&{rec.rationale}
} +{rec.achievement.title}
+ {rec.rationale &&{rec.rationale}
} +Every legacy recommendation is grounded in these sources.
+ + {officialSources.length > 0 && ( ++ Public example sources represent patterns observed in community discussions and admitted student profiles. + They are not official university guidance. Always verify important decisions against official sources. +
++ These are named programs worth prioritizing so the advisor sounds like a real admissions strategy, not a generic dashboard summary. +
+ +{program.why_it_matters}
+Action {index + 1}
+{step.detail}
++ University-first guidance for each target: major fit, funding route, and next steps. +
+No advisors yet
++ Pick a university and generate your first advisor. +
+ + + ++ {report.university.country} • university advisor • Generated {formatDate(report.created_at)} +
++ Shortlist workspace +
++ Filter funded options, preserve your preferences, generate a Common App shortlist, + then open a university advisor focused on the school, your major, and the funding path. +
+Targets
+{targets.length}
+Visible
+{universities.length}
+Honors
+{selectedHonorIds.length}
+Activities
+{selectedActivityIds.length}
++ Keep your own Dream, Target, and Safe list separate from the AI suggestions. +
+{target.university.name}
+{target.university.country}
++ No schools yet. +
+ )} ++ Use saved preferences plus selected honors and activities to generate a shortlist + that is filtered for fit and funding reality. +
++ Saved preferences +
++ Relative category only, not an admission or aid guarantee. +
+{recommendation.name}
+{recommendation.country}
+{recommendation.rationale}
+ {recommendation.aid_notes && ( ++ {recommendation.aid_notes} +
+ )} + ++ {[university.country, university.city].filter(Boolean).join(" • ")} +
++ {university.short_description} +
+ )} + +Aid: {AID_LABELS[university.aid_type] ?? university.aid_type}
} + {university.education_years_required &&School years: {university.education_years_required}+ expected
} + {!!university.teaching_languages?.length &&Language: {university.teaching_languages.join(", ")}
} + {!!university.major_strengths?.length &&Strong fits: {university.major_strengths.join(", ")}
} +No universities found. Try different filters.
++ University advisor +
++ The app now shows exactly what it is doing while the advisor is being prepared. +
++ {type === "activity" + ? "Add clubs, research, jobs, competitions — anything you've done outside class." + : "Add academic prizes, scholarships, and awards you've received."} +
+ +{achievement.organization_name}
+ )} + {achievement.description_raw && ( +{achievement.description_raw}
+ )} + + {/* Meta tags */} ++ {activities.length} activities · {honors.length} honors +
++ Drag to reorder · Common App shows activities in this order +
+Sign in to your ApplyMap account.
++ Don’t have an account?{" "} + + Sign up free + +
++ Start mapping your applications for free. +
++ Already have an account?{" "} + + Sign in + +
++ By creating an account you agree to our Terms of Service and Privacy Policy. +
+{faq.a}
++ ApplyMap +
+ ++ Navigate college admissions with clarity and confidence. ApplyMap helps + you recognize your strengths, structure your achievements, and discover + universities that fit, without expensive private consultants. +
+ ++ What ApplyMap helps you see +
+ ++ {item.title} +
+{item.meta}
++ A guided software framework for students who have to navigate admissions independently. +
+{step.description}
+No subscriptions. No hidden fees. Pay once per cycle.
++ {plan.description} +
++ Many capable students are not missing talent. They are missing the + specific know-how to present that talent in a system with unwritten rules. +
++ Every recommendation comes with a rationale and a source. No guesswork. +
+Optimization Report
++ Recommended: 8 activities, 3 honors · Generated Apr 2024 +
+{item.org}
+{item.rationale}
+MIT Admissions — What We Look For
++ “We look for students who pursue their interests with genuine depth rather than breadth for its own sake.” +
+MIT Community Blog — Admissions Reader Notes
++ Aggregated patterns from admitted students listing science research activities. +
++ We take both seriously. Here’s exactly what we do — and don’t do. +
+{item.description}
++ ApplyMap does not write a fake persona for the student. It helps them + understand, structure, and advocate for the facts they already own. +
+| Feature | +ApplyMap | +Generic AI | +Private consultant | +
|---|---|---|---|
| {row.feature} | +{renderCell(row.applymap)} | +{renderCell(row.genericAi)} | +{renderCell(row.privateConsultant)} | +
{label}
+{value || "Not enough information yet."}
++ Answer before reanalysis +
+ {questions.map((question, index) => { + const key = `${scope}:${index}:${question}`; + const fields = getClarificationFields(question); + const singleField = fields.length === 1; + return ( ++ AI work trace +
++ {progress.fileName} - {progress.fileSizeLabel} +
+ )} +{step.label}
+{step.detail}
++ Text being checked +
+ {excerpts.length > 0 ? ( ++ {excerpt} +
+ ))} ++ {isImporting + ? "For PDF and DOCX files, text excerpts appear after backend extraction finishes." + : "No source excerpts were returned for this import."} +
+ )} + + {notes.length > 0 && ( ++ Extraction notes +
+{subtitle}
++ Rank #{item.rank} +
+{item.selection_reason}
+ )} + ++ Google source notes +
++ AI Curation +
++ The app extracts achievements from one messy note, classifies them into activities and + honors, picks the strongest top 10 and top 5, and writes Common App-ready fields under + strict character limits. +
++ `.pdf`, `.docx`, `.txt`, `.md`, `.csv`, or `.json` files are supported. +
++ Best input shape: one note or bullet list with awards, leadership, volunteering, + competitions, research, and activities all mixed together. +
++ Backup cap only. Common App character limits are enforced separately. +
+ +All Items
+{achievementCount}
++ Current vault total across both manual and AI-imported entries +
+Activities / Honors
++ {activityCount} / {honorCount} +
+Live counts already stored in your vault
+Latest Import
+{result?.imported_count ?? 0}
+New items extracted from the latest uploaded file
++ Strongest Angle +
++ {result.strongest_angle} +
++ Latest file: {result.file_name} - {result.word_limit} word limit +
++ Clarification workspace +
++ Fill one field per missing detail, then reanalyze the same file to rebuild the shortlist. +
++ Reanalysis needs the original file in this browser session. Upload the file again, then answer the fields. +
+ )} ++ General questions before final wording +
++ Additional Information draft +
+ {result.additional_information_reason && ( ++ {result.additional_information_reason} +
+ )} ++ {result.additional_information_draft} +
++ Formatting and verification notes +
++ Upload a mixed achievement file to generate the strongest activity and honor shortlist on this screen. +
+