DEV Community

Cover image for From a Kitchen Debt to 100 Apps: How a Music Teacher With No CS Degree Built an Ecosystem That Changed Her Students' Lives
Francesca Bertolini
Francesca Bertolini

Posted on

From a Kitchen Debt to 100 Apps: How a Music Teacher With No CS Degree Built an Ecosystem That Changed Her Students' Lives

WeCoded 2026: Echoes of Experience 💜

This is a submission for the 2026 WeCoded Challenge: Echoes of Experience

Student names and some details have been changed for privacy reasons. The stories are real and documented.


The kitchen where it all started

In 1999 I was working as a music specialist in Italian elementary and preschools — a position even more precarious and underpaid than a regular substitute teacher. I composed musical fairy tales for children using a keyboard, but it was limited and clumsy. I had never touched a computer in my life.

My mother, a furniture dealer, sold a kitchen to the owner of a computer shop. He never paid. To settle the debt, she took a PC instead. I asked for music composition software too. He gave me the programs — but without serial numbers. Useless. I looked up the price of legitimate licenses. Completely out of reach.

I didn't even know what Reverse Engineering was. But driven by necessity, I started studying how software worked under the hood. By pure chance I stumbled onto the UIC — the Italian University of Hacking and Cracking — a buzzing forum full of brilliant people and hundreds of tutorials. I learned x86 assembly and how to use debuggers like SoftICE and OllyDbg to understand program logic. I just wanted to make the tools I needed to compose music for my kids work, but I ended up learning how a computer "thinks."

Then something unexpected happened: after learning low-level languages, I became curious about high-level ones. I had always been good at drawing and loved animation — so I taught myself ActionScript.

That's how a music teacher with zero computer science education became a programmer. Not through a bootcamp. Not through a degree. Through a kitchen debt and sheer stubbornness.


The girl who could write but couldn't read

Just a few years later, in the early 2000s, I got a position as a special needs support teacher and met a student who would change the direction of my life.

She was 13 years old and had suffered significant brain damage in early childhood. She had graceful handwriting and good manual skills, but she could only copy. She had never learned to read — she didn't know the name of a single letter. Every traditional method had failed. Teachers, specialists, therapists — everyone had tried. Nothing worked.

I knew she loved Disney's Finding Nemo. So I built her a game — animations, handcrafted text-to-speech, I recorded my own voice to compose letters and words, all in ActionScript. I called it Nemo's Letters.

For the first time, after years of failed attempts by everyone, that girl started decoding written words. Within a few months she learned the letters and the basic principles of assembling words.

That moment taught me something I've carried for twenty years: technology built around a real need — not a market trend, not a curriculum requirement, but one specific child's specific struggle — can change a trajectory that everyone else had given up on.


Twenty years of starting over

After that first success, I kept building. And the technology kept dying under me.

ActionScript was deprecated. I migrated to Visual Basic. Then VB was replaced by VB.NET. Along the way I studied HTML and CSS. I built the first versions of MemoApp — a study tool — and Parla — a text-to-speech reader for students with reading difficulties.

Every time I mastered something, it became obsolete. Every tool I built became harder and harder to install. It was deeply frustrating — but I kept going. A small voice inside told me it was right not to give up, to try every possible path, and that my students needed these tools.

The real breakthrough came about four years ago, with the arrival of artificial intelligence.

At the time I was teaching in a challenging school. Large classes and countless difficult cases. As a special needs teacher I was a true support for the entire class: I regularly worked with groups of five, six, seven students, managing the curriculum across all subjects. My software was a winning piece of the puzzle, but installation problems on school and home computers were a constant nightmare.

With AI as a programming assistant, I migrated everything to JavaScript. It was similar enough to ActionScript to make the transition natural. And finally — everything worked. No installations. Everything in the browser. Accessible from any device. My students could finally use the same tools at home that we used in class.

Thanks to AI and the skills I had already built over the years, in four years I went from a handful of desktop applications to an ecosystem of roughly one hundred web apps.


What I built — and why nothing else worked

