[{"data":1,"prerenderedAt":587},["ShallowReactive",2],{"photography":3,"photographyMetadata:undefined":93,"projects":417,"contact":562},[4,23,37,51,65,79],{"id":5,"title":6,"body":7,"description":14,"extension":15,"image_path":16,"meta":17,"navigation":18,"path":19,"seo":20,"stem":21,"__hash__":22},"photography\u002Fphotography\u002F1.canada.md","Québec City, Canada",{"type":8,"value":9,"toc":10},"minimark",[],{"title":11,"searchDepth":12,"depth":12,"links":13},"",2,[],"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","md","\u002Fimages\u002Fphotography\u002Fcanada\u002F",{},true,"\u002Fphotography\u002Fcanada",{"title":6,"description":14},"photography\u002F1.canada","t4km77n30QCf3n4VRgN9xDoRXrV8TklMP2F24wNQA8Q",{"id":24,"title":25,"body":26,"description":30,"extension":15,"image_path":31,"meta":32,"navigation":18,"path":33,"seo":34,"stem":35,"__hash__":36},"photography\u002Fphotography\u002Fapo.md","UCI APO Photoshoot",{"type":8,"value":27,"toc":28},[],{"title":11,"searchDepth":12,"depth":12,"links":29},[],"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":25,"description":30},"photography\u002Fapo","QN7VNq_aU1wSyCYlyIfxaf-NHwtw3XKDutrq3OTCo_0",{"id":38,"title":39,"body":40,"description":44,"extension":15,"image_path":45,"meta":46,"navigation":18,"path":47,"seo":48,"stem":49,"__hash__":50},"photography\u002Fphotography\u002Fblackandwhite.md","Black and White",{"type":8,"value":41,"toc":42},[],{"title":11,"searchDepth":12,"depth":12,"links":43},[],"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":39,"description":44},"photography\u002Fblackandwhite","AoiO7iXW4b1EhfwRkmInWczjcG5YyvJWGmCucxr8j60",{"id":52,"title":53,"body":54,"description":58,"extension":15,"image_path":59,"meta":60,"navigation":18,"path":61,"seo":62,"stem":63,"__hash__":64},"photography\u002Fphotography\u002Fmidwest.md","Kentucky & Tennessee",{"type":8,"value":55,"toc":56},[],{"title":11,"searchDepth":12,"depth":12,"links":57},[],"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":53,"description":58},"photography\u002Fmidwest","BGXgRawwppcrZOH0aQ2QL1HctFegTpN3sF8kJaFqmek",{"id":66,"title":67,"body":68,"description":72,"extension":15,"image_path":73,"meta":74,"navigation":18,"path":75,"seo":76,"stem":77,"__hash__":78},"photography\u002Fphotography\u002Foregon.md","Oregon",{"type":8,"value":69,"toc":70},[],{"title":11,"searchDepth":12,"depth":12,"links":71},[],"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":67,"description":72},"photography\u002Foregon","3bOPlo8IreaWX8Z7ISNwjieI5YqP920YgeWk_A-h84M",{"id":80,"title":81,"body":82,"description":86,"extension":15,"image_path":87,"meta":88,"navigation":18,"path":89,"seo":90,"stem":91,"__hash__":92},"photography\u002Fphotography\u002Fpanoramic.md","True Panoramic",{"type":8,"value":83,"toc":84},[],{"title":11,"searchDepth":12,"depth":12,"links":85},[],"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","\u002Fimages\u002Fphotography\u002Fpanoramic\u002F",{},"\u002Fphotography\u002Fpanoramic",{"title":81,"description":86},"photography\u002Fpanoramic","ntOXBUZV6Wt_RzFZ4LQu2dOUYBmhmvPbgDb1_3t02NY",[94,167,228,266,295,342],{"id":95,"data":96,"extension":164,"meta":165,"stem":21,"__hash__":166},"photographyMetadata\u002Fphotography\u002F1.canada.json",[97,102,107,112,117,122,127,132,134,136,141,143,145,150,155,157,162],{"src":98,"width":99,"height":100,"ratio":101},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010013.jpg",1483,2104,0.7048479087452472,{"src":103,"width":104,"height":105,"ratio":106},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010015.jpg",1504,2133,0.7051101734646038,{"src":108,"width":109,"height":110,"ratio":111},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010021.jpg",1352,1918,0.7049009384775808,{"src":113,"width":114,"height":115,"ratio":116},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010023.jpg",2113,1490,1.4181208053691274,{"src":118,"width":119,"height":120,"ratio":121},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010028.jpg",1977,1394,1.4182209469153515,{"src":123,"width":124,"height":125,"ratio":126},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010030.jpg",1584,2246,0.705253784505788,{"src":128,"width":129,"height":130,"ratio":131},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010033.jpg",2216,1563,1.417786308381318,{"src":133,"width":124,"height":125,"ratio":126},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010034.jpg",{"src":135,"width":124,"height":125,"ratio":126},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010035.jpg",{"src":137,"width":138,"height":139,"ratio":140},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010036edit.jpg",1469,2084,0.70489443378119,{"src":142,"width":124,"height":125,"ratio":126},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010040.jpg",{"src":144,"width":124,"height":125,"ratio":126},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010041.jpg",{"src":146,"width":147,"height":148,"ratio":149},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010055.jpg",1497,2123,0.7051342439943477,{"src":151,"width":152,"height":153,"ratio":154},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010060.jpg",1496,2121,0.7053276756247053,{"src":156,"width":124,"height":125,"ratio":126},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010061.jpg",{"src":158,"width":159,"height":160,"ratio":161},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010068.jpg",2165,1527,1.4178127046496398,{"src":163,"width":124,"height":125,"ratio":126},"\u002Fimages\u002Fphotography\u002Fcanada\u002F045341010070.jpg","json",{},"ZbEzzkmsjI40RGS2g88zpjlSRKkbFEzFUSeQPCzgcBg",{"id":168,"data":169,"extension":164,"meta":226,"stem":35,"__hash__":227},"photographyMetadata\u002Fphotography\u002Fapo.json",[170,175,177,179,181,183,185,187,189,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224],{"src":171,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F1.jpg",1518,1016,1.4940944881889764,{"src":176,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F10.jpg",{"src":178,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F11.jpg",{"src":180,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F12.jpg",{"src":182,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F13.jpg",{"src":184,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F14.jpg",{"src":186,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F15.jpg",{"src":188,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F16.jpg",{"src":190,"width":173,"height":172,"ratio":191},"\u002Fimages\u002Fphotography\u002Fapo\u002F17.jpg",0.6693017127799736,{"src":193,"width":173,"height":172,"ratio":191},"\u002Fimages\u002Fphotography\u002Fapo\u002F18.jpg",{"src":195,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F19.jpg",{"src":197,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F2.jpg",{"src":199,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F20.jpg",{"src":201,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F21.jpg",{"src":203,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F23.jpg",{"src":205,"width":173,"height":172,"ratio":191},"\u002Fimages\u002Fphotography\u002Fapo\u002F24.jpg",{"src":207,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F25.jpg",{"src":209,"width":173,"height":172,"ratio":191},"\u002Fimages\u002Fphotography\u002Fapo\u002F26.jpg",{"src":211,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F27.jpg",{"src":213,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F28.jpg",{"src":215,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F29.jpg",{"src":217,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F3.jpg",{"src":219,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F4.jpg",{"src":221,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F5.jpg",{"src":223,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F6.jpg",{"src":225,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fapo\u002F8.jpg",{},"Hn8HzPki4giMHVph_xXHTm3aAnbmULuj39Y9tV58u6Y",{"id":229,"data":230,"extension":164,"meta":264,"stem":49,"__hash__":265},"photographyMetadata\u002Fphotography\u002Fblackandwhite.json",[231,236,241,243,245,247,252,257,262],{"src":232,"width":233,"height":234,"ratio":235},"\u002Fimages\u002Fphotography\u002Fblackandwhite\u002Fapo-16.jpg",1624,1103,1.4723481414324568,{"src":237,"width":238,"height":239,"ratio":240},"\u002Fimages\u002Fphotography\u002Fblackandwhite\u002Fapo-31.jpg",1629,1106,1.472875226039783,{"src":242,"width":238,"height":239,"ratio":240},"\u002Fimages\u002Fphotography\u002Fblackandwhite\u002Fapo-32.jpg",{"src":244,"width":238,"height":239,"ratio":240},"\u002Fimages\u002Fphotography\u002Fblackandwhite\u002Fapo-35.jpg",{"src":246,"width":238,"height":239,"ratio":240},"\u002Fimages\u002Fphotography\u002Fblackandwhite\u002Fapo-36.jpg",{"src":248,"width":249,"height":250,"ratio":251},"\u002Fimages\u002Fphotography\u002Fblackandwhite\u002Fapo-4.jpg",1642,1114,1.4739676840215439,{"src":253,"width":254,"height":255,"ratio":256},"\u002Fimages\u002Fphotography\u002Fblackandwhite\u002Fwatermarked-17.jpg",1196,1760,0.6795454545454546,{"src":258,"width":259,"height":260,"ratio":261},"\u002Fimages\u002Fphotography\u002Fblackandwhite\u002Fwatermarked-23.jpg",1753,1191,1.471872376154492,{"src":263,"width":259,"height":260,"ratio":261},"\u002Fimages\u002Fphotography\u002Fblackandwhite\u002Fwatermarked-24.jpg",{},"9NH8aETvd1fWSeDp9FdPvyK1vjtO23uFrG09HcW3COk",{"id":267,"data":268,"extension":164,"meta":293,"stem":63,"__hash__":294},"photographyMetadata\u002Fphotography\u002Fmidwest.json",[269,271,273,275,277,279,281,283,285,287,289,291],{"src":270,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013176-R1-009-3.jpg",{"src":272,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013176-R1-011-4.jpg",{"src":274,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013176-R1-023-10.jpg",{"src":276,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013176-R1-045-21.jpg",{"src":278,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013176-R1-057-27.jpg",{"src":280,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013176-R1-061-29.jpg",{"src":282,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013176-R1-065-31.jpg",{"src":284,"width":173,"height":172,"ratio":191},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013177-R1-074-35A.jpg",{"src":286,"width":173,"height":172,"ratio":191},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013178-R1-034-15A.jpg",{"src":288,"width":173,"height":172,"ratio":191},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013178-R1-042-19A.jpg",{"src":290,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013178-R1-068-32A.jpg",{"src":292,"width":172,"height":173,"ratio":174},"\u002Fimages\u002Fphotography\u002Fmidwest\u002F39489013178-R1-074-35A.jpg",{},"Yv0TkMucPD2vaecDVPZArqg6kCiRgUTu75922i2vpzI",{"id":296,"data":297,"extension":164,"meta":340,"stem":77,"__hash__":341},"photographyMetadata\u002Fphotography\u002Foregon.json",[298,303,306,308,310,315,317,319,321,323,325,327,329,331,333,338],{"src":299,"width":300,"height":301,"ratio":302},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470880025.jpg",1002,1512,0.6626984126984127,{"src":304,"width":301,"height":300,"ratio":305},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470880028.jpg",1.5089820359281436,{"src":307,"width":301,"height":300,"ratio":305},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470880031.jpg",{"src":309,"width":300,"height":301,"ratio":302},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470880032.jpg",{"src":311,"width":312,"height":313,"ratio":314},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470890014.jpg",964,1454,0.6629986244841816,{"src":316,"width":300,"height":301,"ratio":302},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470890015.jpg",{"src":318,"width":301,"height":300,"ratio":305},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470890016.jpg",{"src":320,"width":301,"height":300,"ratio":305},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470890017.jpg",{"src":322,"width":300,"height":301,"ratio":302},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470890023.jpg",{"src":324,"width":301,"height":300,"ratio":305},"\u002Fimages\u002Fphotography\u002Foregon\u002F000470890032.jpg",{"src":326,"width":300,"height":301,"ratio":302},"\u002Fimages\u002Fphotography\u002Foregon\u002F000473450015.jpg",{"src":328,"width":300,"height":301,"ratio":302},"\u002Fimages\u002Fphotography\u002Foregon\u002F000473450023.jpg",{"src":330,"width":301,"height":300,"ratio":305},"\u002Fimages\u002Fphotography\u002Foregon\u002F000473450028.jpg",{"src":332,"width":300,"height":301,"ratio":302},"\u002Fimages\u002Fphotography\u002Foregon\u002F000473450029.jpg",{"src":334,"width":335,"height":336,"ratio":337},"\u002Fimages\u002Fphotography\u002Foregon\u002F000473450030.jpg",957,1444,0.6627423822714681,{"src":339,"width":300,"height":301,"ratio":302},"\u002Fimages\u002Fphotography\u002Foregon\u002F000473450032.jpg",{},"63tZRtSWiKqEX-wWLPrVU_ATfJUId36M5BhKHM9626w",{"id":343,"data":344,"extension":164,"meta":415,"stem":91,"__hash__":416},"photographyMetadata\u002Fphotography\u002Fpanoramic.json",[345,350,352,354,359,364,366,368,370,372,374,376,381,386,388,393,395,397,401,405,409,413],{"src":346,"width":347,"height":348,"ratio":349},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F033754010005.jpg",2741,1123,2.4407836153161178,{"src":351,"width":347,"height":348,"ratio":349},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F033754010019.jpg",{"src":353,"width":347,"height":348,"ratio":349},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F033754010020.jpg",{"src":355,"width":356,"height":357,"ratio":358},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F033754010022crop.jpg",2999,1300,2.306923076923077,{"src":360,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010004.jpg",2841,1038,2.7369942196531793,{"src":365,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010007.jpg",{"src":367,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010013.jpg",{"src":369,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010017.jpg",{"src":371,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F051667010019.jpg",{"src":373,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010001edit.jpg.jpg",{"src":375,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010003.jpg",{"src":377,"width":378,"height":379,"ratio":380},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010004.jpg",2624,958,2.7390396659707723,{"src":382,"width":383,"height":384,"ratio":385},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010005.jpg",2739,1000,2.739,{"src":387,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010011.jpg",{"src":389,"width":390,"height":391,"ratio":392},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010012.jpg",2670,975,2.7384615384615385,{"src":394,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010018.jpg",{"src":396,"width":361,"height":362,"ratio":363},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F053031010019.jpg",{"src":398,"width":399,"height":362,"ratio":400},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F1.jpg",2372,2.285163776493256,{"src":402,"width":403,"height":362,"ratio":404},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F2.jpg",2368,2.28131021194605,{"src":406,"width":407,"height":362,"ratio":408},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F3.jpg",2365,2.2784200385356455,{"src":410,"width":411,"height":362,"ratio":412},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F4.jpg",2371,2.2842003853564545,{"src":414,"width":407,"height":362,"ratio":408},"\u002Fimages\u002Fphotography\u002Fpanoramic\u002F5.jpg",{},"zOO-C6FUpbgYT14SQ5ELhN4aQTJospFx2YD4EQ06uLY",[418,449,479,510,536],{"id":419,"title":420,"body":421,"bulletpoints":425,"date_range":431,"description":432,"description_long":433,"extension":15,"github":434,"image_path":435,"images":436,"meta":442,"navigation":18,"path":443,"seo":444,"stem":445,"title_additional_info":446,"tools":447,"__hash__":448},"projects\u002Fprojects\u002Faedansitevue.md","aedanmagsombol.com",{"type":8,"value":422,"toc":423},[],{"title":11,"searchDepth":12,"depth":12,"links":424},[],[426,427,428,429,430],"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",[437,438,439,440,441],"1.png","2.png","3.png","4.png","5.png",{},"\u002Fprojects\u002Faedansitevue",{"title":420,"description":432},"projects\u002Faedansitevue","Personal Site Recreated in Vue + Nuxt","Vue, Nuxt, Bootstrap, SCSS, JavaScript\n","WmlSOWDVrkqWs-jHxEF--GeANGkjWt8nW9RoUHfrdjQ",{"id":450,"title":451,"body":452,"bulletpoints":456,"date_range":461,"description":462,"description_long":463,"extension":15,"github":464,"image_path":465,"images":466,"meta":472,"navigation":18,"path":473,"seo":474,"stem":475,"title_additional_info":476,"tools":477,"__hash__":478},"projects\u002Fprojects\u002Ffabflix.md","Fabflix",{"type":8,"value":453,"toc":454},[],{"title":11,"searchDepth":12,"depth":12,"links":455},[],[457,458,459,460],"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",[467,468,469,470,471],"fabflix1.png","fabflix2.png","fabflix3.png","fabflix4.png","fabflix5.png",{},"\u002Fprojects\u002Ffabflix",{"title":451,"description":462},"projects\u002Ffabflix","A Fullstack IMDb Clone","Tomcat, Java, MySQL, RESTful APIs, JavaScript, reCAPTCHA, jQuery, JMeter\n","B6yDac79Hm41v2Xw2-82UT7tVU1mgFos3ZfgfvdcTvM",{"id":480,"title":481,"body":482,"bulletpoints":486,"date_range":491,"description":492,"description_long":493,"extension":15,"github":494,"image_path":495,"images":496,"meta":503,"navigation":18,"path":504,"seo":505,"stem":506,"title_additional_info":507,"tools":508,"__hash__":509},"projects\u002Fprojects\u002Fhackaton.md","Hackaton",{"type":8,"value":483,"toc":484},[],{"title":11,"searchDepth":12,"depth":12,"links":485},[],[487,488,489,490],"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",[497,498,499,500,501,502],"hackaton1.png","hackaton2.png","hackaton3.png","hackaton4.jpg","hackaton5.jpg","hackaton6.jpg",{},"\u002Fprojects\u002Fhackaton",{"title":481,"description":492},"projects\u002Fhackaton","LA Hacks '26 Roblox Civility Challenge 4th Place","Roblox Studio, Lua(u), Energy Drinks, Chocolate Milk","ThLGpjzU-V7l7UZAzvDBVe2DjjCpvukQDF_tmKREVzY",{"id":511,"title":512,"body":513,"bulletpoints":517,"date_range":522,"description":523,"description_long":524,"extension":15,"github":464,"image_path":525,"images":526,"meta":529,"navigation":18,"path":530,"seo":531,"stem":532,"title_additional_info":533,"tools":534,"__hash__":535},"projects\u002Fprojects\u002Fopenneg.md","OpenNeg",{"type":8,"value":514,"toc":515},[],{"title":11,"searchDepth":12,"depth":12,"links":516},[],[518,519,520,521],"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",[527,528],"openneg1.png","openneg2.png",{},"\u002Fprojects\u002Fopenneg",{"title":512,"description":523},"projects\u002Fopenneg","Film Photography Negative Inversion Tool","Python, NumPy, OpenCV, OpenGL, Qt\n","iBw_1AyaBXfMuLIXtYLozrPcUwtsO4oTXBjgtuBdb5U",{"id":537,"title":538,"body":539,"bulletpoints":543,"date_range":522,"description":548,"description_long":549,"extension":15,"github":464,"image_path":550,"images":551,"meta":555,"navigation":18,"path":556,"seo":557,"stem":558,"title_additional_info":559,"tools":560,"__hash__":561},"projects\u002Fprojects\u002Fpetrsearch.md","PetrSearch",{"type":8,"value":540,"toc":541},[],{"title":11,"searchDepth":12,"depth":12,"links":542},[],[544,545,546,547],"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",[552,553,554],"petrsearch1.png","petrsearch2.png","petrsearch3.png",{},"\u002Fprojects\u002Fpetrsearch",{"title":538,"description":548},"projects\u002Fpetrsearch","Traditional Small-Scale Search Engine","Python, NumPy, Flask, BeautifulSoup\n","x1xsh3v_fH6aU_SpF50FVcw2UmKjLiWTBSgn-CMmaNw",[563,575],{"id":564,"title":565,"extension":15,"icon":566,"link":567,"meta":568,"stem":573,"__hash__":574},"contact\u002Fcontact\u002Fgithub.md","GitHub","\u002Fsvg\u002Fgithub.svg","https:\u002F\u002Fgithub.com\u002Fskyguys",{"body":569},{"type":8,"value":570,"toc":571},[],{"title":11,"searchDepth":12,"depth":12,"links":572},[],"contact\u002Fgithub","bxvPZUVIPY9MDQs3pXtU759dbZvueU-2XKOJ29oqTGY",{"id":576,"title":577,"extension":15,"icon":578,"link":579,"meta":580,"stem":585,"__hash__":586},"contact\u002Fcontact\u002Flinkedin.md","LinkedIn","\u002Fsvg\u002Flinkedin.svg","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Faedan-magsombol-a75a5433a\u002F",{"body":581},{"type":8,"value":582,"toc":583},[],{"title":11,"searchDepth":12,"depth":12,"links":584},[],"contact\u002Flinkedin","ntvf_WZb6WMOauQyzTNxQFnS491rckr2MfDqvaE-0fg",1783239244115]