NexieGuide
University orientation for Tunisian students — a seven-step profile wizard, scored programme recommendations, and a bilingual assistant with a 3D guide.
- Role
- Software Engineer
- Status
- shipped
Problem
Tunisian students pick a university path out of a system that is hard to read and harder to compare, usually with no guidance at all. NexieGuide walks a student through a profile in seven steps, scores the programmes they could realistically reach against historical admission data, and puts a conversational assistant beside the result so the follow-up questions have somewhere to go — in Arabic or in French.
Architecture
Read this diagram as text
- Next.js client mounts Profile wizard
- Next.js client mounts Chat surface
- Next.js client wraps i18n layer
- Chat surface drives R3F character
- Profile wizard profile Application API
- Application API connects to Recommendation scoring
- Recommendation scoring historical data Database via Prisma
- Chat surface connects to Application API
- Application API streams Azure OpenAI
- Application API sessions + favourites Database via Prisma
- Vercel hosts Next.js client
Engineering decisions
The stack, reasoning not written up yet:
Next.js · React Three Fiber · Azure OpenAI · Prisma · Tailwind CSS · Vercel
The hard part
Arabic broke the layout in a way that only shows up once there is a canvas in it. Flipping the document to RTL mirrors the DOM, but WebGL has no writing direction — the 3D guide stayed where the LTR layout had left room for it, and the chat panel opened straight over it. Direction had to become a property of the layout rather than of the page, so the canvas is positioned from the same token that drives the flip and guide and panel swap sides together. The chat is one session store rendered in three surfaces — widget, sidebar, fullscreen — because keeping three separate chats in step was the previous version's biggest source of nonsense.
Result
Students complete a seven-step profile and get ranked programme recommendations from scoring built on historical Tunisian admission data. The assistant streams its replies, keeps conversations across sessions, and runs in three interface modes; the whole interface flips between Arabic and French, RTL and LTR.