I need to be specific about the problem. As a special needs teacher in an Italian middle school, I follow students across every subject. In a single week, a class covers dozens of topics in math, history, geography, science, English, Italian — and all of that material has to pass through me. I need to take it, adapt it, simplify it and present it in a way that each student can actually learn from. I'm often asked to do this almost instantly.

Textbooks don't work for these students. They require reading levels and attention spans that my students don't have yet. Commercial educational apps look polished but miss the point: they don't offer real verification tools for teachers, they don't adapt to individual needs, they completely lack flexibility and they don't integrate with each other. Concept maps from the web and simplified materials found online — praised by a certain school of educators — in my experience failed miserably and didn't meet real needs.

But the real problem runs deeper. It's not just about which material you give these students — assuming you can even find or generate the right one. The problem is that these kids haven't developed a study method. They read poorly, look at the images, but don't stop to understand. Everything goes in and out. They don't even realize they haven't learned or understood anything.

I realized early on that these students needed something to guide them step by step. Something that would stop them when they made mistakes and put them back on track. That would make them think. That would lead them to learn through a path built specifically for them. There was nothing on the market that came even close to these needs. And my hours were almost always too few — we wrote this in the IEPs (Individualized Education Plans) — and often these students had no guidance at home either.

So I built my own tools.

The backbone: the MemoApp suite


View high-resolution image for technical and pedagogical details

MemoApp, born about fifteen years ago and slowly refined and adapted, might look like just another quiz app, but it's not. It has multiple modes of use, each with different purposes, goals and details to meet specific needs:

  • Written quiz — the student answers primarily by writing. There's also a mode for clicking options or making connections, but I've found that the writing mode — which forces repetition and active writing — produces the best results.

  • Voice loop — pressing play makes the app repeat the quiz in a continuous loop. You can choose different voices for questions and answers — essential for language learning, where one voice is in Italian and the other in the target language. You can adjust the pause between question and answer because the goal is active learning: during the pause, the student tries to guess the answer mentally, then immediately hears it.

  • Voice dialogue — the app asks questions and the student answers by speaking. It's a real dialogue with the machine!

  • Quick navigation — you browse through the quiz using arrow keys, for rapid review.

  • Lesson mode — the teacher loads a quiz with images and uses it as the basis for a lesson (instead of a traditional presentation or Word document). Students see the question but not the answer: this pushes them to try to figure it out during the lesson, making learning active. At the end of the lesson, the teacher can scroll through the quiz asking surprise questions.

  • Test simulation — the student answers all questions and only at the end does the app show how many were wrong. It helps understand how much has truly been absorbed and how much work remains — before the real test.

Flexible options — at any time you can shuffle or reverse the order of questions, swap questions and answers, delete specific questions — usually the ones already mastered.

And then there's the heart of the system: intelligent error management with smart regression. If a student gets it wrong, they don't start over and they don't move on ignoring the error. The app shows the correct answer, asks them to retype it, and uses a system of progressive blocks. It records the questions with the most errors and then drills specifically on those. This is not a detail — it's what makes the difference between a game and a learning tool.

In other words, MemoApp is a tool that safely guides the student through learning. It offers active learning, imposes structured study rhythms, checks results at every step, corrects mistakes, forces students to learn specific terminology, to order events and dates. Images further reinforce comprehension and retention.

CreaSchede — the instant generator

If MemoApp is the teaching tool you use in class, CreaSchede is its natural and indispensable complement. It's the tool that teachers — or even students themselves — use to quickly and easily create MemoApp flashcards.

It works simply. The user describes what they want in a chat — for example "create a quiz on the main stages of Hitler's rise to power, use a discursive text format, dedicate the first cards to terminology" — and can also attach images or documents. In two minutes they have 40 flashcards with real images from the web, saved to Notion with a unique ID. The teacher can quickly browse the cards, edit text and questions, scroll through image galleries to refine the visuals, paste images from the web, or provide images that the app will upload and insert into the quiz. When saving, the AI also offers a pre-filled form with the card name and details to make future searching and cataloguing easier.

