Professional software

Columbo

Traceable AI for structured investigations.

My contribution
Software engineer at Cause X; full-stack application and AI workflows
Context
AI-assisted investigation software
Focus
Software & AI · Data & research
Columbo administrator dashboard.
WorkspaceColumbo administrator dashboard.
Columbo system architecture: frontend, backend, workers, storage and AI services. The supplied design includes the earlier Pinecone integration.
Columbo system architecture: frontend, backend, workers, storage and AI services. The supplied design includes the earlier Pinecone integration.
User overview for the organisation.
Start In The Investigation WorkspaceUser overview for the organisation.
Create the incident and record its initial details.
Create The Incident And Its ContextCreate the incident and record its initial details.
Attach supporting documents during incident creation.
Create The Incident And Its ContextAttach supporting documents during incident creation.
Review the documents attached to the assessment.
Create The Incident And Its ContextReview the documents attached to the assessment.
Select the investigation framework.
Select The Investigation FrameworkSelect the investigation framework.
Framework and thematic structure used to organise the inquiry.
Select The Investigation FrameworkFramework and thematic structure used to organise the inquiry.
Select the stakeholders to interview.
Choose Stakeholders And Interview DepthSelect the stakeholders to interview.
Set the depth of the planned interviews.
Choose Stakeholders And Interview DepthSet the depth of the planned interviews.
Review the investigation scope.
Review And Approve The ScopeReview the investigation scope.
Administer interviews within the investigation workspace.
Review And Approve The ScopeAdminister interviews within the investigation workspace.
Introduce the interview and establish the stakeholder’s perspective.
Conduct The User InterviewIntroduce the interview and establish the stakeholder’s perspective.
The live evidence-led interview interface.
Conduct The User InterviewThe live evidence-led interview interface.
Review findings from an individual interview.
Review The Individual Interview AnalysisReview findings from an individual interview.
Inspect the interview’s structured fishbone view.
Review The Individual Interview AnalysisInspect the interview’s structured fishbone view.
Preview documentary evidence.
Analyse And Review Documentary EvidencePreview documentary evidence.
Review the document’s AI-assisted evidence analysis.
Analyse And Review Documentary EvidenceReview the document’s AI-assisted evidence analysis.
Edit and review the documentary analysis.
Analyse And Review Documentary EvidenceEdit and review the documentary analysis.
Review follow-up work and outstanding questions.
Resolve Gaps And Plan Follow-UpReview follow-up work and outstanding questions.
Prepare incident analysis from the reviewed source set.
Generate Analysis From Approved SourcesPrepare incident analysis from the reviewed source set.
Monitor an incident-analysis generation run.
Generate Analysis From Approved SourcesMonitor an incident-analysis generation run.
Read the incident-analysis overview.
Explore Findings And Their EvidenceRead the incident-analysis overview.
Inspect findings and their supporting contributions.
Explore Findings And Their EvidenceInspect findings and their supporting contributions.
Explore relationships between incident findings.
Review Relationships, Gaps And ActionsExplore relationships between incident findings.
Inspect the incident-level fishbone view.
Review Relationships, Gaps And ActionsInspect the incident-level fishbone view.
Review unresolved gaps and proposed actions.
Review Relationships, Gaps And ActionsReview unresolved gaps and proposed actions.
Columbo Landing Page
System & Supporting ViewsColumbo Landing Page
Database Relationship Diagram
System & Supporting ViewsDatabase Relationship Diagram
Incident Interview Depth
System & Supporting ViewsIncident Interview Depth
Incident Interview Framework
System & Supporting ViewsIncident Interview Framework
current_langgraph_components
System & Supporting Viewscurrent_langgraph_components
langgraph_document_evidence_analysis_workflow
System & Supporting Viewslanggraph_document_evidence_analysis_workflow
langgraph_document_processing_workflow
System & Supporting Viewslanggraph_document_processing_workflow
langgraph_incident_analysis_workflow
System & Supporting Viewslanggraph_incident_analysis_workflow
langgraph_live_interview_workflow
System & Supporting Viewslanggraph_live_interview_workflow
langgraph_post_interview_analysis_workflow
System & Supporting Viewslanggraph_post_interview_analysis_workflow
langgraph_transcript_analysis_workflow
System & Supporting Viewslanggraph_transcript_analysis_workflow

