(Needs Update)
Professional Code Typing Trainer - Native Desktop Edition
A high-performance desktop application built with Tauri + Rust that transforms the acclaimed Syntaxed web application into a native desktop experience.
- 15MB bundle size (10x smaller than Electron alternatives)
- Native webview rendering for optimal performance
- 60fps real-time metrics with Rust-powered backend
- Instant startup with no browser overhead
- 25+ programming languages supported
- Monaco Editor integration with full syntax highlighting
- Real-time WPM, accuracy, and error tracking
- Comprehensive statistics system with persistent storage
- Personal best tracking for each language and topic
- Native window management with proper minimize/maximize
- System taskbar integration
- Desktop-optimized UI (1200x800 default, 800x600 minimum)
- No internet required - fully offline capable
- Cross-platform support (Windows, macOS, Linux)
- Dark/Light theme toggle with system preference detection
- Fully responsive design adapted for desktop use
- Professional Monaco Editor (VS Code engine)
- Clean, distraction-free typing environment
- Frontend: Vanilla HTML/CSS/JavaScript with Monaco Editor
- Backend: Rust with Tauri framework
- Bundling: Native system webview (no Chromium overhead)
- Build System: Cargo + npm integration
- Rust (latest stable) - Install Rust
- Node.js (v16+) - Install Node.js
- Git - Install Git
# Clone the repository
git clone https://github.com/burkifa23/syntaxed-desktop.git
cd syntaxed-desktop
# Install Node.js dependencies
npm install
# Run in development mode (hot reload)
npm run tauri:dev
# Build for production
npm run tauri:buildThe first npm run tauri:dev will:
- Download Rust dependencies (2-3 minutes)
- Compile Tauri backend (3-5 minutes)
- Open desktop application automatically
Subsequent runs are much faster (~10-30 seconds).
- Launch the application
- Select programming language from dropdown (25+ available)
- Choose topic: Start, Variables, Control Flow, or Functions
- Begin typing when you see the code snippet
- Track progress with real-time metrics
- View statistics to monitor improvement
Alt + Q- Stop current testAlt + R- Reset testAlt + B- Enable dark modeAlt + W- Enable light modeAlt + S- View statistics
Systems Programming: C, C++, Rust, Go, Zig
Web Development: JavaScript, TypeScript, HTML, CSS, PHP
Data Science: Python, R, Julia
Enterprise: Java, C#, Scala, Kotlin
Functional: Haskell, Clojure, Elixir, Erlang
Scripting: Bash, Lua
Mobile: Swift, Dart
Legacy: COBOL, Fortran
syntaxed-desktop/
โโโ src-tauri/ # Rust backend
โ โโโ src/
โ โ โโโ main.rs # Application entry point
โ โ โโโ lib.rs # Core Rust logic
โ โโโ Cargo.toml # Rust dependencies
โ โโโ tauri.conf.json # Tauri configuration
โโโ index.html # Frontend entry point
โโโ styles.css # Application styles
โโโ script.js # Core application logic
โโโ snippets/ # Code snippet library
โโโ package.json # Node.js configuration
npm run tauri:dev # Development with hot reload
npm run tauri:build # Production build
npm run tauri # Direct Tauri CLI access# Build optimized bundles for current platform
npm run tauri:build
# Output locations:
# Windows: src-tauri/target/release/bundle/msi/
# macOS: src-tauri/target/release/bundle/dmg/
# Linux: src-tauri/target/release/bundle/deb/| Framework | Bundle Size | Startup Time | Memory Usage |
|---|---|---|---|
| Syntaxed Desktop (Tauri) | ~15MB | < 1s | ~50MB |
| Electron Alternative | ~150MB | ~3s | ~200MB |
| Native Web App | ~5MB | ~0.5s | ~30MB |
- โ 90% smaller than Electron-based alternatives
- โ Native performance with system webview
- โ Memory efficient - no bundled Chromium
- โ Security focused - Rust memory safety
- โ Cross-platform - single codebase
Edit src-tauri/tauri.conf.json to customize:
{
"app": {
"windows": [{
"title": "Syntaxed - Professional Code Typing Trainer",
"width": 1200,
"height": 800,
"minWidth": 800,
"minHeight": 600,
"resizable": true
}]
}
}- Create snippet files in
snippets/[language]/ - Update language list in
script.js - Test with
npm run tauri:dev
We welcome contributions! Whether you're:
- ๐ Reporting bugs or requesting features
- ๐ฆ Adding Rust backend features
- ๐ Improving the web frontend
- ๐ Enhancing documentation
- ๐จ Designing better UX
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Test thoroughly with
npm run tauri:dev - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
- Custom application icons
- System tray integration
- Auto-updater functionality
- Installer improvements
- Native notification system
- File system statistics storage
- Performance optimizations
- Native file dialogs
- Multiplayer typing competitions
- Advanced analytics dashboard
- Plugin system for custom languages
- AI-powered difficulty adjustment
This project is licensed under the MIT License - see the LICENSE file for details.
- Tauri Team - For the incredible native app framework
- Monaco Editor - VS Code's excellent editor
- Original Syntaxed - The foundational web application
- Rust Community - For the amazing language and ecosystem
- ๐ Syntaxed Web - Original browser-based version
- ๐ Live Demo - Try it in your browser
- ๐ฑ Syntaxed Mobile - Coming soon!
Built with โค๏ธ by Burkifa23 & Programmer-233
Powered by ๐ฆ Rust + โก Tauri
โญ Star us if you find this useful!