The student enters that code in MemoApp — or searches by name — and starts studying. Images are automatically searched from seven different sources through micimici MCP, a server I built myself that queries Pexels, Pixabay, Unsplash, Wikimedia, Europeana, Bing and OpenClipart. Real images — not AI-generated. This matters: it's scientifically confirmed that content is better absorbed when paired with images, and for education you need real photographs.

PrintMemoApp — because not everyone has a device

A concrete problem: not all students have a PC or tablet at home. PrintMemoApp takes MemoApp flashcards — currently over 600, all searchable in a database — and prints them in various modes: with or without images, with a cover image, with answers (becoming a study text), without answers (becoming a test or assignment), with answers in random order at the top (becoming a matching exercise). PrintMemoApp can also quickly transform quizzes into tests to administer on the spot. One piece of material, five different uses.

PageCraft — the page and game generator


The latest addition and perhaps the most versatile. PageCraft creates web pages, presentations, posters, printable documents and interactive educational games — Memory, board games, quizzes, runner games — from a simple chat description or directly from MemoApp flashcards. It searches real images automatically from all seven sources. It allows inline image editing, saving to Notion with three visibility levels (private, text-only, public) and a shared gallery where teachers can browse and reuse each other's work. It runs on both Claude Artifacts and Gemini Canvas — same code, no vendor lock-in. The print system is meticulously designed, with zoom in and out options — because printing here isn't optional, it's a daily necessity.

The app can also load MemoApp flashcards directly from the database, so the same cards used for studying can be transformed into beautifully designed presentations, educational games, or printable worksheets.

Completely free. A Gamma alternative in an educational format, at zero cost.

The certification system — teachers need to verify

A fundamental aspect that's often underestimated: if I assign work, I need to be able to verify it was done. I developed a JavaScript library shared across many of my apps. Through encryption, it records student activity — questions attempted, errors, time — and generates a link the student sends to the teacher. The teacher clicks and sees exactly what was done. This isn't a technical detail: it's what transforms an app from a toy into a professional teaching tool. Without certification, the teacher doesn't know if the student studied, how much, or with what results. With certification, they can follow the student's progress remotely.

And it's all serverless, free and privacy-respecting.


Beyond the backbone: specialized suites

Geo-quiz — the difference between a game and a tool

Let me make a comparison that illustrates the point well. Seterra is a well-known platform for studying geography. Geo-quiz is visually similar — they probably even use the same library. But the difference is enormous.

With Seterra you pick a preset deck — "EU countries", "Asian capitals" — and practice. But you can't select just the 20 countries you need. If you get it wrong, you move on. The teacher has no idea whether the student studied. You can't print anything for students without a device.

With Geo-quiz, the teacher asks the AI to generate a card set — "Middle Eastern countries" — and in a few minutes the set is ready. The student practices with the intelligent regression system: if they get it wrong, they don't move on — they review, they repeat. There's certification for the teacher. There's a print system.

The result: Seterra is little more than a game. Geo-quiz is a professional suite.

A concrete example: Karim, learned 20 Asian and Middle Eastern countries in 20 minutes. On his own, without these tools, he would have managed 2 or 3 — and would have forgotten them, because at home he has no study support.

ImageMap — the same logic on any image

Similar to Geo-quiz but works with images instead of maps. The user uploads an image or provides a link, asks the AI to identify specific parts — European rivers, body parts, engine components — and within moments the card set is ready. Same certification and regression systems included.

Procedural apps — step-by-step guidance

Dozens of specific apps, mostly for mathematics: how to solve expressions, how to decompose a number into prime factors, how to measure an angle, proportions, integers, monomials, equations. Each app guides the student step by step through learning a procedure. It doesn't just tell you whether the answer is right or wrong — it teaches you the process.

Write with AI — giving a voice to those who can't express themselves

This app solves a problem that goes beyond school. Many students with difficulties can't write complex texts. They write disconnected thoughts. They can't build a narrative with a logical thread. And this isn't just an academic problem — it's existential: they can't express themselves.

Even helping them is hard. Writing an essay takes hours. I often have to spend a long time talking with them, and sometimes to speed things up I almost end up writing it myself.

