Transforming screen time into a hard-earned reward through AI-driven linguistic mastery.
SpellGate is a high-stakes educational lock-screen and kiosk application designed for children. It locks system access behind a neon-drenched retro interface and gamifies screen time management by requiring the user to master spelling words to "earn" computer playtime. Once time is earned, a floating timer sits on the desktop, gracefully shutting down the PC when time runs out.
- 🔒 Kiosk Lockdown Mode: Automatically locks the screen, disables the Windows key, Alt-Tab, and Task Manager (when run as Administrator). The child must spell words to unlock the PC.
- 📈 Progressive Difficulty (Novice → Apprentice → Scholar): Tracks word mastery using a 3-strike system. The difficulty adapts as the child successfully spells words.
- 🧠 Model Cascade Engine (Offline Resilient): Powered by Google's Gemini AI to generate custom, educational sentences for words.
- Fallback Chain: If the primary AI model fails (e.g., API quota reached), it automatically tries 2 fallback models.
- 100% Offline Support: If the internet goes down or all API calls fail, the app falls back seamlessly to a built-in library of over 150+ curated spelling words and sentences across all difficulty tiers.
- ⏳ Time Bank Persistence: Earned playtime is saved locally (
LOCALAPPDATA). If the PC restarts, the earned time is preserved. - 🖥️ Floating Desktop Timer: An always-on-top, draggable cyberpunk-styled timer that counts down earned time.
- 🗣️ Audio Pronunciation (TTS): Uses a built-in zero-lag Text-to-Speech engine to read out words and sentences.
- Hard Lock: Stays "Always on Top" and suppresses system hotkeys.
- Auto-Shutdown: Executes an OS-level shutdown if the timer hits
00:00:00. - Parental Override: Secure bypass via
Ctrl + Shift + Pfrom the kiosk screen.
SpellGate stores user progress and time bank balances in the local application data directory. This ensures data survives app updates and is safely partitioned per Windows user.
- Path:
C:\Users\[Username]\AppData\Local\SpellGate user_progress.json- Tracks mastered words and current difficulty level. Delete this to wipe the child's progress.time_bank.txt- Tracks the remaining seconds of playtime. You can manually edit this file to grant bonus time or penalize time.
SpellGate is built using Python, PyQt6, and PyInstaller. It compiles down into a single portable executable (SpellGate.exe) that does not require Python or any dependencies to be installed on the target machine.
- Python 3.12+
- Windows 10 / 11
- A Google Gemini API Key placed in a
gemini.envfile (Optional, required only for dynamic sentence generation).
If you are compiling from source on your main PC:
- Clone the Repository:
git clone https://github.com/Hazy019/SpellGate.git
- Install Dependencies:
pip install -r requirements.txt
- Run the build script:
python package_app.py
- A single
SpellGate.exefile will be generated in thedist/folder.
- Copy the built
dist/SpellGate.exeto the child's Windows machine (e.g., via USB drive or Network Share). - Right-click the executable and select "Run as Administrator".
Note: Administrator privileges are required for the low-level keyboard hooks to block
Windows Key,Alt+Tab, and other system shortcuts. - (Optional) Set to auto-launch on startup:
- Press
Win + R, typeshell:startup, and press Enter. - Create a shortcut to
SpellGate.exein this folder. - Right-click the shortcut → Properties → Advanced → Check "Run as administrator".
- Press
- Typography: Press Start 2P
- Success/Safe:
#4ADE80(Arcade Green) - Theme: Neon-drenched Retro / Cyberpunk
Lead Developer: Kyrell Santillan