← Back to Portfolio

Career Coaching and Applications Management Platform

In progress

Since 2026

Alongwise is a career-applications platform that helps people evaluate fit, generate tailored resumes and cover letters, and track every opportunity (jobs, programs, schools, and scholarships). It puts coaching logic into a profile-first workflow: weighted decision criteria, unified resume items, LLM-generated materials, and a coach product with assigned-client access.

Alongwise

Clearer choices. Stronger applications.

Alongwise is a full-stack career-applications platform I designed and built to turn coaching into a working product. It helps people evaluate fit, generate tailored resumes and cover letters, and track every opportunity — jobs, programs, schools, and scholarships.

Instead of starting from a blank page or a generic resume, users set up a profile with personal context, goals, and weighted decision criteria. Resume evidence lives in one place — entered manually, imported from PDF or DOCX, or pulled from RecomAid. Opportunities are captured, scored for match and career alignment, and used to generate materials that can be downloaded as PDFs on demand.

Core features are free to use. Premium and Coach plans sit on a separate entitlements layer, so product surfaces, paid features, and billing can change without rewriting role checks.

Product outcomes

  • Profile-first setup with personal context, goals, and weighted decision criteria
  • Unified resume items from manual entry, PDF/DOCX import, or optional RecomAid import
  • Opportunity capture and scoring across jobs, programs, schools, and scholarships
  • LLM-generated resumes and cover letters, with on-demand PDF export from stored text
  • Coach directory, client assignment, dashboard, and session/accountability logs
  • Multi-plan Stripe billing (Premium and Coach) with Customer Portal and webhooks
  • Admin system settings, prompt-engineering UI, user invite, and role requests

How it works

1. Set up profile and decision criteria

Users define personal context, goals, and what “good fit” means. Weighted criteria become the basis for later scoring, so evaluation is explicit rather than gut feel.

2. Build a living set of resume items

Evidence is collected once and reused. Items can be added by hand, extracted from uploaded PDF, DOCX, or TXT files, or imported from RecomAid. That corpus — not a single static resume — is what later generations draw from.

3. Capture and evaluate opportunities

Jobs, programs, schools, and scholarships are tracked in one board. Match Likelihood and Career Alignment scores help people decide what belongs on the list before they invest in rewriting materials.

4. Generate tailored materials

Resumes and cover letters are composed from settings-driven prompts, the user profile, and the opportunity context. PDFs are rendered on demand from stored text and are not persisted as files.

5. Coach, assign, and stay accountable

Coaches appear in a directory, take assigned clients, and keep session logs with privacy boundaries. One account can hold applicant, coach, and admin roles; the active role is chosen on Profile, and invite/assign always keeps applicant so Applications still works after switching.

Architecture

The core design claim is that roles, plans, and features are not the same thing. Alongwise separates them so access control, billing, and product behavior can evolve independently.

JSON-driven access control

A single access_control.json is the source of truth for navigation, components, and APIs. There are no hardcoded role checks. The frontend uses the active role for nav; the backend checks all of the user’s roles. The default is allow, so sensitive surfaces must be listed explicitly.

Three-layer authorization

Role (ACL) answers which product surface a user can see: applicant, coach, or admin. Plan (Stripe) answers what they paid for. Entitlement (settings JSON) answers whether this role and plan can use feature X. Paid features return HTTP 402 with an upgrade payload; admins bypass paywalls. Plans and feature maps are editable in System Settings, so new plans do not require a migration.

Config-as-data, not config-as-code

Limits, feature toggles, LLM models, prompt templates, Stripe prices, and email live in system_variables plus a catalog JSON. Admins change product behavior without deploys.

LLM orchestration

Prompts are composed from admin settings, the user profile, and opportunity context. The same layer powers decision criteria, match and career-alignment scoring, tailored resumes, cover letters, and resume-file extraction. Provider, model, and templates are settings — not hardcoded — and generation includes retries.

Coach as a role plus a plan

There is no second user table for coaches. Checkout can grant the coach role. Canceling keeps the role but locks the dashboard until the plan is active again. Assigned-client read access and session logs respect privacy boundaries.

What Alongwise is

  • A profile-first coaching workflow for evaluating fit and producing application materials
  • A settings-backed LLM pipeline for scoring, generation, and document extraction
  • A JSON-driven ACL with a separate Stripe entitlements layer (roles ≠ plans ≠ features)
  • A multi-role product: one account can be applicant, coach, and admin
  • A complement to existing application systems (not a job board or an automated admissions engine)

Stack and operations

The frontend is React 18, TypeScript, and Vite, with Material UI, React Router, TanStack Query, Zustand, and Axios. The backend is Python FastAPI with Pydantic v2, SQLAlchemy 2.0, Alembic, JWT auth, and PostgreSQL (JSONB for profiles, criteria, entitlements, and prompt config). Schema is first: models and APIs follow the database.

Billing uses Stripe Checkout, Customer Portal, and webhooks. Email (welcome, password reset, invites) is SMTP via system settings. The app deploys on Render from GitHub, with Alembic auto-upgrade on boot.

Current status

Alongwise is a live product at alongwise.com. Core features are free; Premium and Coach plans are available through Stripe. The immediate focus is helping people choose work that fits and produce materials that hold up; with coaching logic encoded in the product rather than only in conversation.

Technologies

  • React
  • TypeScript
  • FastAPI
  • SQLAlchemy
  • PostgreSQL/JSONB
  • JWT
  • Stripe
  • OpenAI APIs
  • Prompt Orchestration
  • RBAC
  • Entitlements
  • Alembic
  • Vite
  • MUI