So I created this app. It takes the assignment as input — a text, an image, a document. Then it breaks it into points and proposes them to the student, who can modify them and discuss the structure with the AI. When satisfied, they click on each point and the app helps them develop it, always through dialogue. Copy-paste is disabled.

The app doesn't write the essay for the student. It teaches the process: break your thoughts into points, develop them one at a time, connect them. Over time, students learn to do it without the app.


The results: the stories that matter

Amir — from two words to forty pages

Amir's greatest difficulty was a communication impairment — expressing even a slightly complex concept was already a struggle. "Can I go to the bathroom" was fine. "If the weather were nice I'd take a walk in the park behind my house" was already beyond his reach. He wasn't independent in reading or writing, his handwriting was illegible, likely dystorthographic. He could read just a few words at a time. His academic skills were almost nonexistent — roughly a second-grade level.

His mother had a similar condition, and was a single parent. No help at home. And I had only 9 hours per week to support him across all subjects.

The first year, without a PC, almost no progress. The second year his parents finally got him a device. The change was gradual but steady. MemoApp forced him to repeat concepts, to write — and slowly it unlocked him. At school I used the same flashcards he used at home to study. Same logical thread, same content. Little by little he relearned to read, write and study.

The pivotal moment came during a GLO meeting — the operational working group with educators and specialists. The educators from the afternoon center who worked with him said it clearly, and it was recorded in the official minutes:

"The student with and without the PC is completely different. They seem like almost two distinct people. Without it he's not independent, he does nothing. With the program he studies on his own, he's autonomous, he learns, he reviews."

At the end of eighth grade, Amir presented a thesis of about forty pages on the Russian Revolution — from the Tsarist era to Stalin — with a deep dive on Rimsky-Korsakov, including his role as a naval officer and the curriculum of Russian naval academies. He spoke on his own for nearly an hour straight. He scored 10 out of 10 on his oral exam — and the commission applauded him. I can assure you that's not standard practice, and it's a rare event.

In sixth grade he couldn't string two words together.

But the most important part came later. Toward the end of eighth grade, Amir started handling the family's bureaucratic affairs. He told me: "My mother has trouble making herself understood, so I do it." One day he arrived with a letter to write to the city council. I gave him a few guidelines. He did it on his own.

At 14 he had become the anchor of his family.

From the IEP signed by the neuropsychiatrists: "The student has made use of software created by the support teacher (MemoApp, Parla, PrintMemoApp), achieving greater independence in studying. Continuation is recommended. Performance is significantly lower without these methodologies."

Karim — the soul that couldn't find its way out

Karim arrived from Malawi to Italy in 2020, at age 8. In sixth grade he could barely do anything. He couldn't express himself, couldn't put two sentences together, couldn't read 2-3 lines and understand the context.

Karim benefited from the complete suite — he had access to all the tools refined over two decades. The results were remarkable.

The 9 out of 10 on the Russian Revolution test happened like this: I sat in on a few hours of class, took notes, generated some flashcards. I spent about twenty minutes with him, showed him the cards to study, and told him he had to practice at home. He did all the work and studying on his own. He took the test when I wasn't there — no help from me or anyone else. Nearly flawless. A well-deserved 9.

Today he follows most of the regular class curriculum without major simplifications — unthinkable just a year and a half ago. He himself admits that "the Karim from a year and a half ago was a different person." From isolated to perfectly integrated in the class. His independence is growing, and with it his confidence.

But the most powerful proof isn't a grade. It's an essay.

Karim wrote this text using the "Write with AI" app, completely on his own, without my help or anyone else's. We're talking about a student who couldn't sustain more than a couple of sentences with any logical thread.

The essay is titled "Friendship as a foundation for growing together" and it begins like this:

"My name is Karim and I come from Malawi. My arrival in Italy in 2020 when I was 8 years old was an un forgettable thing. The change from Malawi to Italy was hard also for me to know that there was an other world. When I left my friends I felt sad. The main difficulties I faced were that I didn't know how to speak it. When I saw other children playing together I felt lonely and the wall surrounded the heart."

