Contact Book·an address book for people who keep their own records·v1.0.0

Every number you
keep, kept on your
own shelf.

A desktop address book built with Python and PySide6 — multiple contact books, drag-and-drop VCF import, and calling through Phone Link or a direct LAN line. Nothing you type ever leaves this machine.

No admin rights needed · Desktop & Start Menu shortcuts · Proper uninstaller included

Table of contents

Everything a paper Rolodex did — minus the paper cuts.

Seven drawers, each doing one job well.

B

Multiple books

Keep personal, work, and family separate. Create, rename, and delete a book from the selector — each is its own SQLite file.

S

Live search

Filter as you type across name, number, and email, with the match highlighted inline. Deletes are undoable.

V

VCF in & out

Browse for a .vcf, or just drag one onto the window — a pulsing drop zone shows it's ready to catch the file.

C

Real calls

Hand a number to Phone Link for a genuine cellular call, or ring another Contact Book instance directly over your LAN.

L

Local only

Every book is a file on your disk. No account, no server, nothing phoned home — a rough book, kept honestly.

I

Real installer

A wizard built in the app's own UI — license & data agreement, progress bar, and a GUI uninstaller that actually cleans up.

T

Light & dark mode

A toggle in the toolbar flips the app's own look independent of Windows' theme — every window, dialog, and icon switches together, and your choice is remembered next launch.

Switch books, view a contact

Pick a book from the dropdown. The View button opens exactly this.

Both mockups below match the real widget styling pixel-for-pixel — same fonts, same hex codes, same layout as scripts/main_window.py and scripts/view_dialog.py.

Contact Book
−  ▢  ✕
Search -->
Work ▾
NamePhone No.Email
Sakura Haruno+81 90-4444-5678sakura@leaf.com
Kakashi Hatake+81 90-3333-9999Email Not Added
Same window, a different book selected — each book is its own SQLite file.
Contact Details
✕
Contact Details
Name ->Sakura Haruno
Phone No. ->+81 90-4444-5678
Email ->sakura@leaf.com
Close
The View dialog you get for that row — same title casing, same bold Segoe UI labels.
Kept for you to try

A working page from the book — view, edit, add, and delete a contact.

This runs entirely in your browser with three seeded rows. Nothing here touches a server, and refreshing the page resets it — same rule the app itself follows, just without the disk.

3 contacts
    Try it: open view on a row, edit a phone number, delete one, then hit undo before it disappears.
    Contact deleted.
    Two ways to actually dial

    The app never claims to be a phone. It just knows two ways to reach one.

    Mode 01

    Hand off to Phone Link

    Contact Book sends the number to whatever app Windows has registered for tel: links — usually Microsoft Phone Link, once it's linked to your Android phone. The call happens on your phone; this window just placed the request, minimized, without stealing focus.

    Mode 02

    Direct LAN voice

    Give a contact a Device IP and Contact Book will ring that device directly over your local network — no phone, no carrier, no internet required. Useful for two desks running the same app on the same Wi-Fi.

    From the installer's own agreement page

    A rough book, kept honestly.

    Every contact you add lives in a SQLite file next to the app. Nothing is uploaded, synced, or shared with a server — the installer says this outright, in a License & Data Agreement page you have to read and accept before setup continues.

    And because it's a rough book and not a telephone, real calls still need a real line: set up Phone Link, or give a contact a Device IP for LAN calling. Contact Book is honest about which one you're getting before you press call.

    Two shelves

    Take it installed, or take it as source.

    Installer

    Recommended
    # download & run — no Python needed
    ContactBookSetup.exe

    Installs per-user under %LOCALAPPDATA%, no admin rights required. Creates Desktop & Start Menu shortcuts and a proper uninstaller.

    From source

    Python 3.11+
    git clone https://github.com/guptaji0358/Contact-Book-.git
    cd Contact-Book-
    pip install PySide6 sounddevice numpy pywin32
    python 42_CONTACT_BOOK.py

    Everything is a plain scripts/ package of PySide6 mixins — nothing to compile.