About this build
EduBe is an AI tutor for Polish teenagers preparing for the matura, the national school-leaving exam, and students already use it. Full Stack House builds all of it on Open Mercato: the backend, the tutoring engine and the app students learn in.
There are no orders or invoices anywhere in the product. The student gets a conversation with a tutor.
What it does
Students learn by talking. The tutor follows the Feynman method over chat or real-time voice: it explains a topic in plain language, checks understanding with diagnostic questions and picks the next step based on the answer.
Behind the conversation sits a knowledge tree. The curriculum of about 30 subjects is split into small topics ("atoms"), and EduBe tracks each student's proficiency per atom. Diagnostics, tests, spaced-repetition flashcards and fill-the-gap exercises are generated by an LLM, graded automatically and fed back into the student's learning path. When words are not enough, the tutor draws a diagram in the middle of the lesson.
Built on Open Mercato
Authentication, module APIs, the admin panel, background jobs, migrations and the data layer came from the framework. EduBe's own domain (tutoring sessions, the knowledge tree, assessments) lives on top as ordinary Open Mercato modules, and that is where the engineering time went. Nothing in the project is commerce, and the core needed no changes to host it. Read the full case study on fullstack.house.
What went upstream
An LLM product has to show what each prompt costs and where a voice session stalled. Open Mercato had no observability layer, so Full Stack House built one and contributed it back.
It runs on OpenTelemetry and works with the console, SigNoz, New Relic or any OTLP collector. It is off by default: with TELEMETRY_BACKEND unset, the runtime is never imported. Redaction happens at the provider boundary (log bodies, attributes, errors, span data, metric labels), so tracing a product full of student data does not leave a second copy of that data in the trace backend.
The module was merged into Open Mercato in August 2026, keeping the original implementation and its authorship. Any app on the framework can now turn on database, queue, worker and API traces with one environment variable.












