SPOTLIGHT - PHASE 1 SUMMARY
Spotlight is a Windows launcher built using Python that allows users to quickly search and launch applications and files using the Alt + Space shortcut. The goal of Phase 1 was to create a fast, reliable and expandable foundation instead of a simple prototype.
The project contains 34 files and around 2100 lines of Python code. It follows a modular architecture where each component has a specific responsibility, making the application easier to maintain, test and expand in future phases.
The utilities layer stores constants, logging functions and helper functions. Constants such as search limits and window dimensions are stored in one place, while a debouncer reduces unnecessary searches when users type quickly.
The models layer contains data structures used throughout the application. These include search results, launch history and application settings.
The core engine is the most important part of Spotlight. The Cache Manager handles all database operations using SQLite and prevents the interface from freezing. The File Indexer scans folders, ignores unnecessary directories and monitors file changes automatically. The Search Engine combines SQL filtering with fuzzy matching to provide accurate search results. The Command Runner launches files and applications, while the Settings Manager saves user preferences. The Launcher connects all components together.
The services layer discovers installed applications from the Windows Start Menu, extracts their icons and manages global keyboard shortcuts.
The user interface consists of a floating, frameless search window inspired by Windows 11. It includes a search bar and a list of results showing icons, titles and categories. Users can navigate entirely with the keyboard using arrow keys, Enter and Escape.
The application uses a simple design system with a dark theme, one orange accent colour and subtle animations to create a polished appearance without distractions.
During development, an important bug was discovered. The search engine originally filtered results using the entire query, causing spelling mistakes to fail. This was fixed by filtering only the first one or two letters before applying fuzzy matching. As a result, searches with minor mistakes can still find the correct files.
Several advanced features were intentionally postponed to future phases. These include file previews, a settings window, clipboard history, plugins, calculators and natural language commands.
Performance was also prioritised. The application is designed to launch in under one second, provide search responses in under 50 milliseconds, use minimal CPU power and consume less than 150 MB of RAM.
Overall, Phase 1 successfully creates a fast, stable and scalable foundation that can support more advanced features in future versions without requiring major redesigns.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.