[{"data":1,"prerenderedAt":346},["ShallowReactive",2],{"\u002Fphotography\u002Fpanoramic":3,"photographyMetadata:photography\u002Fpanoramic":22,"projects":98,"photography":243,"contact":321},{"id":4,"title":5,"body":6,"description":13,"extension":14,"image_path":15,"meta":16,"navigation":17,"path":18,"seo":19,"stem":20,"__hash__":21},"photography\u002Fphotography\u002Fpanoramic.md","True Panoramic",{"type":7,"value":8,"toc":9},"minimark",[],{"title":10,"searchDepth":11,"depth":11,"links":12},"",2,[],"Panoramic photos are really interesting. These aren't taken by cropping a frame, they rather extend the frame of a normal camera sensor to get a  wide frame. The photos you get from it are very cinematic!\n","md","\u002Fimages\u002Fphotography\u002Fpanoramic\u002F",{},true,"\u002Fphotography\u002Fpanoramic",{"title":5,"description":13},"photography\u002Fpanoramic","ntOXBUZV6Wt_RzFZ4LQu2dOUYBmhmvPbgDb1_3t02NY",{"id":23,"data":24,"extension":95,"meta":96,"stem":20,"__hash__":97},"photographyMetadata\u002Fphotography\u002Fpanoramic.json",[25,30,32,34,39,44,46,48,50,52,54,56,61,66,68,73,75,77,81,85,89,93],{"src":26,"width":27,"height":28,"ratio":29},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F033754010005.jpg",2741,1123,2.4407836153161178,{"src":31,"width":27,"height":28,"ratio":29},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F033754010019.jpg",{"src":33,"width":27,"height":28,"ratio":29},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F033754010020.jpg",{"src":35,"width":36,"height":37,"ratio":38},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F033754010022crop.jpg",2999,1300,2.306923076923077,{"src":40,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010004.jpg",2841,1038,2.7369942196531793,{"src":45,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010007.jpg",{"src":47,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010013.jpg",{"src":49,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010017.jpg",{"src":51,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010019.jpg",{"src":53,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010001edit.jpg.jpg",{"src":55,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010003.jpg",{"src":57,"width":58,"height":59,"ratio":60},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010004.jpg",2624,958,2.7390396659707723,{"src":62,"width":63,"height":64,"ratio":65},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010005.jpg",2739,1000,2.739,{"src":67,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010011.jpg",{"src":69,"width":70,"height":71,"ratio":72},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010012.jpg",2670,975,2.7384615384615385,{"src":74,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010018.jpg",{"src":76,"width":41,"height":42,"ratio":43},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010019.jpg",{"src":78,"width":79,"height":42,"ratio":80},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F1.jpg",2372,2.285163776493256,{"src":82,"width":83,"height":42,"ratio":84},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F2.jpg",2368,2.28131021194605,{"src":86,"width":87,"height":42,"ratio":88},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F3.jpg",2365,2.2784200385356455,{"src":90,"width":91,"height":42,"ratio":92},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F4.jpg",2371,2.2842003853564545,{"src":94,"width":87,"height":42,"ratio":88},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F5.jpg","json",{},"zOO-C6FUpbgYT14SQ5ELhN4aQTJospFx2YD4EQ06uLY",[99,130,160,191,217],{"id":100,"title":101,"body":102,"bulletpoints":106,"date_range":112,"description":113,"description_long":114,"extension":14,"github":115,"image_path":116,"images":117,"meta":123,"navigation":17,"path":124,"seo":125,"stem":126,"title_additional_info":127,"tools":128,"__hash__":129},"projects\u002Fprojects\u002Faedansitevue.md","aedanmagsombol.com",{"type":7,"value":103,"toc":104},[],{"title":10,"searchDepth":11,"depth":11,"links":105},[],[107,108,109,110,111],"Developed a personal portfolio using \u003Cstrong>Vue\u003C\u002Fstrong> and \u003Cstrong>Nuxt Content\u003C\u002Fstrong>","Utilized \u003Cstrong>Bootstrap classes and components\u003C\u002Fstrong> for \u003Cstrong>grid layouts and image modals\u003C\u002Fstrong>","Built \u003Cstrong>responsive layouts\u003C\u002Fstrong> with \u003Cstrong>Bootstrap\u003C\u002Fstrong> and \u003Cstrong>media queries\u003C\u002Fstrong> to ensure compatibility across different devices and screen sizes","Improved modularity over the original vanilla HTML implementation of the site","Implemented a simple \u003Cstrong>CI\u002FCD\u003C\u002Fstrong> pipeline through \u003Cstrong>GitHub Actions\u003C\u002Fstrong> for swift deployment","January 2026 - Present","A personal portfolio site to showcase my projects and photography.\n","I originally made my V1 of my website in static HTML, CSS, and JavaScript  for a course at UC Irvine. However, I realized quickly how limited it was in  scope, and wanted to learn a modern web framework to fix some of the issues  with the previous site and to make the site extremely modular.\n","https:\u002F\u002Fgithub.com\u002Fskyguys\u002Faedan-portfolio-site-vue","\u002Fimages\u002Fprojects\u002Faedansitevue\u002F",[118,119,120,121,122],"1.png","2.png","3.png","4.png","5.png",{},"\u002Fprojects\u002Faedansitevue",{"title":101,"description":113},"projects\u002Faedansitevue","Personal Site Recreated in Vue + Nuxt","Vue, Nuxt, Bootstrap, SCSS, JavaScript\n","WmlSOWDVrkqWs-jHxEF--GeANGkjWt8nW9RoUHfrdjQ",{"id":131,"title":132,"body":133,"bulletpoints":137,"date_range":142,"description":143,"description_long":144,"extension":14,"github":145,"image_path":146,"images":147,"meta":153,"navigation":17,"path":154,"seo":155,"stem":156,"title_additional_info":157,"tools":158,"__hash__":159},"projects\u002Fprojects\u002Ffabflix.md","Fabflix",{"type":7,"value":134,"toc":135},[],{"title":10,"searchDepth":11,"depth":11,"links":136},[],[138,139,140,141],"Developed a \u003Cstrong>full stack\u003C\u002Fstrong> film catalog site with \u003Cstrong>1000s\u003C\u002Fstrong> of films, featuring \u003Cstrong>pagination\u003C\u002Fstrong> and \u003Cstrong>full-text search\u003C\u002Fstrong>","Utilized a custom \u003Cstrong>ETL pipeline\u003C\u002Fstrong> to ingest \u003Cstrong>50,000+\u003C\u002Fstrong> rows of badly-formatted XML in \u003Cstrong>under 2 seconds\u003C\u002Fstrong>","\u003Cstrong>A\u002FB\u003C\u002Fstrong> tested with \u003Cstrong>JMeter\u003C\u002Fstrong> to compare \u003Cstrong>MySQL & MongoDB\u003C\u002Fstrong>, choosing \u003Cstrong>MySQL\u003C\u002Fstrong> for faster throughput","Managed \u003Cstrong>SQL Injection\u003C\u002Fstrong> attacks through the use of \u003Cstrong>sanitization schemes (PreparedStatements)\u003C\u002Fstrong>","March 2026 - June 2026","Course project for CS122b at UC Irvine.\n","Fabflix is the course project for CS122b (Project in Databases and Web  Applications) at UC Irvine. Fabflix is a movie aggregation site, where users can search up information about movies and the actors present in them. At it's core, it's a movie search engine, but there's a lot of intricacies under the hood and with the decisions we made. \n",null,"\u002Fimages\u002Fprojects\u002Ffabflix\u002F",[148,149,150,151,152],"fabflix1.png","fabflix2.png","fabflix3.png","fabflix4.png","fabflix5.png",{},"\u002Fprojects\u002Ffabflix",{"title":132,"description":143},"projects\u002Ffabflix","A Fullstack IMDb Clone","Tomcat, Java, MySQL, RESTful APIs, JavaScript, reCAPTCHA, jQuery, JMeter\n","B6yDac79Hm41v2Xw2-82UT7tVU1mgFos3ZfgfvdcTvM",{"id":161,"title":162,"body":163,"bulletpoints":167,"date_range":172,"description":173,"description_long":174,"extension":14,"github":175,"image_path":176,"images":177,"meta":184,"navigation":17,"path":185,"seo":186,"stem":187,"title_additional_info":188,"tools":189,"__hash__":190},"projects\u002Fprojects\u002Fhackaton.md","Hackaton",{"type":7,"value":164,"toc":165},[],{"title":10,"searchDepth":11,"depth":11,"links":166},[],[168,169,170,171],"Created an interactive typing game under the guidance of the Roblox team to teach adolescents the importance of strong passwords","Learned Luau on the fly to implement gameplay-defining features","\u003Cstrong>LA Hacks 2026 4th Place Winner (Roblox Civility Challenge)\u003C\u002Fstrong>","There's not much else to say, it's a roblox game! But we had a lot of fun learning Roblox Studio and Luau during the event.","36 hours (Hackathon)","A password-cracking game to teach adolescents digital literacy through  secure passwords.\n","At LA Hacks 2026, two friends and I decided to go against the grain. In an AI-first environment where everyone was trying to create the newest AI-augmented software, we chose a different approach- a Roblox game. In  thirty-six hours, the three of us learned the ins and outs of Roblox  development to create a unique game to teach the importance of strong  passwords.\n","https:\u002F\u002Fdevpost.com\u002Fsoftware\u002Fhack-a-ton-829q1s","\u002Fimages\u002Fprojects\u002Fhackaton\u002F",[178,179,180,181,182,183],"hackaton1.png","hackaton2.png","hackaton3.png","hackaton4.jpg","hackaton5.jpg","hackaton6.jpg",{},"\u002Fprojects\u002Fhackaton",{"title":162,"description":173},"projects\u002Fhackaton","LA Hacks '26 Roblox Civility Challenge 4th Place","Roblox Studio, Lua(u), Energy Drinks, Chocolate Milk","ThLGpjzU-V7l7UZAzvDBVe2DjjCpvukQDF_tmKREVzY",{"id":192,"title":193,"body":194,"bulletpoints":198,"date_range":203,"description":204,"description_long":205,"extension":14,"github":145,"image_path":206,"images":207,"meta":210,"navigation":17,"path":211,"seo":212,"stem":213,"title_additional_info":214,"tools":215,"__hash__":216},"projects\u002Fprojects\u002Fopenneg.md","OpenNeg",{"type":7,"value":195,"toc":196},[],{"title":10,"searchDepth":11,"depth":11,"links":197},[],[199,200,201,202],"Developed a Python application to convert film negatives into positive images","Averaging \u003Cstrong>30% faster computation time\u003C\u002Fstrong> than commonly-used paid software (Negative Lab Pro) in pilot testing, utilizing \u003Cstrong>multithreading\u003C\u002Fstrong> for faster computation","Utilized a \u003Cstrong>sliding window\u003C\u002Fstrong> to load & unload images, improving memory consumption","Implemented the \u003Cstrong>Qt Library\u003C\u002Fstrong> with \u003Cstrong>OpenGL\u003C\u002Fstrong> integration for the user interface","Sept 2024 - Present","A tool I created for myself to invert photo negatives into color positives.\n","I originally created this project because I was frustrated with the lack of  free-to-use, open-source programs to invert film photos. Film photography  inversion isn't as simple as taking a photo and inverting the colors in Photoshop- there's a naunced process in balancing color curves to get the right information out. Tradtional programs cost quite a bit and required  Adobe products, which I do not have on Linux. Thus, I made my own version.\n","\u002Fimages\u002Fprojects\u002Fopenneg\u002F",[208,209],"openneg1.png","openneg2.png",{},"\u002Fprojects\u002Fopenneg",{"title":193,"description":204},"projects\u002Fopenneg","Film Photography Negative Inversion Tool","Python, NumPy, OpenCV, OpenGL, Qt\n","iBw_1AyaBXfMuLIXtYLozrPcUwtsO4oTXBjgtuBdb5U",{"id":218,"title":219,"body":220,"bulletpoints":224,"date_range":203,"description":229,"description_long":230,"extension":14,"github":145,"image_path":231,"images":232,"meta":236,"navigation":17,"path":237,"seo":238,"stem":239,"title_additional_info":240,"tools":241,"__hash__":242},"projects\u002Fprojects\u002Fpetrsearch.md","PetrSearch",{"type":7,"value":221,"toc":222},[],{"title":10,"searchDepth":11,"depth":11,"links":223},[],[225,226,227,228],"Built a scalable search engine indexing \u003Cstrong>55,000 URLs\u003C\u002Fstrong> designed for corpus growth","Averaged \u003Cstrong>\u003C100ms latency\u003C\u002Fstrong> for multi-token queries and \u003Cstrong>\u003C10ms latency\u003C\u002Fstrong> for single tokens","Implemented \u003Cstrong>TF-IDF score & cosine similarity\u003C\u002Fstrong> to efficiently rank and score webpages","Efficiently handled memory usage to be less of the size of the corpus \u003Cstrong>(~130MB)\u003C\u002Fstrong>","Course project for CS121 at UC irvine.\n","While this was supposed to be a four-person group project, I thought I would challenge myself and program the entire search engine myself. In doing so, I taught myself the ins and outs of how search engines work: tokenization, cosine similarity, and massively optimizing the search to be efficient.\n","\u002Fimages\u002Fprojects\u002Fpetrsearch\u002F",[233,234,235],"petrsearch1.png","petrsearch2.png","petrsearch3.png",{},"\u002Fprojects\u002Fpetrsearch",{"title":219,"description":229},"projects\u002Fpetrsearch","Traditional Small-Scale Search Engine","Python, NumPy, Flask, BeautifulSoup\n","x1xsh3v_fH6aU_SpF50FVcw2UmKjLiWTBSgn-CMmaNw",[244,258,272,286,300,314],{"id":245,"title":246,"body":247,"description":251,"extension":14,"image_path":252,"meta":253,"navigation":17,"path":254,"seo":255,"stem":256,"__hash__":257},"photography\u002Fphotography\u002F1.canada.md","Québec City, Canada",{"type":7,"value":248,"toc":249},[],{"title":10,"searchDepth":11,"depth":11,"links":250},[],"In my final year of college, I wanted to go somewhere unique. I had a friend living in Quebec invite me over for the week, and I've never really seen the snow, so why not? It was a really fun trip, and was my first time abroad alone.\n","\u002Fimages\u002Fphotography\u002Fcanada\u002F",{},"\u002Fphotography\u002Fcanada",{"title":246,"description":251},"photography\u002F1.canada","t4km77n30QCf3n4VRgN9xDoRXrV8TklMP2F24wNQA8Q",{"id":259,"title":260,"body":261,"description":265,"extension":14,"image_path":266,"meta":267,"navigation":17,"path":268,"seo":269,"stem":270,"__hash__":271},"photography\u002Fphotography\u002Fapo.md","UCI APO Photoshoot",{"type":7,"value":262,"toc":263},[],{"title":10,"searchDepth":11,"depth":11,"links":264},[],"The photography club at UCI did a photoshoot studio day! I decided it would be a bright idea to bring film. It wasn't, but I still had a lot of fun!\n","\u002Fimages\u002Fphotography\u002Fapo\u002F",{},"\u002Fphotography\u002Fapo",{"title":260,"description":265},"photography\u002Fapo","QN7VNq_aU1wSyCYlyIfxaf-NHwtw3XKDutrq3OTCo_0",{"id":273,"title":274,"body":275,"description":279,"extension":14,"image_path":280,"meta":281,"navigation":17,"path":282,"seo":283,"stem":284,"__hash__":285},"photography\u002Fphotography\u002Fblackandwhite.md","Black and White",{"type":7,"value":276,"toc":277},[],{"title":10,"searchDepth":11,"depth":11,"links":278},[],"There's a certain charm in taking photos in just black and white. I found myself more focused on the composition of the photo rather than the colors.\n","\u002Fimages\u002Fphotography\u002Fblackandwhite\u002F",{},"\u002Fphotography\u002Fblackandwhite",{"title":274,"description":279},"photography\u002Fblackandwhite","AoiO7iXW4b1EhfwRkmInWczjcG5YyvJWGmCucxr8j60",{"id":287,"title":288,"body":289,"description":293,"extension":14,"image_path":294,"meta":295,"navigation":17,"path":296,"seo":297,"stem":298,"__hash__":299},"photography\u002Fphotography\u002Fmidwest.md","Kentucky & Tennessee",{"type":7,"value":290,"toc":291},[],{"title":10,"searchDepth":11,"depth":11,"links":292},[],"I spent time in Kentucky and Tennesee recently and took a lot of photos of the surrounding area. I didn't expect to see much, but ended up with some lovely photos.\n","\u002Fimages\u002Fphotography\u002Fmidwest\u002F",{},"\u002Fphotography\u002Fmidwest",{"title":288,"description":293},"photography\u002Fmidwest","BGXgRawwppcrZOH0aQ2QL1HctFegTpN3sF8kJaFqmek",{"id":301,"title":302,"body":303,"description":307,"extension":14,"image_path":308,"meta":309,"navigation":17,"path":310,"seo":311,"stem":312,"__hash__":313},"photography\u002Fphotography\u002Foregon.md","Oregon",{"type":7,"value":304,"toc":305},[],{"title":10,"searchDepth":11,"depth":11,"links":306},[],"I spent time in Oregon with family in the summer of 2023. It was the first time I was testing out my film camera, and really got me into photography. Here are some of my favorite photos.\n","\u002Fimages\u002Fphotography\u002Foregon\u002F",{},"\u002Fphotography\u002Foregon",{"title":302,"description":307},"photography\u002Foregon","3bOPlo8IreaWX8Z7ISNwjieI5YqP920YgeWk_A-h84M",{"id":4,"title":5,"body":315,"description":13,"extension":14,"image_path":15,"meta":319,"navigation":17,"path":18,"seo":320,"stem":20,"__hash__":21},{"type":7,"value":316,"toc":317},[],{"title":10,"searchDepth":11,"depth":11,"links":318},[],{},{"title":5,"description":13},[322,334],{"id":323,"title":324,"extension":14,"icon":325,"link":326,"meta":327,"stem":332,"__hash__":333},"contact\u002Fcontact\u002Fgithub.md","GitHub","\u002Fsvg\u002Fgithub.svg","https:\u002F\u002Fgithub.com\u002Fskyguys",{"body":328},{"type":7,"value":329,"toc":330},[],{"title":10,"searchDepth":11,"depth":11,"links":331},[],"contact\u002Fgithub","bxvPZUVIPY9MDQs3pXtU759dbZvueU-2XKOJ29oqTGY",{"id":335,"title":336,"extension":14,"icon":337,"link":338,"meta":339,"stem":344,"__hash__":345},"contact\u002Fcontact\u002Flinkedin.md","LinkedIn","\u002Fsvg\u002Flinkedin.svg","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Faedan-magsombol-a75a5433a\u002F",{"body":340},{"type":7,"value":341,"toc":342},[],{"title":10,"searchDepth":11,"depth":11,"links":343},[],"contact\u002Flinkedin","ntvf_WZb6WMOauQyzTNxQFnS491rckr2MfDqvaE-0fg",1783239244163]