Full-Stack Python Developer for Local Knowledge Graph UI
Worldwide
Full-Stack Electron/Python Developer for Local Knowledge Graph Application Summary We are building a local-first Conservation Management Platform that organizes documents, photos, videos, audio transcripts, emails, calendars, contacts, and other personal data into a searchable Neo4j knowledge graph. The text and media ingestion pipelines are substantially complete. This project focuses on building the cross-platform desktop application, connecting it to the existing Python pipelines and Neo4j, adding a reliable local job runner, and creating interfaces for managing, querying, visualizing, and browsing the resulting knowledge graph. The intended final application is an installable Electron desktop app for Windows and macOS. A local web interface may be used for prototyping, but Electron is the preferred production framework. Primary Responsibilities • Build and package an Electron desktop application for Windows and macOS. • Integrate the UI with Python ingestion pipelines and local Neo4j. • Build a local orchestration/job-running layer for long-running pipeline tasks. • Implement local user profiles, configuration, and separate knowledge graphs. • Securely load and store API keys and credentials using the operating-system keychain. • Build Builder, Editor, Query, Visualization, and Multimedia tabs. • Provide automated tests for important orchestration and integration behavior. • Preserve source paths, provenance, idempotent processing, and local-first privacy, when possible. Milestone 1: Orchestration and Application Setup Build the basic Electron application and local job runner. Acceptance Criteria • Electron application launches on Windows and macOS. • UI can communicate with the local Python backend and Neo4j. • User can create and select local profiles. • Each profile can have separate source folders, settings, and knowledge-graph data. • User can configure and test the Neo4j connection. • OpenAI/ChatGPT API keys can be entered, updated, tested, and stored securely. • Invalid configuration produces clear errors before processing begins. • The job runner supports queued, running, completed, failed, cancelled, retrying, and stalled states. • Job status, logs, and run history persist appropriately. • Duplicate simultaneous jobs are prevented. Milestone 2: Builder Tab Build the pipeline-control interface. Requirements The Builder tab should allow the user to: • Select and persist a source folder. • Launch the pipelines (text-to-KG, media-to-KG, and API-to-KG). • Configure pipeline parameters where necessary. • View progress, logs, warnings, errors, and completion messages. • Cancel and retry jobs where supported. • View processed and unprocessed files. • Re-run pipelines without reprocessing unchanged inputs. Acceptance Criteria • Pipelines launch without freezing or crashing the UI. • Logs and progress update in real time. • Failed files are reported without terminating the entire batch. • Repeated runs do not create duplicate nodes or relationships. Milestone 3: Editor Tab Build tools for reviewing and correcting the Neo4j knowledge graph. Acceptance Criteria • Users can search for nodes and edit their properties. • Users can create and delete nodes. • Users can link and unlink nodes using selected relationship types. • Deleting connected nodes produces an appropriate warning. • Changes are saved to Neo4j and can be undone or clearly reversed. • Source paths and provenance are visible where available. Milestone 4: Query Tab Build a natural-language query interface using the existing LLM/query functionality where possible (Streamlit app available). Acceptance Criteria • Users can ask natural-language questions about the local knowledge graph. • Answers are displayed as readable tables, lists, multimedia, and/or prose. • Results referance and link to relevant nodes or source files where possible. • Follow-up questions retain context within the tab. • Query failures are handled without crashing the application. • Hosted LLM calls respect the user’s privacy and model-selection settings. • The system achieves approximately 85%+ accuracy on an agreed test set. Milestone 5: Visualization and Multimedia Tabs Build interfaces for exploring the archive. Visualization Requirements Support at least three visualization types, such as: • Timelines • Relationship/network graphs • Histograms or category summaries Filters should update visualizations and support combinations of person, place, event, date, and other relevant fields. Visualizations should be exportable to PNG or SVG and remain usable on archives of at least 10,000 nodes. Multimedia Requirements Allow users to browse photos and related assets by: • Person • Place • Event • Date or date range • Query result • Media type The gallery should support original photos, PDF-extracted images, video frames, audio transcripts, and related documents. Thumbnails should load without blocking the UI, and selecting an item should show the original asset with metadata and provenance. Testing and Deliverables The developer should provide: • A working Electron application for Windows and macOS. • Integration with the existing Python pipelines and Neo4j. • A local job runner with persistent status and logs. • Completed Builder, Editor, Query, Visualization, and Multimedia tabs. • Secure local configuration and credential storage. • A documented pytest suite using mocks or fixtures rather than requiring live external services. • Setup, packaging, and development documentation. Ideal Candidate Experience with Electron, TypeScript or JavaScript, Python process integration, Neo4j/Cypher, background job orchestration, local filesystem applications, secure credential storage, automated testing, and cross-platform packaging is preferred. Experience with knowledge graphs, media-processing pipelines, and LLM-assisted querying is a strong plus. API connector development may be scoped separately. Applicants should specify whether they are offering desktop/UI development only or also implementing connectors for email, calendar, contacts, financial, health, messaging, and other external services.
- Less than 30 hrs/weekHourly
- 1-3 monthsDuration
- IntermediateExperience Level
$15.00
-
$35.00
Hourly- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:50+
- Last viewed by client:3 weeks ago
- Interviewing:5
- Invites sent:0
- Unanswered invites:0
About the client
- United StatesWoodruff4:01 AM
- $7.7K total spent5 hires, 2 active
- 247 hours
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by