[{"data":1,"prerenderedAt":273},["ShallowReactive",2],{"work-project-heyn":3,"work-all-nav":56},{"id":4,"title":5,"body":6,"client":5,"cover":39,"description":40,"displayOrder":41,"extension":42,"images":43,"liveLink":45,"meta":46,"navigation":47,"path":48,"role":49,"seo":50,"slug":51,"stem":52,"tag":53,"year":54,"__hash__":55},"work/work/heyn.md","HEYN",{"type":7,"value":8,"toc":32},"minimark",[9,14,18,22,25,29],[10,11,13],"h2",{"id":12},"challenge","Challenge",[15,16,17],"p",{},"A new luxury eyewear reseller wanted to test the market quickly. They needed a clean site but did not want the cost and complexity of setting up a full online store like Shopify.",[10,19,21],{"id":20},"solution","Solution",[15,23,24],{},"I wrote a script to scrape product data and photos from suppliers. I then built a simple, fast landing page where users click to buy, which sends a direct message to the brand's Instagram account.",[10,26,28],{"id":27},"results","Results",[15,30,31],{},"We set up the site and catalog in just a few days, letting the owner test demand and make sales without managing a complicated inventory backend.",{"title":33,"searchDepth":34,"depth":34,"links":35},"",2,[36,37,38],{"id":12,"depth":34,"text":13},{"id":20,"depth":34,"text":21},{"id":27,"depth":34,"text":28},"/HEYN Landing.png","Eyewear catalog and brand setup.",4,"md",[39,44,39],"/HEYN Dashboard.png",null,{},true,"/work/heyn","E-commerce Data Architecture & Asset Generation",{"title":5,"description":40},"heyn","work/heyn","ECOMMERCE","2026","kzXk_SaIdohUUTonFiyh_n7U_buEBb4w0ltwv-NzR7k",[57,97,136,159,197,236],{"id":58,"title":59,"body":60,"client":82,"cover":83,"description":84,"displayOrder":85,"extension":42,"images":86,"liveLink":45,"meta":88,"navigation":47,"path":89,"role":90,"seo":91,"slug":92,"stem":93,"tag":94,"year":95,"__hash__":96},"work/work/cashboard.md","Cashboard",{"type":7,"value":61,"toc":77},[62,64,67,69,72,74],[10,63,13],{"id":12},[15,65,66],{},"Most websites that list software and tools are full of paid ads, sponsored slots, and fake reviews. It makes finding actual good products very difficult.",[10,68,21],{"id":20},[15,70,71],{},"I built a directory (mycashboard.app) with no paid listings or ads. I included a simple filter so users can see which tools are actually available in their country, since a lot of services have regional limits.",[10,73,28],{"id":27},[15,75,76],{},"I launched it on Product Hunt and got a good response. The site gets steady traffic from community forums and organic search.",{"title":33,"searchDepth":34,"depth":34,"links":78},[79,80,81],{"id":12,"depth":34,"text":13},{"id":20,"depth":34,"text":21},{"id":27,"depth":34,"text":28},"Self-initiated","/Cashboard Landing.png","AI tool and rewards aggregator.",3,[83,87,83],"/Cashboard Dashboard.png",{},"/work/cashboard","Full-Stack Engineering",{"title":59,"description":84},"cashboard","work/cashboard","WEB APP","2025","r1K_FNyNKCFSTPZEkzdlpUiy9LmfCpwMPLc0wB4C-x4",{"id":98,"title":99,"body":100,"client":122,"cover":123,"description":124,"displayOrder":125,"extension":42,"images":126,"liveLink":45,"meta":128,"navigation":47,"path":129,"role":130,"seo":131,"slug":132,"stem":133,"tag":134,"year":54,"__hash__":135},"work/work/crashful.md","Crashful",{"type":7,"value":101,"toc":117},[102,104,107,109,112,114],[10,103,13],{"id":12},[15,105,106],{},"Roughly 40% of car insurance claims are for minor damage that does not need an in person inspection. Even so, mid-sized insurance companies in the US pay a lot for manual site visits. Most automated tools on the market are built for massive enterprises and priced out of reach for smaller companies.",[10,108,21],{"id":20},[15,110,111],{},"We built a web app where users upload photos of their damaged cars, a custom vision model estimates the repair costs, and the insurance agent gets an automated report on their dashboard. It's priced per seat so mid-sized agencies don't have to pay enterprise rates.",[10,113,28],{"id":27},[15,115,116],{},"This won first place at the Context × Garaža AI hackathon in Belgrade. We're now turning it into a real business and setting up our first sales pipelines.",{"title":33,"searchDepth":34,"depth":34,"links":118},[119,120,121],{"id":12,"depth":34,"text":13},{"id":20,"depth":34,"text":21},{"id":27,"depth":34,"text":28},"Hackathon Team Project","/Crashful Landing.png","AI vehicle damage assessment for insurance companies.",1,[123,127,123],"/Crashful Dashboard.png",{},"/work/crashful","Full-Stack Engineering & Vision Integration",{"title":99,"description":124},"crashful","work/crashful","AI PLATFORM","JP4lJsU0FIwxWuDbcnGVaogW5OP6-G68Cz9Cweky8iQ",{"id":4,"title":5,"body":137,"client":5,"cover":39,"description":40,"displayOrder":41,"extension":42,"images":156,"liveLink":45,"meta":157,"navigation":47,"path":48,"role":49,"seo":158,"slug":51,"stem":52,"tag":53,"year":54,"__hash__":55},{"type":7,"value":138,"toc":151},[139,141,143,145,147,149],[10,140,13],{"id":12},[15,142,17],{},[10,144,21],{"id":20},[15,146,24],{},[10,148,28],{"id":27},[15,150,31],{},{"title":33,"searchDepth":34,"depth":34,"links":152},[153,154,155],{"id":12,"depth":34,"text":13},{"id":20,"depth":34,"text":21},{"id":27,"depth":34,"text":28},[39,44,39],{},{"title":5,"description":40},{"id":160,"title":161,"body":162,"client":161,"cover":184,"description":185,"displayOrder":186,"extension":42,"images":187,"liveLink":45,"meta":189,"navigation":47,"path":190,"role":191,"seo":192,"slug":193,"stem":194,"tag":195,"year":95,"__hash__":196},"work/work/level8.md","Level8",{"type":7,"value":163,"toc":179},[164,166,169,171,174,176],[10,165,13],{"id":12},[15,167,168],{},"Most programming courses for kids are too theoretical and boring, which makes them lose interest quickly.",[10,170,21],{"id":20},[15,172,173],{},"I created a custom curriculum in Serbian for a private school called Level8. Instead of reading about code, the kids build things right away, using Scratch for games like Flappy Bird and Python's Turtle library to learn geometry.",[10,175,28],{"id":27},[15,177,178],{},"We teach small classes in New Belgrade. The kids write and debug their own small games, and they actually stay excited about it.",{"title":33,"searchDepth":34,"depth":34,"links":180},[181,182,183],{"id":12,"depth":34,"text":13},{"id":20,"depth":34,"text":21},{"id":27,"depth":34,"text":28},"/Level8 Landing.png","Programming and math school for children.",5,[184,188,184],"/Level8 Dashboard.png",{},"/work/level8","Curriculum & Tech Tutoring",{"title":161,"description":185},"level8","work/level8","EDUCATION","PBKUjLgXMWKHff1UVL0cWH65dDUoBEsz-bZEkLQKDnA",{"id":198,"title":199,"body":200,"client":222,"cover":223,"description":224,"displayOrder":225,"extension":42,"images":226,"liveLink":45,"meta":228,"navigation":47,"path":229,"role":230,"seo":231,"slug":232,"stem":233,"tag":234,"year":95,"__hash__":235},"work/work/selected-web.md","Selected Web",{"type":7,"value":201,"toc":217},[202,204,207,209,212,214],[10,203,13],{"id":12},[15,205,206],{},"I was building landing pages for several different clients and found myself rewriting the same layout components, slider behaviors, and animations from scratch every time.",[10,208,21],{"id":20},[15,210,211],{},"I put together a component library using React, Vite, and TypeScript. I styled them with Tailwind CSS and used Framer Motion for animations like glassmorphism reveals.",[10,213,28],{"id":27},[15,215,216],{},"I now use this library for all my client projects, which means I can deploy a new custom landing page in a fraction of the time.",{"title":33,"searchDepth":34,"depth":34,"links":218},[219,220,221],{"id":12,"depth":34,"text":13},{"id":20,"depth":34,"text":21},{"id":27,"depth":34,"text":28},"Various","/Selected Web Landing.png","React interfaces and landing pages.",6,[223,227,223],"/Selected Web Dashboard.png",{},"/work/selected-web","Frontend Engineering",{"title":199,"description":224},"selected-web","work/selected-web","FRONTEND","h6PZVhbsb6138i6edD19Cq-WclMgGkoXz3c97Dfq1jE",{"id":237,"title":238,"body":239,"client":82,"cover":261,"description":262,"displayOrder":34,"extension":42,"images":263,"liveLink":45,"meta":265,"navigation":47,"path":266,"role":267,"seo":268,"slug":269,"stem":270,"tag":271,"year":54,"__hash__":272},"work/work/tapko.md","Tapko",{"type":7,"value":240,"toc":256},[241,243,246,248,251,253],[10,242,13],{"id":12},[15,244,245],{},"Local businesses need online reviews to survive, but customers rarely leave them because searching for the business online takes too long.",[10,247,21],{"id":20},[15,249,250],{},"I built NFC cards that customers tap with their phone to open the review page. I set up a redirect server (tapko.rs) for fast routing and added a basic dashboard to track how many taps the cards get.",[10,252,28],{"id":27},[15,254,255],{},"The cards are now active in several Belgrade businesses. I built the software, configured the servers, and launched the service on my own.",{"title":33,"searchDepth":34,"depth":34,"links":257},[258,259,260],{"id":12,"depth":34,"text":13},{"id":20,"depth":34,"text":21},{"id":27,"depth":34,"text":28},"/Tapko Landing.png","NFC cards and mobile hubs for local businesses.",[261,264,261],"/Tapko Dashboard.png",{},"/work/tapko","Full-Stack Engineering & Server Infrastructure",{"title":238,"description":262},"tapko","work/tapko","PRODUCT","sIq6pM5QIwV6Z7DXfuknSOOPyHyptqkC9SKqzWw8QXg",1782306579861]