Neodesk. - Windows 11 Setup automation Tool

#tool#python#windows#cybersecurity

A comprehensive Windows 11 automation and optimization tool featuring a PyQt6 desktop application and Next.js website for system configuration, debloating, and security hardening

NeoDesk - Windows 11 Automation Tool

🎯 About The Project

NeoDesk is a comprehensive automation tool for Windows 11, developed to solve the tedious configuration process of a new system. As a cybersecurity student and network/system administrator, I designed this solution to automate repetitive tasks and streamline Windows setup.

The project consists of two main components:

  1. Desktop Application - PyQt6 interface for Windows administration
  2. Website - Next.js showcase for presentation and documentation

Problem Solved

Setting up a new Windows 11 system involves numerous time-consuming tasks:

  • Bloatware Removal: Automatic removal of preinstalled UWP applications
  • Software Installation: Automated deployment via Winget (CLI Software Manager)
  • System Configuration: Execution of custom PowerShell scripts
  • Security Hardening: System hardening with HardeningKitty (ANSSI, CIS, Microsoft baselines)
  • System Diagnostics: Complete system information collection and export

🌟 Key Features - Technical explanations

Desktop Application

1. System Information & Diagnostics

  • Comprehensive Data Collection: OS version, CPU, RAM, GPU, storage, battery, displays
  • Real-time Refresh: Live system metrics
  • Export Capability: TXT export for documentation
  • Intelligent Caching: 93% reduction in loading time
  • Asynchronous Threading: Non-blocking UI operations

Collected Information:

  • System: Windows version, build, PC name, BIOS
  • CPU: Model (via cpuinfo), physical/logical cores, frequency
  • RAM: Capacity (via psutil), DDR type (via WMI), frequency, slots
  • GPU: Model (via GPUtil + WMI), VRAM, driver version
  • Storage: Partitions, capacity, SSD/HDD type, SMART health
  • Battery: Design/current capacity, degradation (via powercfg)
  • Displays: Model, resolution, refresh rate, connection type (via WMI)

2. UWP Application Management

  • Smart Protection System: 81 critical apps protected from removal
  • Real-time Search: Instant filtering of installed applications
  • Bulk Operations: Multiple selection and uninstallation
  • Profile Management: Export/Import uninstallation profiles
  • Integrated Web Search: Quick lookup for unknown apps
  • Safe Uninstallation: UAC elevation with system protection

Protection System:

  • 14 protected prefixes (Microsoft.Windows.*, etc.)
  • 81 exact protected applications
  • Prevents system breakage

3. Software Installation

  • Extensive Catalog: 100+ software packages in the installation list (work in progress, this system will be improved)
  • Categories: Development Tools (25+), Browsers (9), Utilities (30+), Gaming, Communication, Multimedia, Security
  • Hierarchical Interface: Tree view with categories
  • Multiple Selection: Batch installation support
  • Search Functionality: Filter by name
  • Silent Installation: Via Winget with automatic acceptance

Popular Software Included:

  • Development: VS Code, Git, Node.js, Python, Docker, WSL
  • Browsers: Chrome, Firefox, Brave, Arc, Edge
  • Utilities: 7-Zip, VLC, Notepad++, PowerToys
  • And many more...

4. PowerShell Configuration Scripts

  • 22 Built-in Scripts: Organized in 5 categories
  • Automatic Parsing: Metadata extraction from script headers
  • Safe Execution: UAC elevation with validation
  • Visible Console: Real-time execution monitoring

Script Categories:

  • Power Management: Performance mode, disable sleep
  • Taskbar: Left alignment, cleanup
  • Visual: Dark mode, wallpaper, effects, scaling
  • Context Menu: Classic menu restoration
  • StartAllBack: Configuration

5. Security Hardening

  • HardeningKitty Integration: Industry-standard security baselines
  • Multiple Baselines: ANSSI (France), CIS, Microsoft Security Baselines, DoD STIG
  • Dual Modes: Audit (scan only) or Apply (enforce recommendations)
  • Detailed Reports: CSV/HTML export with findings

6. Modern UI/UX

  • Frameless Window: Custom title bar with rounded corners
  • Shadow Effects: Modern depth and elevation
  • Dark Theme: GitHub Dark inspired palette
  • Horizontal Tab Navigation: Intuitive page switching
  • Smooth Animations: Fluid transitions
  • Responsive Design: Adaptive layouts

Website

Pages & Content

  • Home: Hero section, feature showcase, download button, statistics
  • Documentation: Installation guide, usage instructions, FAQ, troubleshooting
  • Versions: Complete changelog and version history
  • Contribution: Feedback form, bug reporting, donation links
  • Statistics: Usage metrics and analytics

Design

  • Modern Theme: Black, white, and blue palette
  • Typography: Segoe UI, Inter
  • 3D Animations: Vanta.js background effects
  • Responsive: Mobile-first approach
  • SEO Optimized: Proper metadata and semantic HTML

🛠️ Technical Stack

Desktop Application

Language: Python 3.10+

Framework: PyQt6 6.6.0+

Core Libraries:

  • psutil - System information (RAM, CPU, storage)
  • py-cpuinfo - CPU details
  • GPUtil - GPU information
  • wmi - Windows Management Instrumentation
  • pywin32 - Windows API
  • screeninfo - Display information
  • firebase-admin - Telemetry (opt-in)
  • requests - HTTP requests
  • packaging - Version management

Development Tools:

  • pytest - Unit testing
  • black - Code formatting
  • mypy - Type checking

Website

Framework: Next.js 14 (App Router)

Language: TypeScript 5.7.2

