[{"data":1,"prerenderedAt":102},["ShallowReactive",2],{"navigation":3,"projects-page":46,"projects":70},[4],{"title":5,"path":6,"stem":7,"children":8,"page":45},"Blog","\u002Fblog","blog",[9,13,17,21,25,29,33,37,41],{"title":10,"path":11,"stem":12},"Audio Augmentation Techniques for Deep Learning","\u002Fblog\u002Faudio-augmentation","blog\u002Faudio-augmentation",{"title":14,"path":15,"stem":16},"Speed Up Whisper with CTranslate2","\u002Fblog\u002Fc-translate","blog\u002Fc-translate",{"title":18,"path":19,"stem":20},"Calling C++ and Go from Dart using FFI","\u002Fblog\u002Fdart-ffi-native-bridge","blog\u002Fdart-ffi-native-bridge",{"title":22,"path":23,"stem":24},"Russey Keo High School Memories","\u002Fblog\u002Fmemory","blog\u002Fmemory",{"title":26,"path":27,"stem":28},"My Dev Setup: Same Keys Everywhere","\u002Fblog\u002Fmy-dev-setup","blog\u002Fmy-dev-setup",{"title":30,"path":31,"stem":32},"Data Extraction with LangChain and Ollama Locally","\u002Fblog\u002Fpydantic-llm","blog\u002Fpydantic-llm",{"title":34,"path":35,"stem":36},"7-Segment LED Display with Proteus Simulation","\u002Fblog\u002Fseven-segment","blog\u002Fseven-segment",{"title":38,"path":39,"stem":40},"Understanding JWT Refresh Token Rotation & Revocation","\u002Fblog\u002Funderstand-refresh-token","blog\u002Funderstand-refresh-token",{"title":42,"path":43,"stem":44},"Khmer Speech Recognition","\u002Fblog\u002Fwhisper","blog\u002Fwhisper",false,{"id":47,"title":48,"body":49,"description":50,"extension":51,"links":52,"meta":64,"navigation":65,"path":66,"seo":67,"stem":68,"__hash__":69},"pages\u002Fprojects.yml","Projects",null,"Things I've built.","yml",[53,58],{"label":54,"to":55,"color":56,"icon":57},"Email me","mailto:phanithlim2002@gmail.com","neutral","i-lucide-mail",{"label":59,"to":60,"target":61,"color":56,"variant":62,"icon":63},"GitHub","https:\u002F\u002Fgithub.com\u002Fphanithlim","_blank","outline","i-simple-icons-github",{},true,"\u002Fprojects",{"title":48,"description":50},"projects","79hKfVggl83vK2OipJnkT6J2K_OCZzzVhwN4PonDQsU",[71,86],{"id":72,"title":73,"date":74,"description":75,"extension":51,"image":76,"meta":77,"stem":78,"tags":79,"url":84,"__hash__":85},"projects\u002Fprojects\u002Fkhmer-speech-to-text.yml","Khmer Speech-to-Text","2025-01-01","Whisper fine-tuned for Khmer, with the models and datasets published on Hugging Face.","\u002Fprojects\u002Fkhmer-speech-to-text.png",{},"projects\u002Fkhmer-speech-to-text",[80,81,82,83],"Machine Learning","Speech Recognition","PyTorch","Hugging Face","https:\u002F\u002Fhuggingface.co\u002Fcollections\u002FPhanithLIM\u002Fkhmer-automation-speech-recognition-67d7f77f52ba357dc72abd4e","oq3ZOZSBaaczsMz-Mijm2JbGqGv7884KDVjqw7jLVEI",{"id":87,"title":88,"date":89,"description":90,"extension":51,"image":91,"meta":92,"stem":93,"tags":94,"url":100,"__hash__":101},"projects\u002Fprojects\u002Fdes-gm.yml","DES GM","2024-01-01","An attendance app for Dynamic Engineering Steels, on Google Play. Staff check in by location, and the records feed into reports and payroll.","\u002Fprojects\u002Fdes-gm.png",{},"projects\u002Fdes-gm",[95,96,97,98,99],"Flutter","Dart","Mobile App","GPS","Payroll","https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=one.eventhub.des","vagGT8pGwqrxnUzK2IqHemt8zw4fsXXYkpE491JAL2U",1791981008542]