A desktop application that helps you memorize square roots of numbers 1-20 through audio-based spaced repetition. Currently runs on Windows, with browser support planned.
My daughter had a math test last week. She had to know the square roots of all numbers up to twenty. Her teacher said she taught this to her son by asking questions at random moments during the day. So I built an app that you can run in the background to asks for square roots at set intervals (five minutes by default),
Square Root Trainer uses pre-generated audio files to quiz you on square roots at regular intervals. The app plays a question (like "What is the square root of 144?"), gives you time to think, and then tells you the answer. This hands-free approach lets you practice while doing other tasks.
- Choose your language - English or Dutch
- Set your timing preferences:
- Time to answer: How many seconds you get to think (default: 3)
- Interval time: How long to wait between questions (default: 5)
- Click "Start Training" and listen to the questions
- Think of the answer during the pause
- Hear the correct answer and repeat
The app randomly selects from square roots 1-20 (perfect squares 1-400), helping you build familiarity through repetition.
- Windows 10 or later
- .NET 9.0 Runtime
SquareRootTrainer Desktop:
dotnet run --project SquareRootTrainer\SquareRootTrainer.csproj --framework net9.0-windows10.0.19041.0SquareRootTrainer Browser:
dotnet run --project SquareRootTrainer\SquareRootTrainer.csproj --framework net9.0-browserCarrots Desktop:
dotnet run --project Carrots\Carrots.Desktop\Carrots.Desktop.csprojCarrots Browser:
dotnet run --project Carrots\Carrots.Browser\Carrots.Browser.csprojdotnet buildThe application uses pre-generated audio files for both English and Dutch. All audio files are located in:
SquareRootTrainer/audio/en-US/- English audio filesSquareRootTrainer/audio/nl-NL/- Dutch audio files
Audio files are generated using the AudioGenerator CLI tool, which uses Windows Speech Synthesis:
cd AudioGenerator
dotnet runThis will regenerate all audio files in both languages.
- Cross-platform audio: Uses NAudio for Windows desktop audio playback
- Platform abstraction:
IAudioPlayerinterface allows for different implementations (Windows/Browser) - Avalonia UI: Cross-platform .NET UI framework
- Async/await patterns: Clean cancellation and resource management