[{"data":1,"prerenderedAt":601},["ShallowReactive",2],{"projects":3},[4,57,102,131,151,190,237,274,314,334,360,379,399,419,439,459,489,508,527,546,565,583],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"name":11,"date":12,"source_url":13,"img1_url":14,"img1_full_url":15,"skills":16,"body":17,"_type":51,"_id":52,"_source":53,"_file":54,"_stem":55,"_extension":56},"\u002Fprojects\u002F0-belay","projects",false,"","0 Belay","\nAn enterprise knowledge graph combining GitHub, Jira and Backstage, exposed via MCP and paired with agentic skills across the product development lifecycle.\n\nNodes are people, commits, tickets and epics. Built during the OTTO Tech Quality Days (2-week cross-team hackathon, June 2026).\n\nAlready supports multiple initiatives, saving dozens of hours of research.\n","Belay","2026","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Femilia-matz","\u002Fstatic\u002Fbelay.jpg","\u002Fstatic\u002Fbelay-full.jpg","Knowledge Graphs, Neo4j, MCP, GitHub, Jira, Backstage, Agent Engineering",{"type":18,"children":19,"toc":48},"root",[20,45],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25,28,32,34,37,39,42],{"type":26,"value":27},"text","\nAn enterprise knowledge graph combining GitHub, Jira and Backstage, exposed via MCP and paired with agentic skills across the product development lifecycle.\n",{"type":21,"tag":29,"props":30,"children":31},"br",{},[],{"type":26,"value":33},"\nNodes are people, commits, tickets and epics. Built during the OTTO Tech Quality Days (2-week cross-team hackathon, June 2026).\n",{"type":21,"tag":29,"props":35,"children":36},{},[],{"type":26,"value":38},"\nAlready supports multiple initiatives, saving dozens of hours of research.\n",{"type":21,"tag":29,"props":40,"children":41},{},[],{"type":21,"tag":29,"props":43,"children":44},{},[],{"type":21,"tag":29,"props":46,"children":47},{},[],{"title":8,"searchDepth":49,"depth":49,"links":50},2,[],"markdown","content:projects:0-belay.md","content","projects\u002F0-belay.md","projects\u002F0-belay","md",{"_path":58,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":59,"description":60,"name":61,"date":12,"source_url":62,"source_label":63,"img1_url":64,"skills":65,"body":66,"_type":51,"_id":99,"_source":53,"_file":100,"_stem":101,"_extension":56},"\u002Fprojects\u002F0a-adra","0a Adra","\nPoint your phone camera at your food and Adra identifies the meal, breaks it down into ingredients and tracks your calories and macros. Barcode scanning, reading nutrition labels and manual corrections included.\n\nThe recognition is real on-device AI: the model runs locally on the phone, so there is no account, no cloud and no uploaded photos. It works fully offline.\n","Adra","https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=works.matz.adra","Google Play","\u002Fstatic\u002Fadra.jpg","Edge AI, CLIP, TIGER, Flutter",{"type":18,"children":67,"toc":97},[68,94],{"type":21,"tag":22,"props":69,"children":70},{},[71,73,76,78,81,83,86,88,91],{"type":26,"value":72},"\nPoint your phone camera at your food and Adra identifies the meal, breaks it down into ingredients and tracks your calories and macros. Barcode scanning, reading nutrition labels and manual corrections included.\n",{"type":21,"tag":29,"props":74,"children":75},{},[],{"type":26,"value":77},"\nThe recognition is real on-device AI:",{"type":21,"tag":29,"props":79,"children":80},{},[],{"type":26,"value":82}," the model runs locally on the phone, so there is no account, no cloud and no uploaded photos. ",{"type":21,"tag":29,"props":84,"children":85},{},[],{"type":26,"value":87},"It works fully offline.\n",{"type":21,"tag":29,"props":89,"children":90},{},[],{"type":21,"tag":29,"props":92,"children":93},{},[],{"type":21,"tag":29,"props":95,"children":96},{},[],{"title":8,"searchDepth":49,"depth":49,"links":98},[],"content:projects:0a-adra.md","projects\u002F0a-adra.md","projects\u002F0a-adra",{"_path":103,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":104,"description":105,"name":106,"date":107,"source_url":108,"video_url":109,"skills":110,"body":111,"_type":51,"_id":128,"_source":53,"_file":129,"_stem":130,"_extension":56},"\u002Fprojects\u002F0b-sciscore","0b Sciscore","\nMaps, visualizes and ranks academic papers by their references using PageRank.\n","SciScore","2024","https:\u002F\u002Fgithub.com\u002FAskill\u002FSciScore","\u002Fstatic\u002Fsciscore.mp4","TypeScript, PageRank, Graphs, Data Visualization",{"type":18,"children":112,"toc":126},[113,123],{"type":21,"tag":22,"props":114,"children":115},{},[116,117,120],{"type":26,"value":105},{"type":21,"tag":29,"props":118,"children":119},{},[],{"type":21,"tag":29,"props":121,"children":122},{},[],{"type":21,"tag":29,"props":124,"children":125},{},[],{"title":8,"searchDepth":49,"depth":49,"links":127},[],"content:projects:0b-sciscore.md","projects\u002F0b-sciscore.md","projects\u002F0b-sciscore",{"_path":132,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":133,"description":134,"name":135,"date":136,"source_url":137,"video_url":138,"skills":139,"body":140,"_type":51,"_id":148,"_source":53,"_file":149,"_stem":150,"_extension":56},"\u002Fprojects\u002F0c-videosynopsis","0c Videosynopsis","\nA Python based project to summarize and classify all events in the video of a static camera. The classification could be done with several classifiers one after the other or in parallel to allow for more accurate filtering.  \n","Video Synopsis","2020","https:\u002F\u002Fgithub.com\u002FAskill\u002FVideo-Synopsis","\u002Fstatic\u002Fx23.mp4","Backend, Python, Video Processing, MLP, Multiprocssing, Object Detection, OpenCV, numpy, tensorflow",{"type":18,"children":141,"toc":146},[142],{"type":21,"tag":22,"props":143,"children":144},{},[145],{"type":26,"value":134},{"title":8,"searchDepth":49,"depth":49,"links":147},[],"content:projects:0c-videosynopsis.md","projects\u002F0c-videosynopsis.md","projects\u002F0c-videosynopsis",{"_path":152,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":153,"description":154,"name":155,"date":12,"source_url":156,"img1_url":157,"skills":158,"body":159,"_type":51,"_id":187,"_source":53,"_file":188,"_stem":189,"_extension":56},"\u002Fprojects\u002F0d-skei","0d Skei","\nA high-performance interactive visualization and query interface for very large Neo4j graphs. Layouts complete in under 3 seconds even for graphs larger than 10k nodes and 15k edges.\n\nRun Cypher queries and render the result as both graph and table views, with zoom, pan, search, highlighting and minimap support.\n\nBuilt as a general purpose WebGPU frontend for very large Neo4j graphs.\n","Skei","https:\u002F\u002Fgithub.com\u002FAskill\u002FSkei","\u002Fstatic\u002Fskei.jpg","Neo4j, Cypher, WebGPU, D3, Canvas, Python, Graphs",{"type":18,"children":160,"toc":185},[161,182],{"type":21,"tag":22,"props":162,"children":163},{},[164,166,169,171,174,176,179],{"type":26,"value":165},"\nA high-performance interactive visualization and query interface for very large Neo4j graphs. Layouts complete in under 3 seconds even for graphs larger than 10k nodes and 15k edges.\n",{"type":21,"tag":29,"props":167,"children":168},{},[],{"type":26,"value":170},"\nRun Cypher queries and render the result as both graph and table views, with zoom, pan, search, highlighting and minimap support.\n",{"type":21,"tag":29,"props":172,"children":173},{},[],{"type":26,"value":175},"\nBuilt as a general purpose WebGPU frontend for very large Neo4j graphs.\n",{"type":21,"tag":29,"props":177,"children":178},{},[],{"type":21,"tag":29,"props":180,"children":181},{},[],{"type":21,"tag":29,"props":183,"children":184},{},[],{"title":8,"searchDepth":49,"depth":49,"links":186},[],"content:projects:0d-skei.md","projects\u002F0d-skei.md","projects\u002F0d-skei",{"_path":191,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":192,"description":193,"name":194,"date":12,"skills":195,"body":196,"_type":51,"_id":234,"_source":53,"_file":235,"_stem":236,"_extension":56},"\u002Fprojects\u002F0e-argus-arachne-odysseu","0e Argus Arachne Odysseu","\nAn investigation platform built around a master data graph in Neo4j that fuses targeted web searches, the ICIJ offshore leaks and other public records with photo and location intelligence.\n\nThe core is large-scale event image processing: Argus runs state-of-the-art face recognition over event photo archives, matches faces even when masked (masked detections enter the graph as lower-confidence evidence tiers) and clusters them into persons. Similarity distributions and a human curated calibration dataset guard against wrong merges.\n\nArachne models the places, groups of people on multiple hierarchical levels and how they relate; Odysseu grounds them in real-world geography with administrative containment, distances and travel times.\n\nAutonomous research agents extend it: open questions get broken into competing hypotheses, researched in parallel across the web, verified against sources, and what survives is filed back into the graph.\n\nTogether the three act as one: who appeared at which events, how individuals connect to each other, events, and other entities all queryable in a single graph.\n","Argus, Arachne and Odysseu","Neo4j, Master Data Graph, Facial Recognition, Graph Analytics, Location Intelligence, OSINT",{"type":18,"children":197,"toc":232},[198,229],{"type":21,"tag":22,"props":199,"children":200},{},[201,203,206,208,211,213,216,218,221,223,226],{"type":26,"value":202},"\nAn investigation platform built around a master data graph in Neo4j that fuses targeted web searches, the ICIJ offshore leaks and other public records with photo and location intelligence.\n",{"type":21,"tag":29,"props":204,"children":205},{},[],{"type":26,"value":207},"\nThe core is large-scale event image processing: Argus runs state-of-the-art face recognition over event photo archives, matches faces even when masked (masked detections enter the graph as lower-confidence evidence tiers) and clusters them into persons. Similarity distributions and a human curated calibration dataset guard against wrong merges.\n",{"type":21,"tag":29,"props":209,"children":210},{},[],{"type":26,"value":212},"\nArachne models the places, groups of people on multiple hierarchical levels and how they relate; Odysseu grounds them in real-world geography with administrative containment, distances and travel times.\n",{"type":21,"tag":29,"props":214,"children":215},{},[],{"type":26,"value":217},"\nAutonomous research agents extend it: open questions get broken into competing hypotheses, researched in parallel across the web, verified against sources, and what survives is filed back into the graph.\n",{"type":21,"tag":29,"props":219,"children":220},{},[],{"type":26,"value":222},"\nTogether the three act as one: who appeared at which events, how individuals connect to each other, events, and other entities all queryable in a single graph.\n",{"type":21,"tag":29,"props":224,"children":225},{},[],{"type":21,"tag":29,"props":227,"children":228},{},[],{"type":21,"tag":29,"props":230,"children":231},{},[],{"title":8,"searchDepth":49,"depth":49,"links":233},[],"content:projects:0e-argus-arachne-odysseu.md","projects\u002F0e-argus-arachne-odysseu.md","projects\u002F0e-argus-arachne-odysseu",{"_path":238,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":239,"description":240,"name":241,"date":12,"skills":242,"body":243,"_type":51,"_id":271,"_source":53,"_file":272,"_stem":273,"_extension":56},"\u002Fprojects\u002F0f-wyden","0f Wyden","\nWyden builds a knowledge graph from a large document corpus: it reads hundreds of thousands of PDFs on local hardware, extracts the entities (people, organizations, events) and their relations, and merges duplicate identities into one node.\n\nA chat agent on top answers questions from the graph, with web search as a fallback when the graph does not know.\n\nThe whole pipeline runs on local hardware with local models, so no document ever leaves it.\n","Wyden","Neo4j, Knowledge Graphs, Local LLMs, Python",{"type":18,"children":244,"toc":269},[245,266],{"type":21,"tag":22,"props":246,"children":247},{},[248,250,253,255,258,260,263],{"type":26,"value":249},"\nWyden builds a knowledge graph from a large document corpus: it reads hundreds of thousands of PDFs on local hardware, extracts the entities (people, organizations, events) and their relations, and merges duplicate identities into one node.\n",{"type":21,"tag":29,"props":251,"children":252},{},[],{"type":26,"value":254},"\nA chat agent on top answers questions from the graph, with web search as a fallback when the graph does not know.\n",{"type":21,"tag":29,"props":256,"children":257},{},[],{"type":26,"value":259},"\nThe whole pipeline runs on local hardware with local models, so no document ever leaves it.\n",{"type":21,"tag":29,"props":261,"children":262},{},[],{"type":21,"tag":29,"props":264,"children":265},{},[],{"type":21,"tag":29,"props":267,"children":268},{},[],{"title":8,"searchDepth":49,"depth":49,"links":270},[],"content:projects:0f-wyden.md","projects\u002F0f-wyden.md","projects\u002F0f-wyden",{"_path":275,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":276,"description":277,"name":278,"date":279,"source_url":280,"img1_url":281,"skills":282,"body":283,"_type":51,"_id":311,"_source":53,"_file":312,"_stem":313,"_extension":56},"\u002Fprojects\u002F1-recipes","1 Recipes","\nA web app for finding recipes that can be cooked with ingredients you already have.\n\nInteresting for students, the ecologically conscious or people in (covid-)isolation who do not want to leave the home.\n","Inverse Recipe Finder","2019","https:\u002F\u002Fgithub.com\u002FAskill\u002FInverse-Rezeptsuche","\u002Fstatic\u002F4.png","Fullstack, Webscraping, Python, JS, PostgreSQL, Pandas, ORM, Flask, FlaskRESTful, SQLAlchemy, NLP, Data Engineering",{"type":18,"children":284,"toc":309},[285,295,306],{"type":21,"tag":22,"props":286,"children":287},{},[288,290,293],{"type":26,"value":289},"\nA web app for finding recipes that can be cooked with ingredients you already have.\n",{"type":21,"tag":29,"props":291,"children":292},{},[],{"type":26,"value":294},"\nInteresting for students, the ecologically conscious or people in (covid-)isolation who do not want to leave the home.\n",{"type":21,"tag":22,"props":296,"children":297},{},[298,300,303],{"type":26,"value":299},"Queries are performed on a dataset of 10,000 recipes and take less than 0.5s.\n",{"type":21,"tag":29,"props":301,"children":302},{},[],{"type":21,"tag":29,"props":304,"children":305},{},[],{"type":21,"tag":29,"props":307,"children":308},{},[],{"title":8,"searchDepth":49,"depth":49,"links":310},[],"content:projects:1-recipes.md","projects\u002F1-recipes.md","projects\u002F1-recipes",{"_path":315,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":316,"description":317,"name":318,"date":319,"demo_url":320,"img1_url":321,"skills":322,"body":323,"_type":51,"_id":331,"_source":53,"_file":332,"_stem":333,"_extension":56},"\u002Fprojects\u002F3-personal","3 Personal","\nMy personal website, that you are currently on. Written in NUXT, which combines NEXTjs and Vue3.\n","Personal Website","2023","https:\u002F\u002Femiliamatz.de\u002Fprojects","\u002Fstatic\u002Fpersonal.png","Fullstack, JS, NUXT, Vue3, Next",{"type":18,"children":324,"toc":329},[325],{"type":21,"tag":22,"props":326,"children":327},{},[328],{"type":26,"value":317},{"title":8,"searchDepth":49,"depth":49,"links":330},[],"content:projects:3-personal.md","projects\u002F3-personal.md","projects\u002F3-personal",{"_path":335,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":336,"description":337,"name":338,"date":339,"source_url":340,"img1_url":341,"skills":342,"body":343,"_type":51,"_id":357,"_source":53,"_file":358,"_stem":359,"_extension":56},"\u002Fprojects\u002F4-ioi","4 Ioi","\nA Python and C# based HS project.\n\nEnables simultaneous monitoring of multiple video streams and control of connected devices\ndepending on whether there are people in the monitored area.\nThis project uses a CNN pre-trained by Google.\n","IoI (Interaction without Interaction)","2018","https:\u002F\u002Fgithub.com\u002FAskill\u002FUI","\u002Fstatic\u002FIoI.png","Fullstack, Python, C#, Video Processing, VideoStreaming, MLP, Object Detection, OpenCV, numpy, tensorflow",{"type":18,"children":344,"toc":355},[345],{"type":21,"tag":22,"props":346,"children":347},{},[348,350,353],{"type":26,"value":349},"\nA Python and C# based HS project.\n",{"type":21,"tag":29,"props":351,"children":352},{},[],{"type":26,"value":354},"\nEnables simultaneous monitoring of multiple video streams and control of connected devices\ndepending on whether there are people in the monitored area.\nThis project uses a CNN pre-trained by Google.\n",{"title":8,"searchDepth":49,"depth":49,"links":356},[],"content:projects:4-ioi.md","projects\u002F4-ioi.md","projects\u002F4-ioi",{"_path":361,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":362,"description":363,"name":364,"date":136,"source_url":365,"img1_url":366,"skills":367,"body":368,"_type":51,"_id":376,"_source":53,"_file":377,"_stem":378,"_extension":56},"\u002Fprojects\u002F5-facialrecognition","5 Facialrecognition","\nA web app that can be locally deployed on a low powered laptop to perform facial recognition on a live video feed and output data saved in a database for that person. The app uses SQLAlchemy and SQLite for easy deployment, however the DB could be switched out to any other by simply changing the Database URL. It was developed for my biometrics professor to demo to visiting school classes and other visitors.  \n","Facial Recognition (local) web app","https:\u002F\u002Fgithub.com\u002FAskill\u002FFacialRecognition-Demo","https:\u002F\u002Fgithub.com\u002FAskill\u002FFacialRecognition-Demo\u002Fraw\u002Fmaster\u002Fimages\u002F1.png","Fullstack, Python, JS, Facial Recognition, Video Streaming, OpenCV, ORM, SQLAlchemy, SQLite",{"type":18,"children":369,"toc":374},[370],{"type":21,"tag":22,"props":371,"children":372},{},[373],{"type":26,"value":363},{"title":8,"searchDepth":49,"depth":49,"links":375},[],"content:projects:5-facialrecognition.md","projects\u002F5-facialrecognition.md","projects\u002F5-facialrecognition",{"_path":380,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":381,"description":382,"name":383,"date":339,"source_url":384,"img2_url":385,"img1_url":386,"skills":387,"body":388,"_type":51,"_id":396,"_source":53,"_file":397,"_stem":398,"_extension":56},"\u002Fprojects\u002F8-mosaik","8 Mosaik","\nA tool to create mosaics from jpgs, by splitting a given image in x*y chunks and replacing those chunks with the closest match from a number of replacement images. It has a GUI, if you like that sort of thing.  \n","Mosaik","https:\u002F\u002Fgithub.com\u002FAskill\u002Fmosaik","https:\u002F\u002Fgithub.com\u002FAskill\u002Fmosaik\u002Fraw\u002Fmaster\u002Fmerkel.png","https:\u002F\u002Fgithub.com\u002FAskill\u002Fmosaik\u002Fraw\u002Fmaster\u002FDownload.png","Java, Image Processing, GUI",{"type":18,"children":389,"toc":394},[390],{"type":21,"tag":22,"props":391,"children":392},{},[393],{"type":26,"value":382},{"title":8,"searchDepth":49,"depth":49,"links":395},[],"content:projects:8-mosaik.md","projects\u002F8-mosaik.md","projects\u002F8-mosaik",{"_path":400,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":401,"description":402,"name":403,"date":279,"source_url":404,"img2_url":405,"img1_url":406,"skills":407,"body":408,"_type":51,"_id":416,"_source":53,"_file":417,"_stem":418,"_extension":56},"\u002Fprojects\u002F9-lines","9 Lines","\nGenerate a line relief from a picture similar to the cover of Joy Devision's \"Unknown Pleasure\". \n","Img-to-relief","https:\u002F\u002Fgithub.com\u002FAskill\u002FImg-to-relief","https:\u002F\u002Fgithub.com\u002FAskill\u002FImg-to-relief\u002Fraw\u002Fmaster\u002Fmkbhd.png","https:\u002F\u002Fgithub.com\u002FAskill\u002FImg-to-relief\u002Fraw\u002Fmaster\u002FFigure_1.png","Python, Backend",{"type":18,"children":409,"toc":414},[410],{"type":21,"tag":22,"props":411,"children":412},{},[413],{"type":26,"value":402},{"title":8,"searchDepth":49,"depth":49,"links":415},[],"content:projects:9-lines.md","projects\u002F9-lines.md","projects\u002F9-lines",{"_path":420,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":421,"description":422,"name":423,"date":424,"demo_url":425,"img1_url":426,"skills":427,"body":428,"_type":51,"_id":436,"_source":53,"_file":437,"_stem":438,"_extension":56},"\u002Fprojects\u002F9b-sitemapper","9b Sitemapper","\nA Python and JS based web scraper for mapping websites and visualize them as a graph.\n","Site Mapper","2021","\u002Fdemos\u002Fmapper","\u002Fstatic\u002Fgoogle.png","Fullstack, Python, JS, Webscraping, Graphs",{"type":18,"children":429,"toc":434},[430],{"type":21,"tag":22,"props":431,"children":432},{},[433],{"type":26,"value":422},{"title":8,"searchDepth":49,"depth":49,"links":435},[],"content:projects:9b-sitemapper.md","projects\u002F9b-sitemapper.md","projects\u002F9b-sitemapper",{"_path":440,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":441,"description":442,"name":443,"date":279,"source_url":444,"img1_url":445,"demo_url":446,"skills":447,"body":448,"_type":51,"_id":456,"_source":53,"_file":457,"_stem":458,"_extension":56},"\u002Fprojects\u002F9bb-photowall","9bb Photowall","\nA mock-up tool for photographers with a custom JS based 2d render engine.\n","Photo Wall","https:\u002F\u002Fgithub.com\u002FAskill\u002FPhoto-Wall","https:\u002F\u002Fgithub.com\u002FAskill\u002FPhoto-Wall\u002Fblob\u002Fmaster\u002Fmock-it.png?raw=true","\u002Fdemos\u002Fphotowall","Frontend, JS, HTML, CSS, Computer Graphics",{"type":18,"children":449,"toc":454},[450],{"type":21,"tag":22,"props":451,"children":452},{},[453],{"type":26,"value":442},{"title":8,"searchDepth":49,"depth":49,"links":455},[],"content:projects:9bb-photowall.md","projects\u002F9bb-photowall.md","projects\u002F9bb-photowall",{"_path":460,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":461,"description":462,"name":463,"date":464,"source_url":465,"img1_url":466,"skills":467,"body":468,"_type":51,"_id":486,"_source":53,"_file":487,"_stem":488,"_extension":56},"\u002Fprojects\u002F11-place","11 Place","\nA go based  r\u002Fplace clone. \n","r\u002Fplace clone in Go","2022","https:\u002F\u002Fgithub.com\u002FAskill\u002Fr_place","https:\u002F\u002Fgithub.com\u002FAskill\u002Fr_place\u002Fraw\u002Fmain\u002Fimages\u002FgetAll.png","Backend, GOlang, Python, Websockets",{"type":18,"children":469,"toc":484},[470],{"type":21,"tag":22,"props":471,"children":472},{},[473,475,482],{"type":26,"value":474},"\nA go based ",{"type":21,"tag":476,"props":477,"children":479},"a",{"href":478},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FR\u002Fplace",[480],{"type":26,"value":481}," r\u002Fplace",{"type":26,"value":483}," clone. \n",{"title":8,"searchDepth":49,"depth":49,"links":485},[],"content:projects:11-place.md","projects\u002F11-place.md","projects\u002F11-place",{"_path":490,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":491,"description":492,"name":493,"date":464,"source_url":494,"img1_url":495,"skills":496,"body":497,"_type":51,"_id":505,"_source":53,"_file":506,"_stem":507,"_extension":56},"\u002Fprojects\u002F12a-optar","12a Optar","\nThis tool crawls all pages on a given website to the provided depth and finds new pages by comparing the new site tree to the cached one. All new pages are then checked to contain any of the provided keywords. If there is a match the page will be highlighted for the reader. Default timeout 1h, list of keywords and sites can be changed while the software is running.  \n","Optar","https:\u002F\u002Fgithub.com\u002FAskill\u002Foptar","\u002Fstatic\u002Foptar.png","Backend, Python, Webscraping",{"type":18,"children":498,"toc":503},[499],{"type":21,"tag":22,"props":500,"children":501},{},[502],{"type":26,"value":492},{"title":8,"searchDepth":49,"depth":49,"links":504},[],"content:projects:12a-optar.md","projects\u002F12a-optar.md","projects\u002F12a-optar",{"_path":509,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":510,"description":511,"name":512,"date":279,"source_url":513,"img1_url":514,"skills":515,"body":516,"_type":51,"_id":524,"_source":53,"_file":525,"_stem":526,"_extension":56},"\u002Fprojects\u002F12b-survbot","12b Survbot","\nThis daemon monitors a video feed and notifies the user via a telegram bot if motion has been detected. It can be enabled\u002Fdisabled via chat commands (\"\u002Fstart\", \"\u002Fstop\")  \n","SurvBot","https:\u002F\u002Fgithub.com\u002FAskill\u002FSurvBot","\u002Fstatic\u002Fsurvbot.png","Backend, Python, Video Processing, Flask, OpenCV",{"type":18,"children":517,"toc":522},[518],{"type":21,"tag":22,"props":519,"children":520},{},[521],{"type":26,"value":511},{"title":8,"searchDepth":49,"depth":49,"links":523},[],"content:projects:12b-survbot.md","projects\u002F12b-survbot.md","projects\u002F12b-survbot",{"_path":528,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":529,"description":530,"name":531,"date":279,"source_url":532,"img1_url":533,"skills":534,"body":535,"_type":51,"_id":543,"_source":53,"_file":544,"_stem":545,"_extension":56},"\u002Fprojects\u002F13-caddui","13 Caddui","\nA web UI to generate Caddyfiles for simple reverse proxies.\n","Caddy Web UI","https:\u002F\u002Fgithub.com\u002FAskill\u002FCaddy-Web-UI","https:\u002F\u002Fgithub.com\u002FAskill\u002FCaddy-Web-UI\u002Fraw\u002Fmaster\u002Fimages\u002Fdemo.PNG","Fullstack, Go, JS",{"type":18,"children":536,"toc":541},[537],{"type":21,"tag":22,"props":538,"children":539},{},[540],{"type":26,"value":530},{"title":8,"searchDepth":49,"depth":49,"links":542},[],"content:projects:13-caddui.md","projects\u002F13-caddui.md","projects\u002F13-caddui",{"_path":547,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":548,"description":549,"name":550,"date":339,"source_url":551,"img1_url":552,"skills":553,"body":554,"_type":51,"_id":562,"_source":53,"_file":563,"_stem":564,"_extension":56},"\u002Fprojects\u002F14-p","14 P","\nA paper on how I implemented a containerized CI\u002FCD Pipeline for the DVZ-MV using Openshift, which became the blueprint for a follow-up project lasting 2 years and resulting in this workflow becoming the new operating procedure. Grade: 1.0  \n","Paper: Containerized CI\u002FCD with Openshift for E-Government (German)","\u002Fstatic\u002Fpraktikum.pdf","\u002Fstatic\u002Fpaper.png","DevOps, Jenkins, Openshift, Gitlab, Docker, Kubernetes",{"type":18,"children":555,"toc":560},[556],{"type":21,"tag":22,"props":557,"children":558},{},[559],{"type":26,"value":549},{"title":8,"searchDepth":49,"depth":49,"links":561},[],"content:projects:14-p.md","projects\u002F14-p.md","projects\u002F14-p",{"_path":566,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":567,"description":568,"name":569,"date":136,"source_url":570,"img1_url":552,"skills":571,"body":572,"_type":51,"_id":580,"_source":53,"_file":581,"_stem":582,"_extension":56},"\u002Fprojects\u002F15-b","15 B","\nBy Bachelor Thesis on how to design and implement a highly distributed system of self-contained systems and integrate them in a way that is imperceptible by the user, while also have near-zero development overhead despite being deployed in a zero-trust network. This was achieved by utilizing the ambassador pattern in a way that could easily be deployed on VM as well as Kubernetes or OpenShift. Grade: 1.0 \n","Bachelor Thesis: Self-Contained Systems in Zero Trust Networks (German)","\u002Fstatic\u002Fbachelor.pdf","Fullstack, DevOps, Architecture, Java, Python, JS, Openshift",{"type":18,"children":573,"toc":578},[574],{"type":21,"tag":22,"props":575,"children":576},{},[577],{"type":26,"value":568},{"title":8,"searchDepth":49,"depth":49,"links":579},[],"content:projects:15-b.md","projects\u002F15-b.md","projects\u002F15-b",{"_path":584,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":585,"description":586,"name":587,"date":424,"source_url":588,"img1_url":552,"skills":589,"body":590,"_type":51,"_id":598,"_source":53,"_file":599,"_stem":600,"_extension":56},"\u002Fprojects\u002F16-m","16 M","\nMy Master Thesis, which combined papers and projects of the last 25 years in a novel approach to trace, profile and simulate distributed applications, which can be implemented in any programming language. This allows for the simulation of loads that are hard or impossible to construct due to not having control over all edges of a distributed system, which might become a bottleneck. Grade: 1.0 \n","Master Thesis: Automatic profiling and simulation of heterogenous distributed applications using DES (German)","\u002Fstatic\u002Fmaster.pdf","Architecture, Fullstack, Discrete Event Simulation (DES), Java, Python, Dash, Plotly, Numpy",{"type":18,"children":591,"toc":596},[592],{"type":21,"tag":22,"props":593,"children":594},{},[595],{"type":26,"value":586},{"title":8,"searchDepth":49,"depth":49,"links":597},[],"content:projects:16-m.md","projects\u002F16-m.md","projects\u002F16-m",1790023511737]