Introduction
In today’s fast-paced digital environment, staying connected and organized is critical—whether you’re a freelancer managing clients, a student juggling team members, or a business owner maintaining leads. Unfortunately, most people still rely on manual methods to manage contacts: Excel spreadsheets, notepad files, phone lists, or sticky notes. These disjointed solutions often lead to:
- Lost or duplicated contacts
- Inconsistent formatting (like missing emails or phone numbers)
- No easy way to search, update, or back up data
- Manual effort required when importing or exporting from other platforms
To solve these everyday frustrations, I built the Contacts Manager App—a Python desktop application using PySide6 (Qt for Python) and SQLite for robust, local data handling.
This app provides a streamlined, responsive, and beginner-friendly interface to manage all your contact information without relying on third-party cloud services or subscriptions.

Features and How They Work
Add, Edit, and Delete Contacts
- Add new contacts by simply typing into the Name, Email, and Phone fields.
- Edit contacts inline in the table by double-clicking.
- Delete any contact by selecting it and clicking Delete Contact, with confirmation.
Real-Time Search & Filter
- Search by Name, Email, or Phone using the top search bar.
- As you type, the contact list automatically updates to show matching results.
Import Contacts
- Supports importing from:
- CSV / TXT files
- Excel (.xlsx) files
- Access (.accdb) databases
- Built-in duplicate detection: avoids importing the same contact twice.
Export Contacts
- Save all your contacts to:
- CSV format – ideal for spreadsheets or email tools
- Excel (.xlsx) – perfect for reporting or sharing
Pagination (for Large Lists)
- Automatically splits large datasets into pages of 10 contacts each.
- Navigation buttons (“Next” / “Previous”) make browsing fast and smooth.
- Pagination updates automatically when filtering/searching.
Modern, Responsive UI
- Built with PySide6 (Qt for Python) – providing cross-platform GUI support.
- Custom fonts and a modern stylesheet make it professional and user-friendly.
- Controls are grouped using Qt’s
QGroupBox
for improved visual structure.
SQLite Database Integration
- Stores all contacts in a local
contacts.db
file (no internet or cloud needed). - Ensures data persistence even after the app is closed.
- Safe and reliable for personal or small business use.
Why This App?
Most apps today are overly complex or locked behind subscriptions. This project is about building practical tools that solve real-world problems using open-source technologies.
Demo Video
I’ve also created a video demo to show how everything works—from adding and editing contacts to importing and exporting files. The video is meant to help you understand both the user experience and the technical implementation.
See the code here: Contacts_Manager_App/main.py at main · michellealzola/Contacts_Manager_App
Test this app by downloading the Windows executable file here: Contacts Manager App
Datasets Resources
Nursat, Q. (n.d.). Contacts, Stores, Products. Retrieved from kraggle: https://www.kaggle.com/datasets/qulymzhanovv/contacts-stores-products
Sarac, C. (n.d.). Employee Records Dataset. Retrieved from kraggle: https://www.kaggle.com/datasets/cankatsrc/employee-records-dataset