Experience In Practice

Skills Applied

View All Skills

How The System Fits Together

System Architecture

Columbo system architecture: frontend, backend, workers, storage and AI services. The supplied design includes the earlier Pinecone integration.
Columbo system architecture: frontend, backend, workers, storage and AI services. The supplied design includes the earlier Pinecone integration.

A Walk Through The Software

From Start To Finish

Follow an investigation from its initial details and approved scope through interviews, documentary evidence and reviewed incident findings.

Step 01

Start In The Investigation Workspace

The administrator dashboard brings the organisation’s investigations into one workspace. User management supplies the people who can be selected as stakeholders for an investigation.

Administrator dashboard and investigation workspace.
Administrator dashboard and investigation workspace.
User overview for the organisation.
User overview for the organisation.

Step 02

Create The Incident And Its Context

The investigator records the assessment name, description and structured incident details. Supporting documents can inform those details before the investigation scope is approved. The application keeps this contextual information distinct from evidence used to support findings.

Create the incident and record its initial details.
Create the incident and record its initial details.
Attach supporting documents during incident creation.
Attach supporting documents during incident creation.
Review the documents attached to the assessment.
Review the documents attached to the assessment.

Step 03

Select The Investigation Framework

The selected investigation framework supplies the taxonomy used to organise scope and later analysis. The framework gives the system a consistent structure for the type of inquiry being conducted.

Select the investigation framework.
Select the investigation framework.
Framework and thematic structure used to organise the inquiry.
Framework and thematic structure used to organise the inquiry.

Step 04

Choose Stakeholders And Interview Depth

Stakeholder selection creates the interview assignments. Interview depth sets the amount of investigation the engine should pursue; it remains editable until an interview starts. Once started, an interview retains the scope and depth that governed it.

Select the stakeholders to interview.
Select the stakeholders to interview.
Set the depth of the planned interviews.
Set the depth of the planned interviews.

Step 05

Review And Approve The Scope

The system derives an investigation scope from the incident details and framework. A human approves the exact scope revision before interviews or substantive analysis begin. Once investigation work starts, the implemented workflow locks the governing context to avoid silently changing ongoing work.

Review the investigation scope.
Review the investigation scope.
Administer interviews within the investigation workspace.
Administer interviews within the investigation workspace.

Step 06

Conduct The User Interview

The introduction establishes the stakeholder’s role and knowledge of the incident. During the conversation, the engine interprets responses, tracks evidence and unresolved questions, and selects the next line of inquiry. Application logic controls scope and progression while the language model drafts questions within those constraints.

Introduce the interview and establish the stakeholder’s perspective.
Introduce the interview and establish the stakeholder’s perspective.
The live evidence-led interview interface.
The live evidence-led interview interface.

Step 07

Review The Individual Interview Analysis

A completed interview becomes a versioned analysis for investigator review. Findings remain linked to the stakeholder’s evidence, with scope coverage and follow-up recorded alongside them. This analysis describes one source’s contribution; it is not yet the final cross-source incident conclusion.

Review findings from an individual interview.
Review findings from an individual interview.
Inspect the interview’s structured fishbone view.
Inspect the interview’s structured fishbone view.

Step 08

Analyse And Review Documentary Evidence

Documents may be uploaded before an interview, in response to a question, or to satisfy follow-up requests. The document workflow preserves why an artefact was supplied and analyses what it establishes. Investigators inspect, edit and approve the analysis before it becomes reviewed evidence for synthesis.

Preview documentary evidence.
Preview documentary evidence.
Review the document’s AI-assisted evidence analysis.
Review the document’s AI-assisted evidence analysis.
Edit and review the documentary analysis.
Edit and review the documentary analysis.

Step 09

Resolve Gaps And Plan Follow-Up

Individual analysis identifies unanswered questions and proportionate follow-up. Documentary requests require human approval before they become active work. Further evidence adds to the investigation without rewriting what a previous interview originally established.

Review follow-up work and outstanding questions.
Review follow-up work and outstanding questions.

Step 10

Generate Analysis From Approved Sources