Libraries:

  • react 19.0.0
  • react-dom 19.0.0
  • sass 1.82.0 (SCSS styles)
  • three 0.134.0 (3D graphics)
  • vanta 0.5.24 (animations)
  • bootstrap-icons 1.13.1 (icons)

Deployment: Vercel

🏗️ Architecture

Application Structure

OpenInnov/
├── dev-app/                    # Desktop Application (Python + PyQt6)
│   ├── main.py                # Entry point
│   ├── core/                  # Core modules
│   │   ├── app.py            # Application and window
│   │   ├── config.py         # Configuration management
│   │   ├── cache.py          # Intelligent caching
│   │   └── logger.py         # Advanced logging
│   ├── ui/                    # User interface
│   │   └── pages.py          # All pages
│   ├── utils/                 # Utilities
│   │   └── powershell.py     # PowerShell execution
│   ├── data/                  # Data
│   │   ├── protected_uwp.py  # Protected apps (81)
│   │   ├── software_list.json # Software catalog (100+)
│   │   └── firebase_utils.py # Opt-in telemetry
│   └── config_files/          # PowerShell scripts (22)
│
└── dev-site/                  # Website (Next.js + TypeScript)
    ├── app/                   # Next.js pages
    ├── components/            # React components
    ├── styles/                # Modular SCSS
    └── public/                # Static assets

Key Systems

Configuration Manager

  • Persistent JSON-based configuration
  • Default settings for theme, language, auto-update, telemetry, cache
  • Location: %USERPROFILE%/Documents/Neodesk/config/config.json

Logger

  • Rotating logs (10 MB max, 5 files)
  • Levels: DEBUG, INFO, WARNING, ERROR, CRITICAL
  • Location: %USERPROFILE%/Documents/Neodesk/logs/

Cache Manager

  • Persistent cache with expiration (1h default)
  • 93% reduction in UWP app loading time
  • Location: %USERPROFILE%/Documents/Neodesk/cache/cache.json

Threading

  • QRunnable-based worker threads
  • Non-blocking UI operations
  • Parallel execution for heavy tasks

PowerShell Execution

  • Secure script execution with validation
  • UAC elevation via ShellExecuteW
  • Dangerous command detection
  • 30s timeout protection
  • Input sanitization

📊 Performance Metrics

V2.0 vs V1.0 Improvements

Startup Time: 2.5s → 1.5s (-40%)
UWP Loading: 8s → 0.5s (-93%)
RAM Usage: 120MB → 90MB (-25%)
UI Responsiveness: +80%

Code Quality

Lines of Code: 2500 → 1800 (-28%)
Modules: 4 → 12+ (+200%)
Documentation: 20% → 95% (+375%)
Complexity Index: 40 → 75 (+87%) (not up to date)

Optimizations

  • Intelligent Cache: 93% loading time reduction
  • Threading: Parallel operations
  • Lazy Loading: On-demand module loading
  • Memory Management: 25% consumption reduction

🚀 Installation & Usage

Desktop Application

Prerequisites:

  • Windows 10/11 (64-bit)
  • Python 3.10+
  • Administrator rights

Quick Install:

cd dev-app
pip install -r requirements.txt
python main.py

Using Scripts:

install.bat  # Automatic installation
run.bat      # Quick launch

Website

Prerequisites:

  • Node.js 18+
  • npm/yarn/pnpm

Installation:

cd dev-site
npm install
npm run dev     # Development
npm run build   # Production
npm run start   # Production server

🎯 Development Achievements

Quantified Work

Desktop Application:

  • 1800+ lines of Python code
  • 12 organized modules
  • 6 complete functional pages
  • 22 custom PowerShell scripts
  • Intelligent caching system
  • Advanced rotating logging
  • Persistent configuration management
  • Optimized threading
  • 81 identified protected UWP apps
  • 100+ cataloged software packages

Website:

  • Complete Next.js 14 architecture
  • 5 reusable React components
  • 6 pages with routing
  • Responsive design
  • Modular SCSS styles
  • SEO optimized

Features Summary

Diagnostics: 7 information categories, 20+ collected metrics, TXT export

Uninstallation: 81 critical apps protected, real-time search, profile export/import, integrated web search

Installation: 100+ cataloged software, 7 categories, silent installation, error handling

Configuration: 22 PowerShell scripts, 5 categories, automatic parsing, secure execution

Security: 4 baselines (ANSSI, CIS, MS, DoD), audit/apply modes, detailed reports

🔮 Roadmap

Beta

  • Release planned on 1st of february 2026

💡 Lessons Learned

Technical Insights

  • Modular Architecture: Separation of concerns improves maintainability
  • Caching Strategy: Intelligent caching dramatically improves performance
  • Threading: Essential for responsive UI in heavy operations
  • Security First: Input validation and UAC elevation are critical
  • User Protection: Preventing destructive actions saves support time

Development Practices

  • Type Hints: Improve code quality and IDE support
  • Comprehensive Logging: Essential for debugging and monitoring
  • Documentation: Detailed docstrings and external docs are invaluable
  • Error Handling: Robust error management prevents crashes
  • Testing: Unit tests catch bugs early

Design Principles

  • User-Centric: Intuitive UI reduces learning curve
  • Performance Matters: Users notice and appreciate speed
  • Safety Nets: Protection systems prevent user mistakes
  • Feedback: Visual feedback improves user confidence

🔗 Links


NeoDesk represents a comprehensive solution to Windows 11 automation, combining powerful functionality with an intuitive interface. It demonstrates proficiency in desktop application development, web technologies, system administration, and cybersecurity practices. The project showcases the ability to identify real-world problems and develop complete, production-ready solutions.

Windows optimization, reinvented. 🚀