Wasta — skills assessment and anonymous hiring for Egypt
# Wasta AI features
Two AI features for the Wasta talent platform, built as drop-in modules rather than a standalone
application:
- **AI Career Coach** — turns a student's assessment section scores into a personalized 4-week study
plan, generated once in a background job and stored. Never blocks the results page, never touches
the Wasta Score.
- **Support Chatbot** — answers "how does this work" questions from a curated knowledge base, with
cross-visit memory for logged-in students and job recommendations sourced from the host app.
## Run the app
A working web application, served by the API itself at `/`. Sign up as a student or a company, sit
a real assessment, browse the talent pool, spend credits to unlock a candidate, post jobs and apply
to them.
```bash
docker compose up -d
dotnet ef database update --project src/Wasta.Infrastructure --startup-project src/Wasta.Infrastructure
dotnet user-secrets set "Jwt:SigningKey" " " --project src/Wasta.WebApi
dotnet user-secrets set "Seed:AdminEmail" "admin@wasta.demo" --project src/Wasta.WebApi
dotnet user-secrets set "Seed:AdminPassword" " " --project src/Wasta.WebApi
dotnet run --project src/Wasta.WebApi
```
Open .
**Confirming an email without a mail provider.** Signing in requires a confirmed address, and on a
laptop nothing sends mail. The app therefore ships a **dev mailbox** at `#/mailbox` that captures
what would have been emailed, with a one-click confirmation link. It is registered only in the
Development environment — the endpoint does not exist in any other build.
Optional, to fill the talent pool and make percentiles appear:
```bash
WASTA_ADMIN_PASSWORD=' ' python3 scripts/seed-demo.py
```
The cohort size matters: a percentile is withheld below 50 scored attempts on a track, so a smaller
seed leaves the score card blank — which looks like a bug and is not.
> **Assessment content is still placeholder.** The platform and scoring pipeline are real; the
> questions are seeded stand-ins awaiting a subje …