Subject of investigation
B2U is a group project that helps student developers learn, build practical skills, find freelance opportunities, and direct their earnings either to themselves or toward university fees. My work covered the interactive learning module — including a system that generates a personalized exam after each lesson, scoped to that lesson's content and built from the mistakes the student made while learning it — plus Stripe-based payment flows.
STATUS
Group Project
RECOGNITION
1st Place · Bal des Projets 2026
MY ROLE
Learning · AI · Payments
AI
Generates per-lesson exams from student mistakes
PAYMENTS
Stripe Checkout + Connect
Opened 2026 · Closed 2026
Case file opened — 2026
Student Freelance Platform
A student freelance platform where every exam is generated from the mistakes you just made in the lesson before it.
STUDENT LEARNING EXPERIENCE · B2U
FIG. 01 OF 06
Section 02
CASE INTAKE · A student-focused freelance platform linking skill development with paid opportunities.
Static courses don't know what a student actually struggles with. B2U generates each exam from the mistakes a student just made in the lesson, not a fixed question bank.
B2U brings learning and freelance work into one platform for student developers. Students can progress through structured lessons, practice coding, identify weak areas, and prepare for opportunities.
My contribution was the learning loop: interactive lessons, coding exercises, mistake tracking, AI guidance, and personalized exams based on what a learner actually gets wrong.
I also implemented the payment side of that journey: contract escrow, Stripe Checkout, approved payouts, and routing earnings to either the student or their university.
Intake form
- PRODUCT
- Student freelance platform
- MY WORK
- Learning · AI · Payments
- AI
- Local Ollama + Qwen 7B
- PAYMENTS
- Escrow and earnings routing
Directive
“Follow the student journey from learning and practice to escrow-backed freelance earnings.”
Section 03
INTERFACE EVIDENCE · Learning, practice, exams, escrow, and university-fee flows.
Visual evidence from the project
Section 04
RECONSTRUCTED ARCHITECTURE — REV. B
System architecture of the Business To Universities platform
Open fullscreen to interact with the system diagram.
Section 05
TECHNICAL COMPOSITION · A focused stack for learning, local AI, and payments.
The technical stack behind the platform
- T-01
Angular
Frontend
Learning, practice, exams, and payment screens.
- T-02
Spring Boot
Backend services
Learning and payment business logic.
- T-03
PostgreSQL
Data storage
Progress, mistakes, exams, escrow, and fee ledgers.
- T-04
Apache Kafka
Events
Payment and contract workflow events.
- T-05
Ollama + Qwen 2.5 7B
Local AI
Personalized exam generation.
- T-06
Stripe
Payments
Checkout, escrow funding, and Connect transfers.
- T-07
Keycloak
Identity provider
Issues JWTs and defines realm roles for student, company, university, admin, and super_admin accounts.
- T-08
Spring Cloud Gateway
API gateway
Validates Keycloak JWTs and forwards resolved identity to downstream services via X-User-* headers.
- T-09
Docker
Local infrastructure
Runs the project services and AI setup.
Order: layer of concern — from interface to persistence.
File 06
ENGINEERING RECORD · Practical decisions made in the learning and payment modules.
Major technical challenges and how they were resolved
Evidence board — drag the cards, drag the cork to pan
Case file
Business To Universities
7 obstacles · closed
- Challenge CH-01: Coding exercises needed to work across several programming languages.. Decision: Built separate runners for Python, JavaScript, TypeScript, and Java with test-case execution and timeouts.. Result: Students receive consistent code feedback across supported languages..
- Challenge CH-02: Qwen 7B could not reliably generate a complete executable exam in one response.. Decision: Split generation into smaller requests and used database-backed code templates for test cases, inputs, and expected outputs.. Result: AI personalizes the exam while server-side logic keeps it valid and executable..
- Challenge CH-03: Personalized practice needed to use real learner weaknesses.. Decision: Stored failed quizzes and code submissions, then used those records when selecting exam content.. Result: Practice targets topics where the learner needs more work..
- Challenge CH-04: Stripe payment confirmation can arrive more than once or after the user returns from Checkout.. Decision: Saved webhook events, checked payment state, and added a Stripe synchronization fallback.. Result: Escrow funding is tracked reliably without duplicate state changes..
- Challenge CH-05: A completed contract may need to pay a student or their university.. Decision: Checked the student's fee ledger before creating the Stripe Connect transfer.. Result: Earnings go to the student when fees are settled, otherwise to the linked university..
- Challenge CH-06: Services needed to know who the caller was without each one re-validating JWTs.. Decision: Centralized JWT validation in the gateway, then forwarded identity via X-User-* headers.. Result: Services trust the gateway's headers instead of validating tokens themselves..
- Challenge CH-07: Students could paste answers or leave the tab to look up solutions, but a quick accidental tab-switch shouldn't fail someone.. Decision: Added a focus-loss timer instead of an instant trigger, plus a strike system so one slip doesn't end the exam.. Result: Real cheating still gets caught, but a brief alt-tab doesn't cost the student their exam..
Section 08
FINAL FINDING · A group project recognized at ESPRIT's Bal des Projets, 2026.
Final report on the Business To Universities case
GROUP PROJECT · AWARD WINNER
Filed 2026
by the case engineer
MY CONTRIBUTION
I built the learning module, AI-assisted practice flow, personalized exam generation, and payment logic.
LEARNING
The experience combines lessons, quizzes, coding exercises, progress tracking, mistakes, and feedback.
LOCAL AI
Ollama + Qwen 7B supports personalized exams using learner mistakes while validated templates protect grading logic.
PAYMENTS
Stripe Checkout funds escrow and Stripe Connect sends approved earnings to the correct recipient.
RECOGNITION
B2U won 1st place at ESPRIT's Bal des Projets, 2026.
TEAM B2U · 1ST PLACE · ESPRIT BAL DES PROJETS 2026.
B2U connects student learning with real freelance workflows, while keeping assessment and payment state grounded in the system.
End of investigation
End of file — document CASE 02
Explore the systems I built for practice, personalized AI exams, and student-focused payments.
Next case file — CF-019
Green & Red Flag
Social Discussion Platform · Status: Filed
“A multilingual discussion platform for voting on Tunisian dating scenarios as green or red flags.”

