[{"data":1,"prerenderedAt":59},["ShallowReactive",2],{"project:accuhit-prototype:en":3,"i-tabler:route":49,"i-tabler:table":53,"i-tabler:book":55,"i-tabler:adjustments":57},{"slug":4,"name":5,"summary":6,"role":7,"updateNote":-1,"meta":8,"coverUrl":-1,"lang":25,"isFallback":26,"featuredRank":27,"badge":27,"lastActivity":20,"tapeNumber":28,"blocks":29},"accuhit-prototype","Internal Product Prototype","An internal project at AccuHit where I built the prototype, involved from requirements planning through frontend architecture.","Frontend Engineer",{"origin":9,"categories":10,"tags":12,"released":20,"company":21,"period":22},"company",[11],"frontend",[13,14,15,16,17,18,19],"vue","typescript","pinia","element-plus","axios","tailwindcss","scss","2025-11-01","accuhit",{"from":23,"to":24},"2025-11","2025-12","en",false,null,6,[30],{"type":31,"items":32},"features",[33,37,41,45],{"title":34,"description":35,"icon":36},"Reusable data components","Built several highly reusable components that handle data loading, pagination, filtering and sorting on their own, cutting development time for these features by about 80%.","tabler:table",{"title":38,"description":39,"icon":40},"Requirements and flow planning","Helped plan requirements, system behavior and user flows for new features, and advised on frontend feasibility.","tabler:route",{"title":42,"description":43,"icon":44},"Frontend conventions","Set frontend architecture guidelines and coding standards, establishing consistent development patterns and component design rules for better collaboration and maintainability.","tabler:book",{"title":46,"description":47,"icon":48},"Customized UI components","Customized UI library components (for example, turning a select into pick-from-a-table-and-fill-back) to work around native limitations while keeping full TypeScript types.","tabler:adjustments",{"left":50,"top":50,"width":51,"height":51,"rotate":50,"vFlip":26,"hFlip":26,"body":52},0,24,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 19a2 2 0 1 0 4 0a2 2 0 0 0-4 0M19 7a2 2 0 1 0 0-4a2 2 0 0 0 0 4m-8 12h5.5a3.5 3.5 0 0 0 0-7h-8a3.5 3.5 0 0 1 0-7H13\"\u002F>",{"left":50,"top":50,"width":51,"height":51,"rotate":50,"vFlip":26,"hFlip":26,"body":54},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zm0 5h18M10 3v18\"\u002F>",{"left":50,"top":50,"width":51,"height":51,"rotate":50,"vFlip":26,"hFlip":26,"body":56},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 19a9 9 0 0 1 9 0a9 9 0 0 1 9 0M3 6a9 9 0 0 1 9 0a9 9 0 0 1 9 0M3 6v13m9-13v13m9-13v13\"\u002F>",{"left":50,"top":50,"width":51,"height":51,"rotate":50,"vFlip":26,"hFlip":26,"body":58},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 10a2 2 0 1 0 4 0a2 2 0 0 0-4 0m2-6v4m0 4v8m4-4a2 2 0 1 0 4 0a2 2 0 0 0-4 0m2-12v10m0 4v2m4-13a2 2 0 1 0 4 0a2 2 0 0 0-4 0m2-3v1m0 4v11\"\u002F>",1793948871848]