AI-powered admissions enrollment for universities. Guide students through applications with a friendly chat assistant.
EnrollAI is an AI-powered admissions app built on the ibl.ai platform. It guides university applicants through a conversational enrollment process — collecting documents, personal statements, CVs, and qualifications — with minimal human intervention. Designed for students with low digital literacy, it prioritises simplicity, large touch targets, and plain language.
| Feature | Description |
|---|---|
| Chat-Based Application | AI assistant guides students step by step through the admissions process |
| Document Uploads | Collect photo IDs, qualification certificates, CVs via camera or file picker |
| Progress Tracking | Visual stepper showing completion status, synced to server |
| Personal Statement Help | AI helps students draft their personal statement through conversation |
| Application Management | View status, continue where you left off, or cancel and restart |
| SSO Authentication | Login via iblai.app — no tokens to manage |
| Notifications | Bell icon with unread badge across all views |
Please refer to the CLAUDE.md at the repository root for more information.
- Node.js 18+
- iblai CLI (
pip install iblai-app-cliornpm install -g @iblai/cli) - An
iblai.envwith your platform configuration (template) - An AI agent/mentor ID from mentorai.iblai.app
pnpm install
cp .env.example .env.local
cp iblai.env.example iblai.env
pnpm devAfter copying the env files, update them with your platform credentials:
iblai.env: SetPLATFORMto your platform key andTOKENto your platform API token.env.local: SetNEXT_PUBLIC_MAIN_TENANT_KEYto your platform key,IBLAI_API_KEYto your platform API token, andNEXT_PUBLIC_DEFAULT_AGENT_IDto your AI agent UUID
Open http://localhost:3000. You'll be redirected to iblai.app for login.
pnpm build
pnpm startsrc/
├── app/
│ ├── (app)/ # Main app (navbar + footer)
│ │ ├── page.tsx # Home with apply/continue CTA
│ │ ├── profile/ # User profile page
│ │ ├── account/ # Organization settings
│ │ ├── applications/ # Application status dashboard
│ │ └── documents/ # Document upload page
│ ├── (admissions)/ # Full-screen admissions flow (no navbar)
│ │ ├── layout.tsx # Minimal layout with providers
│ │ └── apply/ # Welcome screen → chat interface
│ └── (auth)/sso-login-complete/ # SSO callback
├── components/
│ ├── admissions/ # Chat interface, progress tracker, uploads
│ ├── iblai/ # SDK wrappers (chat widget, profile, notifications)
│ └── ui/ # shadcn/ui primitives
├── config/
│ └── admissions-config.ts # Steps, requirements, document types
├── hooks/
│ ├── use-admissions-chat.ts # Chat hook wrapping useAdvancedChat
│ ├── use-application-progress.ts # Progress state with server sync
│ └── use-file-upload.ts # File upload pipeline
├── services/
│ ├── mentor-metadata-api.ts # RTK Query for progress persistence
│ └── career-api.ts # RTK Query for career/resume data
└── lib/iblai/ # SDK config, tenant resolution
- Next.js — App Router, React Server Components
- @iblai/iblai-js — SDK for auth, UI components, and data
- Tailwind CSS — utility-first styling with ibl.ai design tokens
- shadcn/ui — accessible UI primitives
- iblai.app — production backend for auth, AI agents, and analytics
- Fork the repo and clone it
- Install dependencies:
pnpm install - Copy environment files:
cp .env.example .env.local && cp iblai.env.example iblai.env - Fill in your
iblai.envwith your platform credentials - Set your agent ID in
.env.local:NEXT_PUBLIC_DEFAULT_AGENT_ID=<uuid> - Start the dev server:
pnpm dev
From PyPI or npm (stable):
This will be available soon
From source (latest): Enter a virtualenv first. And then run the following commands:
git clone https://github.com/iblai/iblai-app-cli.git
cd iblai-app-cli/
make -C .iblai install-dev- Create a branch from
main:git checkout -b feat/my-feature - Make your changes
- Run
pnpm buildto verify the build passes - Run
pnpm testto verify tests pass - Commit and push your branch
- Open a pull request against
main
- Use ibl.ai SDK components first — do not build custom components when an SDK equivalent exists
- Use shadcn/ui for custom UI — install via
npx shadcn@latest add <component>, not raw HTML or third-party libraries - Do not override SDK styles — SDK components ship with their own styling
- Use SDK design tokens — reference CSS variables like
var(--primary-color),var(--border-color),var(--text-secondary)instead of hardcoded colors - Wrap SDK components in a white container — use
bg-white rounded-lg border border-[var(--border-color)] overflow-hiddenso they render correctly on the gray page background - Responsive width — use
w-full px-4on mobile,md:w-[75vw] md:px-0on desktop - Use
pnpmas the package manager - Do not edit
.env.localfor platform config — updateiblai.envand re-run a CLI command
Use the iblai CLI and Claude Code skills to add new features:
iblai add auth # SSO authentication (required first)
iblai add chat # AI chat widget
iblai add profile # User profile
iblai add account # Account/org settings
iblai add notification # Notification bellSee CLAUDE.md for the full list of skills and component priority rules.
- ibl.ai Documentation
- iblai-app-cli — CLI for scaffolding ibl.ai apps
- @iblai/mcp — MCP server for AI-assisted development
- Vibe — developer toolkit for building with ibl.ai