There are errors. "Un forgettable" split in two. "An other world." "The wall surrounded the heart" — which probably meant "my heart was surrounded by a wall."

But those errors are proof it's authentic. And that phrase — the wall surrounded the heart — is involuntary poetry. This is a boy who had a whole world inside him and didn't have the tools to let it out.

This app gave him those tools. It didn't write the essay for him. It taught him to break his thoughts into points, develop them, connect them. And what came out was his soul. His inner world. It opened him up to the world.

And the most touching truth is that the wall only began to crumble when he was able to name it and describe it.

That is the magic of this program.


The difficulties — or rather, the system

I'm 50 years old and after more than twenty years of service I'm still on temporary contracts. Recent school reforms have made my position even more fragile: every year the risk of not being reconfirmed grows, and with it the very real risk of being pushed out of the school system entirely. If that happened, the entire suite of tools I've built over twenty years would die with me.

I hold no formal IT qualifications — no degree, no master's, not even the European Computer Driving Licence. I never pursued the latter because a course at that level wouldn't have taught me anything beyond what I'd already learned through necessity and determination, while more advanced programs are too expensive and incompatible with the schedule of a substitute teacher. The paradox is bitter: official documents and reports written by neuropsychiatrists and multidisciplinary teams confirm that the tools I developed have been "essential" in some cases for students' independence and academic success — yet the system continues to consider me "unqualified," both as a teacher and in IT.

Meanwhile, schools are blocking AI even for educational purposes. Mine deactivated Gemini and prevented the installation of my Claude Artifact Unlock extension, which I need to run some applications like PageCraft. The distrust of technology — born from the bad practice of many students using AI to cheat — ends up penalizing those who use it virtuously. Some colleagues are curious, others skeptical. Despite visible results, the technology I created struggles to find its place.

I have never received a single cent for my work. But this has sparked a creativity that has become innovation in itself: I developed Claude Artifact Unlock knowing that AI was free inside artifacts; I created a cross-platform library to run apps on both Claude Artifacts and Gemini Canvas without changing code; I use Notion as a free database instead of renting servers; I host everything on Netlify and GitHub Pages; I created micimici MCP to source real images from seven different providers. Every economic constraint became a technical innovation. But it's not right to go completely unrecognized.

This is precisely why I decided to enter this and other challenges. I desperately need to emerge from anonymity and be recognized for what I've built. Not for me — for the suite. Because if I don't find visibility and support, all of this dies with me. And yet this path deserves to be recognized and strengthened. I still have dozens of ideas to realize: apps that don't exist today and that could make a difference for thousands of students.


The message

I didn't build apps that help students. I built apps that teach students to help themselves — and give them autonomy, growth and integration. The real kind. The authentic kind.

Too often my colleagues are forced to settle for levels of learning that barely scratch the surface. Inclusion is reduced to simply being in a classroom — but you can be in a classroom all day and still be alone. You can sit through hundreds of lessons and fill out tests without ever truly understanding what was taught.

I decided that wasn't enough. That we had to go further. That integration didn't mean just sitting next to your classmates, but interacting with them. Understanding class dynamics. Being able to express yourself. Following lessons. Thinking.

The goal was never the grade. It was always autonomy. Amir at 14 manages his family's paperwork. Karim tells his soul's story in an essay. They're not just better students — they're freer people.

Every app is born from a real need. There's nothing on the market that does what's needed? I build it. The technology gets deprecated? I start over. I have no money? I find free solutions. The school blocks the tools? I find alternative paths.

My technology journey — Assembly (1999) → ActionScript → Visual Basic → VB.NET → HTML/CSS/JavaScript with AI (2022) → today an ecosystem of ~100 web apps — is not a developer's résumé. It's the path of a teacher who refused to accept that her students couldn't make it.

And the results speak for themselves.


Francesca Bertolini — music and special needs teacher, self-taught programmer, on temporary contracts for twenty years, convinced that the right technology can give every student the chance to walk on their own two feet.

Top comments (0)