The incident-analysis workspace checks that its upstream sources are approved and ready. Generation uses an exact source set, with versions and provenance retained. A later source change can make the result stale, so regeneration and review remain explicit actions.

Prepare incident analysis from the reviewed source set.
Prepare incident analysis from the reviewed source set.
Monitor an incident-analysis generation run.
Monitor an incident-analysis generation run.

Step 11

Explore Findings And Their Evidence

The completed workspace brings the incident overview and taxonomy-grouped findings together. Each finding retains contributions back to the approved interview or document evidence. Shared-origin checks prevent repeated excerpts from being treated as independent corroboration.

Read the incident-analysis overview.
Read the incident-analysis overview.
Inspect findings and their supporting contributions.
Inspect findings and their supporting contributions.

Step 12

Review Relationships, Gaps And Actions

Relationship and fishbone views make the structure of the analysis easier to inspect. Scope gaps and proposed actions remain visible alongside the findings. Human editing and approval create reviewable versions rather than silently overwriting the generated result.

Explore relationships between incident findings.
Explore relationships between incident findings.
Inspect the incident-level fishbone view.
Inspect the incident-level fishbone view.
Review unresolved gaps and proposed actions.
Review unresolved gaps and proposed actions.

A Finding Needs An Evidence Trail.

Investigations draw on different accounts, documents and incomplete information. An AI-generated summary is useful only if a reviewer can understand where a claim came from, what supports it and what remains unresolved.

Columbo structures that process around approved scope, evidence-led interviews, source analysis and human review. Separate investigation profiles allow the same platform to support different kinds of inquiry.

Full-Stack Software With Explicit AI Boundaries.

As a software engineer at Cause X, my work spans the full-stack application and AI workflows: React interfaces, FastAPI services, PostgreSQL, LangGraph orchestration, retrieval-augmented generation and CI/CD.

The system keeps interview strategy and analytical authority in application logic. Models interpret responses and draft questions within structured contracts; the application manages scope, evidence gaps, transitions, provenance and approval.

  • Persisted interview state tracks evidence, knowledge boundaries and unanswered questions.
  • Transcript ingestion preserves speaker attribution before analytical interpretation.
  • Incident synthesis uses approved sources and produces immutable versions for review.

Build Trust Into The Workflow.

Repeated material must not appear to be independent corroboration. Source-origin checks and exact evidence links preserve the distinction between multiple excerpts and multiple independent accounts.

Frontend loading boundaries are also separate from authorization. Role-specific React bundles reduce unnecessary downloads, while the backend remains responsible for organization, role and record access.

The Engineering Journey

Follow The Evidence

The interview engine evolved from stage-based dialogue to persisted evidence and gap tracking, with constrained question planning and review.

Preserve Each Source

Transcript and document workflows retain attribution, source locations and limitations before handing evidence to profile-specific analysis.

Make Conclusions Reviewable

Approved sources feed cross-source synthesis. Versioned findings retain contribution links, qualifications and human approval decisions.

Refine Delivery

Role-aware loading separates the public login shell, authenticated application and larger feature routes. Bundle checks guard those boundaries.

What This Experience Achieved

The result

The project combines evidence-led interviews, documentary analysis and reviewable incident synthesis. A documented frontend iteration reduced the JavaScript required to render login by 62.17% in a local production-build measurement.

Technical decisions & tools

The live interview graph rebuilds its state from the relational database on each turn. Its persisted evidence ledger, scope-gap queue and source memory provide continuity beyond a single model response.

Investigation meaning belongs to registered profiles. Shared orchestration owns structured contracts, compatibility, provenance and review; approved source manifests and hashes protect incident analysis from stale or incompatible inputs.

The documented retrieval migration moves reads to PostgreSQL/pgvector while temporarily retaining dual writes to the previous vector store as a rollback path. Existing embeddings are reused across both stores.

The frontend verification record measures login JavaScript at 654,078 versus 247,426 gzip bytes. It records 247 passing frontend tests and a fresh-browser smoke check against a production build. This is local release evidence; authenticated role-session traces and production telemetry remained separate release checks.

ReactFastAPIPythonPostgreSQLpgvectorLangGraphRAGCI/CD