Full-Stack Python Developer for Local Knowledge Graph UI

Posted 3 days ago

Worldwide

Summary

We are looking for a developer to build the UI layer for a local-first Conservation Management Platform. The backend text and image ingestion pipelines already exist; this project focuses on creating a desktop or local web interface that can launch those scripts, monitor progress, stream logs/errors, show processed vs. unprocessed files, connect to a local Neo4j knowledge graph, allow basic node/relationship editing, provide a natural-language query interface, display simple visualizations, and browse media results by person, place, event, or date. The ideal developer is comfortable with Python-backed desktop apps, Neo4j/Cypher, job runners, clean UI/UX, and local-first privacy-focused software. ## UI Milestones ### Milestone 1: UI Architecture Setup **Goal:** Establish the basic desktop or local web application architecture and confirm that the UI can communicate with the local backend, Neo4j, and Python scripts. **Acceptance Criteria:** * Desktop app framework is selected: Tauri, Electron, or local Flask/FastAPI. * UI can connect to the local backend. * UI can check Neo4j availability. * UI can call one test Python script. * Logs from the test script appear in the UI. * Basic project structure is documented. --- ### Milestone 2: Builder Tab **Goal:** Build the main pipeline-control interface where the user can select folders, launch backend scripts, monitor progress, and review processed/unprocessed files. **Test:** Verify Builder tab functionality works. **How to Test:** Select a test folder, launch different pipeline scripts from different buttons, verify that log output updates in real time, and verify that file lists refresh after each run. **Acceptance Criteria:** * Folder selection reflects the user’s choice and persists between sessions. * Each script launches its pipeline without crashing the UI. * Progress and log output stream in real time. * The “processed” and “not processed” file lists update after each run. * Re-running a script on the same folder skips already-processed files. * No duplicate nodes are created in the knowledge graph. --- ### Milestone 3: Editor Tab **Goal:** Build an interface for viewing, creating, editing, linking, unlinking, and deleting Neo4j knowledge graph nodes and relationships. **Test:** Verify Editor tab functionality works. **How to Test:** Create a node, edit its properties, link it to another node, delete a node, and verify that all changes are reflected in the Neo4j database. **Acceptance Criteria:** * Node properties can be edited in place and saved to Neo4j. * Creating a new node succeeds, and the node is visible in subsequent queries. * Linking two nodes produces a valid edge with a chosen relationship type. * Unlinking two nodes works. * Deletions cascade or prompt a warning when connected edges exist. * Edits are reversible through an undo action or are clearly logged with confirmation warnings. --- ### Milestone 4: Query Tab **Goal:** Build a natural-language query interface that allows the user to ask questions about the local knowledge graph and receive readable answers. **Test:** Verify Query tab functionality works. **How to Test:** Ask five questions of varying complexity, such as “Show me photos from 2020” or “Who did I email most this year?”, and verify the answers. **Acceptance Criteria:** * Questions are answered correctly at least 85% of the time on the test set. * Answers are returned in a readable format, such as a table, list, or prose response. * Query failures display an error message without crashing the UI. * The LLM can handle follow-up questions that reference prior context within the tab. * Sensitive queries are not sent to a hosted LLM if the user has selected a local model. --- ### Milestone 5: Visualization Tab **Goal:** Build visual tools for exploring the knowledge graph through timelines, relationship graphs, counts, and category summaries. **Test:** Verify Visualization tab functionality works. **How to Test:** Filter on each available dimension individually and in combination, then verify that the visualizations update accordingly. **Acceptance Criteria:** * At least three visualization types are available: timeline, network graph, and histogram. * Filters apply in real time. * Empty-result states are handled with a clear message. * Visualizations can be exported to PNG or SVG. * Performance is acceptable on archives of at least 10,000 nodes. --- ### Milestone 6: Multimedia Tab **Goal:** Build a media-browsing interface that allows the user to filter and view photos or other media by person, place, event, date, or query result. **Test:** Verify Multimedia tab functionality works. **How to Test:** Filter on a specific person and verify that only photos depicting that person appear. Filter on a date range and verify that the results match. **Acceptance Criteria:** * Filters correctly restrict the returned photo set. * Thumbnails load without blocking the UI. * Clicking a thumbnail opens the full-resolution image with a metadata overlay. * Photos are pulled from original storage paths, not duplicated. * The gallery handles folders with at least 1,000 matching photos.

  • Less than 30 hrs/week
    Hourly
  • 1-3 months
    Duration
  • Intermediate
    Experience Level
  • $15.00

    -

    $35.00

    Hourly
  • Remote Job
  • Ongoing project
    Project Type
Skills and Expertise
Mandatory skills
Neo4j
React
TypeScript
Desktop UI
Activity on this job
  • Proposals:50+
  • Last viewed by client:3 days ago
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Mar 9, 2023
  • United States
    Woodruff6:14 AM
  • $5.9K total spent
    5 hires, 2 active
  • 247 hours

Explore similar jobs on Upwork

Software DeveloperHourly‐ Posted 7 months ago
ASP.NET MVC
Django
Python
AngularJS
JavaScript
jQuery
WordPress
Google Chrome Extension
React
CRM Development
Microsoft Dynamics 365
Microsoft Dynamics CRM
Microsoft Dynamics Development
Microsoft PowerApps
Single Sign-On
Build Marketplace on TokopediaHourly‐ Posted 3 weeks ago
PHP
HTML5
JavaScript
Web Development

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers 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

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo