An Onboarding Machine
That Never Sleeps.
The exact millisecond a student's matriculation number is validated against your institutional database, GENIE fires an encrypted Welcome Email and a WhatsApp onboarding sequence โ simultaneously, automatically, without a single manual action from your Admissions or Registry staff.
trigger_event :: onboarding.validate()
One Validation Event.
An Entire Pipeline Fires.
The trigger is surgical. The moment a student's matriculation number is cross-referenced against your institutional database โ whether via a bulk CSV import processed at 3am, a Registrar manually confirming a record in the Web Portal, or an API call from your existing student information system โ a Django signal fires synchronously, and the entire onboarding pipeline initialises in the same database transaction.
No polling. No cron job checking for new records every five minutes. No manual "send welcome emails" button your Admissions staff clicks before going home. The validation event is the pipeline trigger. They are the same action.
By the time the Registrar's browser has finished loading the confirmation screen, the student's Welcome Email has already left the queue and their WhatsApp onboarding sequence is live.
# Two triggers. Same pipeline.
BULK_IMPORT โ CSV upload โ batch validator โ pipeline ร N
MANUAL_CONFIRM โ Web UI click โ single validator โ pipeline ร 1
genie.onboarding โ live event stream
matric_validate(ND/2024/0142)
cross-ref: institutional_db โ MATCH
signal: post_validation_fired
handler: onboarding.pipeline.init()
student_profile.create(stub)
fields: matric, phone_hash, institution_id
celery.task.enqueue(send_welcome_email)
priority: HIGH | queue: notifications
celery.task.enqueue(whatsapp_sequence)
template: ONBOARDING_V2 | lang: en
welcome_email.dispatch()
encrypted TLS โ SMTP relay โ inbox
whatsapp.session.open()
Meta Business API โ message_1_of_3
activation_token.generate()
TTL: 72h | type: JWT_ONBOARDING
activation_link.embed(email + wa)
deep_link: genie.ng/activate/{token}
parent_notify.queue_check()
no parent linked yet โ deferred
pipeline.complete()
status: SUCCESS | student_id: 0142 | duration: 244ms
progressive_profiling.pipeline()
Minimum Data In.
Complete Profile Out.
GENIE does not demand a complete data set before it starts working. It accepts a matric number and a phone number โ and enriches the student profile automatically through six automated stages, each triggered by the student's own actions.
Stage 0
Identity Stub
trigger: matric_validate() โ MATCH
Stage 1
Account Activation
trigger: activation_link.click() โ token_verify()
Stage 2
Device & GPS Binding
trigger: app.first_login() โ device_register()
Stage 3
First Check-In
trigger: attendance.submit_code() โ validate()
Stage 4
Family Network
trigger: parent.link_ward(student_id)
Stage 5
Full Academic Profile
trigger: semester_data.complete() โ profile_enrich()
The system never waits for a human to advance the pipeline.
Each stage is triggered by an event the student generates through natural platform use. No Admissions Officer nudges them to the next step. No Registry staff chases up incomplete profiles. The pipeline is event-driven end-to-end โ from identity stub at Stage 0 to a complete, academically active profile at Stage 5.
automation.stack โ production components
The Stack Behind
the Milliseconds.
Every component in GENIE's onboarding pipeline was selected for reliability under the specific load conditions of Nigerian tertiary enrollment cycles โ including the 48-hour registration surge when a new academic session opens.
Django Signals
sync | post_save | validated
Synchronous pipeline initiator
post_validation signal fires within the same DB transaction as the matric confirmation write. Guaranteed atomicity โ no validation without pipeline.
Celery + Redis Broker
async tasks | priority queues
Asynchronous delivery engine
HIGH-priority queue for Welcome Email + WhatsApp. FAIR queue for weekly digests and reports. Automatic retry with exponential backoff on delivery failure.
TLS-Encrypted SMTP Relay
TLS 1.3 | DKIM | SPF | DMARC
Welcome email dispatch
All outbound email is signed (DKIM) and dispatched over TLS 1.3. SPF and DMARC records enforce deliverability and prevent spoofing of your domain.
Meta WhatsApp Business API
Cloud API | template messages
WhatsApp onboarding sequence
3-message onboarding chain using pre-approved Message Templates. Handles delivery receipts, read status, and session expiry automatically.
JWT Activation Tokens
HS256 | 72h TTL | single-use
Secure account activation
Each activation link embeds a single-use JWT. Token is invalidated on first use. Expired tokens prompt automatic resend via /resend-activation/.
Threshold Alert Engine
real-time | per-course | per-user
Parent & student alert dispatch
Attendance percentage recalculated on every check-in event. 80% and 75% threshold crossings enqueue parent alerts within the same Celery task chain.
Email Delivery
99.2%
Inbox delivery rate across major Nigerian email providers (Gmail, Yahoo, Outlook, institutional .edu.ng domains).
WhatsApp Delivery
99.7%
Meta Business API delivery rate for template messages to verified phone numbers across Nigeria, Africa, and the Global South.
Retry Policy
3ร / 24h
Failed deliveries are retried up to three times at exponentially increasing intervals over 24 hours before escalating to the Admin Portal notification tray.
validation.mode โ two paths, one pipeline
Bulk Import or One-by-One.
The Pipeline Does Not Care.
Whether you are onboarding 8,000 students from a CSV on Day 1 of session or manually confirming a late-registered student on a Friday afternoon, the identical automated pipeline fires both times.
Mode A โ Bulk Import
Upload Once. Onboard All.
Export your student roster from your existing SIS in Excel or CSV format. Upload it through the Admin Portal's Student Import screen. GENIE validates every matric number in the file concurrently โ using Celery's parallel task execution โ and fires the onboarding pipeline for each validated record independently.
# bulk import benchmark โ 5,000 students
validation_time: ~4.2 seconds
emails_dispatched: 5,000 (async)
wa_sequences_queued: 5,000 (async)
failed_validations: flagged in Portal
staff_actions_required: 0
- Duplicate matric numbers automatically flagged for review
- Partial imports resume without re-processing valid records
- Import progress visible live in the Admin Portal
- Failure report downloadable as CSV after completion
Mode B โ Manual Web UI Validation
Single Click. Instant Onboarding.
For late registrants, transfer students, or records requiring manual review, the Registrar confirms the student record through the Web Portal's Students management screen. A single click on "Confirm & Activate" fires the complete pipeline for that individual student โ email and WhatsApp delivered before the Registrar's screen finishes reloading.
# manual confirm benchmark โ 1 student
pipeline_trigger: click โ 0ms
email_dispatch: ~47ms
whatsapp_open: ~89ms
activation_link_live: ~134ms
registrar_action_end: 1 click
- Works at any hour โ no staff present required after click
- Identical pipeline to bulk import โ no second-class treatment
- Confirmation visible in Portal audit log with timestamp
- Resend activation available if student reports non-receipt
Mode C โ API Trigger (Advanced)
POST /api/v1/users/students/validate/ โ direct pipeline trigger from your existing SIS
Institutions with existing Student Information Systems, ERPs, or custom admissions portals can trigger the GENIE onboarding pipeline directly via API. A single authenticated POST request with the student's matric number and phone number fires the complete pipeline without requiring any Registrar interaction with the GENIE portal.
POST /api/v1/users/students/validate/
Authorization: Bearer <institution_api_key>
{
"matric_number": "ND/2024/0142",
"phone": "+2348100000000",
"programme": "HND_COMPUTER_SCIENCE"
}
โ 201 Created | pipeline: INITIATED | eta_email: 47ms
Role-Specific Capabilities
Every Role. Every View.
Nothing Manual.
IT Directors
API-First Integration Architecture
Every onboarding pipeline event is accessible via the GENIE REST API. Integrate validation triggers directly from your existing SIS, ERP, or admissions portal โ GENIE becomes an automation layer on top of infrastructure you already own.
- REST API with JWT authentication for pipeline triggers
- Webhook callbacks for validation events (success, failure, duplicate)
- Real-time onboarding metrics via /api/v1/analytics/onboarding/
- IP allowlisting for API endpoints at the institutional level
- On-premise deployment option for data sovereignty requirements
- Full event log exportable for institutional IT audit trails
Registrars
Live Onboarding Oversight Dashboard
The Admin Portal gives Registrars a real-time view of every onboarding event in progress โ active validations, queued deliveries, failed imports, and pending manual confirmations โ in one screen.
- Live counter: validated / pending / failed per import batch
- Per-student pipeline status: email sent, WhatsApp opened, activated
- One-click resend activation for non-responding students
- Batch failure CSV download for follow-up with Admissions
- Onboarding completion rate by department and programme
- Audit log: who validated what, and when, with IP address
Admissions Officers
Self-Service Onboarding Token Generation
Admissions Officers can generate institutional setup links and onboarding tokens for specific cohorts, departments, or individual late registrants โ without IT involvement and without access to sensitive system credentials.
- Generate scoped onboarding tokens per department or cohort
- Set token expiry windows aligned to registration deadlines
- Monitor token usage: claimed vs unclaimed at any time
- Revoke compromised or expired tokens instantly from the Portal
- Bulk resend to all unclaimed token holders with one action
- Token activity log accessible to Registrar oversight
Before & After
What This Replaces.
The Manual Process
Before GENIE
Total time: 2โ3 weeks ยท Staff hours: 40โ120 per cohort ยท Completion rate: 60โ80%
The Automated Process
With GENIE
Total time: <1 second to dispatch ยท Staff hours: 0 after upload ยท Completion rate: tracked live, targeted follow-up automated
onboarding.machine.status โ ALWAYS_RUNNING
Your Next Enrollment Cycle
Should Take Seconds.
Not Weeks.
GENIE's progressive profiling pipeline handles 10,000-student enrollment surges, 3am bulk imports, and individual late registrants with the same automated precision. Your Registrar uploads a file. GENIE handles everything that comes after.
<100ms
Email + WhatsApp dispatch
10K+
Concurrent validations
3ร
Auto-retry on failure
0
Manual steps after upload
