[{"data":1,"prerenderedAt":323},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fautomotive-supply-chain-neo4j-capstone":71,"\u002Fblog\u002Fautomotive-supply-chain-neo4j-capstone-surround":318},[4,58],{"title":5,"path":6,"stem":7,"children":8,"page":57},"Blog","\u002Fblog","blog",[9,13,17,21,25,29,33,37,41,45,49,53],{"title":10,"path":11,"stem":12},"Decoding Sentiment: Analysis of 4 Million Amazon Reviews","\u002Fblog\u002Famazon-review-sentiment-capstone","blog\u002Famazon-review-sentiment-capstone",{"title":14,"path":15,"stem":16},"Analyzing a Healthcare Knowledge Graph with Cypher and Graph Data Science","\u002Fblog\u002Fanalyzing-a-healthcare-knowledge-graph-with-cypher-and-gds","blog\u002Fanalyzing-a-healthcare-knowledge-graph-with-cypher-and-gds",{"title":18,"path":19,"stem":20},"Navigating the Web: Prioritizing Supply Chain Risk with Neo4j","\u002Fblog\u002Fautomotive-supply-chain-neo4j-capstone","blog\u002Fautomotive-supply-chain-neo4j-capstone",{"title":22,"path":23,"stem":24},"My First AWS Adventure: Building a Sentiment Analysis System on a Budget","\u002Fblog\u002Faws-sentiment-analysis-journey","blog\u002Faws-sentiment-analysis-journey",{"title":26,"path":27,"stem":28},"Building a Hybrid Movie Recommender with Neo4j and Graph Data Science","\u002Fblog\u002Fbuilding-a-hybrid-movie-recommender-with-neo4j-and-gds","blog\u002Fbuilding-a-hybrid-movie-recommender-with-neo4j-and-gds",{"title":30,"path":31,"stem":32},"Designing and Building a Neo4j Knowledge Graph from Relational Data","\u002Fblog\u002Fdesigning-and-building-a-neo4j-knowledge-graph-from-relational-data","blog\u002Fdesigning-and-building-a-neo4j-knowledge-graph-from-relational-data",{"title":34,"path":35,"stem":36},"Developing a GraphRAG Research Chatbot with Neo4j","\u002Fblog\u002Fdeveloping-a-graphrag-research-chatbot-with-neo4j","blog\u002Fdeveloping-a-graphrag-research-chatbot-with-neo4j",{"title":38,"path":39,"stem":40},"From Code to Insights: My Journey from Software Development to Data Analytics","\u002Fblog\u002Ffrom-code-to-insights-journey","blog\u002Ffrom-code-to-insights-journey",{"title":42,"path":43,"stem":44},"Predicting Hospital Readmissions: A Machine Learning Journey","\u002Fblog\u002Fhospital-readmissions","blog\u002Fhospital-readmissions",{"title":46,"path":47,"stem":48},"My First Steps into Graph Databases: Learning Neo4j Fundamentals","\u002Fblog\u002Fneo4j-graph-databases-fundamentals","blog\u002Fneo4j-graph-databases-fundamentals",{"title":50,"path":51,"stem":52},"Building a Serverless ETL Pipeline on AWS: From Raw Data to Interactive Dashboards","\u002Fblog\u002Fserverless-etl-pipeline-aws","blog\u002Fserverless-etl-pipeline-aws",{"title":54,"path":55,"stem":56},"From Traffic Violations to Safety Culture: My Data Analytics Framework","\u002Fblog\u002Ftraffic-violation-analytics-framework","blog\u002Ftraffic-violation-analytics-framework",false,{"title":59,"path":60,"stem":61,"children":62,"page":57},"Publications","\u002Fpublications","publications",[63,67],{"title":64,"path":65,"stem":66},"PCT-led early warning vital sign escalation","\u002Fpublications\u002Fpct-led-early-warning-escalation","publications\u002Fpct-led-early-warning-escalation",{"title":68,"path":69,"stem":70},"Reducing Phlebotomy Redraws Through Pre-Analytic SOPs: Training, Fidelity, and Outcome Metrics from a Community Hospital","\u002Fpublications\u002Freducing-phlebotomy-redraws-pre-analytic-sops","publications\u002Freducing-phlebotomy-redraws-pre-analytic-sops",{"id":72,"title":18,"author":73,"body":77,"date":303,"description":304,"extension":305,"image":306,"meta":307,"minRead":315,"navigation":222,"path":19,"seo":316,"stem":20,"__hash__":317},"blog\u002Fblog\u002Fautomotive-supply-chain-neo4j-capstone.md",{"name":74,"avatar":75},"Peter Mangoro",{"src":76,"alt":74},"\u002Fprofile.jpg",{"type":78,"value":79,"toc":293},"minimark",[80,97,102,109,121,125,128,155,159,177,184,188,239,243,270,274,285],[81,82,83,84,88,89,92,93,96],"p",{},"Modern automotive supply chains are less like a line and more like a ",[85,86,87],"strong",{},"web",": one weak link can cascade through tiers of bill-of-materials (BOM) relationships. At capstone scale—tens of thousands of products and ",[85,90,91],{},"87,000+"," BOM dependency edges—relational “recursive join” thinking starts to fight you. Graphs match the problem shape: ",[85,94,95],{},"hop directly"," along dependencies instead of repeatedly stitching tables.",[98,99,101],"h2",{"id":100},"team-context","Team context",[81,103,104,105,108],{},"This capstone was completed ",[85,106,107],{},"as a group",". Team members  were:",[110,111,112,116,118],"ul",{},[113,114,115],"li",{},"Bekithemba Nkomo",[113,117,74],{},[113,119,120],{},"Masheia Dzimba",[98,122,124],{"id":123},"what-we-set-out-to-do","What we set out to do",[81,126,127],{},"Build a Neo4j-backed analytics story that:",[110,129,130,137,144],{},[113,131,132,133,136],{},"Makes ",[85,134,135],{},"multi-tier BOM risk"," visible (concentration, fragile corridors, single-point pressure).",[113,138,139,140,143],{},"Uses ",[85,141,142],{},"graph algorithms"," to prioritize where to act first when time and budget are finite.",[113,145,146,147,150,151,154],{},"Contrasts ",[85,148,149],{},"graph traversal"," with the performance and mental overhead of deep ",[85,152,153],{},"recursive joins"," in relational designs.",[98,156,158],{"id":157},"how-the-graph-helps","How the graph helps",[110,160,161,167],{},[113,162,163,166],{},[85,164,165],{},"PageRank (node criticality)"," highlights high-influence chokepoints—often OEM-adjacent facilities or hubs that sit on many dependency paths—so resilience work targets nodes that actually move the needle.",[113,168,169,172,173,176],{},[85,170,171],{},"Leiden community detection"," collapses thousands of SKUs into ",[85,174,175],{},"coherent modules"," (for example powertrain vs. interior groupings in the narrative visualization), which is useful for monitoring, simulation scoping, and communication with non-graph stakeholders.",[81,178,179,180,183],{},"Together, these outputs support ",[85,181,182],{},"faster disruption triage",": a ranked view of what matters most instead of treating every edge as equally urgent.",[98,185,187],{"id":186},"demo-walkthrough","Demo walkthrough",[189,190,199,200,199,223],"section",{"className":191,"ariaLabel":198},[192,193,194,195,196,197],"not-prose","my-8","mb-14","w-full","shrink-0","clear-both","Capstone demo video","\n  ",[201,202,210,211,199],"div",{"className":203,"style":209},[204,195,205,206,207,208],"relative","overflow-hidden","rounded-lg","border","border-default","aspect-ratio: 16 \u002F 9;","\n    ",[212,213],"iframe",{"src":214,"title":215,"className":216,"allow":221,"allowFullScreen":222},"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fx0dg0TjjiPI","Automotive supply chain Neo4j capstone — demo walkthrough",[217,218,219,195,220],"absolute","inset-0","h-full","border-0","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",true,[81,224,210,229,238],{"className":225},[226,227,228],"mt-3","text-sm","text-muted",[230,231,237],"a",{"href":232,"target":233,"rel":234},"https:\u002F\u002Fyoutu.be\u002Fx0dg0TjjiPI","_blank",[235,236],"noopener","noreferrer","Open on YouTube","\n    if the player does not load.\n  ",[98,240,242],{"id":241},"artifacts","Artifacts",[110,244,245,260],{},[113,246,247,250,251],{},[85,248,249],{},"Code and notebooks",": ",[230,252,255,256],{"href":253,"target":233,"rel":254},"https:\u002F\u002Fgithub.com\u002FPeterMangoro\u002Fneo4j\u002Ftree\u002Fmain\u002FfinalProject",[235,236],"GitHub — ",[257,258,259],"code",{},"finalProject",[113,261,262,250,265],{},[85,263,264],{},"Written submission (PDF)",[230,266,269],{"href":267,"target":233,"rel":268},"\u002Fneo4j\u002FAutomotiveSupplyChain.pdf",[235],"Automotive Supply Chain — group written submission (PDF)",[98,271,273],{"id":272},"what-i-learned","What I learned",[81,275,276,277,280,281,284],{},"Graph analytics shines when the ",[85,278,279],{},"question is inherently path- and neighborhood-shaped","—supply risk, propagation, and “what breaks if this node fails?” are exactly that. On our team, the hard part was not only running algorithms, but ",[85,282,283],{},"curating the projection",": which relationships matter as undirected risk vs. directed flow, and how communities align with real operational units.",[81,286,287,288,292],{},"If you are exploring similar work, start from a crisp definition of BOM semantics (multiplicity, direction, and what an edge ",[289,290,291],"em",{},"means","), then let PageRank and community detection stress-test whether your graph tells the same story the business tells.",{"title":294,"searchDepth":295,"depth":295,"links":296},"",2,[297,298,299,300,301,302],{"id":100,"depth":295,"text":101},{"id":123,"depth":295,"text":124},{"id":157,"depth":295,"text":158},{"id":186,"depth":295,"text":187},{"id":241,"depth":295,"text":242},{"id":272,"depth":295,"text":273},"2026-05-14","Group capstone: modeling automotive BOM dependencies in Neo4j and using PageRank and Leiden community detection to surface chokepoints and modular risk—plus demo video and full submission.","md","\u002Fneo4j\u002Finfographic.png",{"tags":308},[309,310,311,312,313,314],"Neo4j","Graph Data Science","Supply Chain","PageRank","Leiden","Capstone",9,{"title":18,"description":304},"9fT6swuSKnIjP58VA-h-kQQqZ7InAdNQe7Tg0PGwzo0",[319,321],{"title":14,"path":15,"stem":16,"description":320,"children":-1},"How I explored a FAERS-style healthcare graph, moved from Cypher EDA to GDS workflows, and turned graph results into practical analytical insights.",{"title":22,"path":23,"stem":24,"description":322,"children":-1},"From zero to production-ready: How I built a full-stack sentiment analysis platform entirely within AWS Free Tier, exploring serverless architecture, cost optimization, and creative problem-solving along the way.",1780158383442]