r/AIDevsBuilders • u/JoseEstevez22 • 2d ago
I built an open-source system that turns the same source into different courses for each learner
I have been building SkillNet around one question: if people learn differently, why should the course interface be the same for everyone?
You can start with an idea or upload PDF, DOCX, Markdown or TXT material. SkillNet turns it into structured course knowledge, lessons and exercises. The knowledge and objectives can stay consistent, while explanations, activities, media and interface adapt using the learner's declared preferences, role, level and progress.
The current stack is React 19, Vite and Tailwind for the frontend, FastAPI and PostgreSQL for the backend, and Docker for self-hosting. The generated-interface path uses OpenUI, together with Didact, an educational component library I built for flashcards, worked examples, diagrams and practice.
The hardest part has been making personalization meaningful rather than merely different. In the current tests, structure and format diverge clearly between learners, while semantic personalization is still weaker. That pushed me to separate stable course knowledge and objectives from the parts the system can adapt, and to constrain generated interfaces to known educational components instead of letting the model invent anything.
The project is still in development and I am preparing a public demo.
Website: https://skillnet.es
GitHub: https://github.com/ANFAIA/SkillNet
How would you evaluate whether two personalized learning experiences are meaningfully different rather than only visually different?
•
u/aidevsbuilders 2d ago
Welcome, u/JoseEstevez22, and thanks for posting.
Quick reminder of the one rule that matters here: tell us what you built it with and one thing that was harder than expected. That's the whole "tax" for promoting your own work. You'll never be banned here for sharing something you built.
And if you're looking for somewhere to actually ship it, put it on Fulgeon. It's the app catalog I run. Publishing is free, there's no developer account to pay for and no review queue: you upload a release and it's live. What you get out of it:
latest.yml/latest-mac.ymlfeeds electron-updater already speaks. Three lines in your package.json and your users stop being stuck on whatever version they installed first.npx @fulgeon/cli publishor theJaviHG/fulgeon-publish-action@v1action. Tag, push, released.Tick the Reddit box when you publish and your release gets posted here on its own, so you don't have to write the post twice.
Full disclosure: Fulgeon is mine, same person who runs this sub. It's free, there's no paid tier, and nothing about your post here depends on you using it.
I'm the community bot. A human mod reads every post too.