PeopleMap — Local-First Relationship Manager
A local-first relationship manager that turns business cards into reviewed contacts, meeting context, follow-up drafts, and a visual network map.
Runtime and tools
- Python
- Streamlit
- Ollama
- Tesseract OCR

Product at a glance
- Capture
- Card · event context
- Local pipeline
- Tesseract · Ollama · review
- Reconnect
- Draft · reminder · network
Product output
From capture to relationship memory
The working capture and local-AI workflow sits inside a broader mobile product direction. These public-safe screens use fictional people and clearly separate implemented flows from prototype social and account surfaces.




How it works
From business card to remembered relationship
PeopleMap keeps extraction reviewable and local: the card becomes structured contact data only after OCR, model parsing, and a human correction step.
- 01CaptureTake a card photo or upload an existing image.
- 02ReadPreprocess the image and extract text locally with Tesseract.
- 03StructureUse an Ollama model to repair noisy OCR and return contact fields.
- 04ReviewCorrect the fields and add where, when, and why the contact mattered.
- 05ReconnectDraft a follow-up or inspect the relationship network by sector.
Product
PeopleMap is an experiment in making networking less transactional. It keeps the person, their card, where you met, your notes, and the next useful action together instead of stopping at a saved name.
Why it exists
Business-card scanners usually finish after extraction. PeopleMap focuses on what comes next: preserving context, preparing a useful follow-up, and showing how a relationship network is forming.
Working prototype
- Phone and laptop card capture with local image preprocessing
- Tesseract OCR followed by local Ollama field extraction
- Review, edit, search, save, and delete contact workflows
- Contextual follow-up drafts with a local mail-app handoff
- Sector classification and a visual relationship network
Experience direction
The interface extends beyond scanning into an action-led home, people search, relationship clusters, follow-up drafting, and a mobile navigation system. Circles, shared feeds, accounts, storage tiers, and billing are designed product directions rather than completed multi-user infrastructure.
Privacy boundary
Contact records currently remain in a local JSON store. OCR and Ollama inference run on the host machine. Optional company enrichment may query DuckDuckGo, and the current single-user prototype should not be exposed publicly with real contact data.
Build
- Python and Streamlit for the application
- Tesseract for local optical character recognition
- Ollama for extraction, classification, and follow-up assistance
- Local JSON persistence behind a stable typed contact contract
Maturity
What exists now
| Area | State | Evidence |
|---|---|---|
| Card capture and OCR | Working | Camera and upload flows feed local Tesseract preprocessing. |
| AI contact extraction | Working | An installed Ollama model turns noisy OCR into reviewable fields. |
| Contacts and network map | Working | Local storage, search, editing, sector clusters, and follow-up drafting. |
| Circles and sharing | UI prototype | The interface exists; multi-user backend wiring is not complete. |
| Cloud accounts and billing | Planned | Authentication, user isolation, and paid storage are not connected. |
Exploring local AI for relationship workflows?
Discuss private contact capture, local OCR and AI extraction, follow-up assistance, or relationship-network interfaces.
Explore the other independent products in Tharm Lab.
All products