[{"data":1,"prerenderedAt":273},["ShallowReactive",2],{"work-project-level8":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/level8.md","Level8",{"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",{},"Most programming courses for kids are too theoretical and boring, which makes them lose interest quickly.",[10,19,21],{"id":20},"solution","Solution",[15,23,24],{},"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,26,28],{"id":27},"results","Results",[15,30,31],{},"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":35},"",2,[36,37,38],{"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,"md",[39,44,39],"/Level8 Dashboard.png",null,{},true,"/work/level8","Curriculum & Tech Tutoring",{"title":5,"description":40},"level8","work/level8","EDUCATION","2025","PBKUjLgXMWKHff1UVL0cWH65dDUoBEsz-bZEkLQKDnA",[57,96,136,174,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":54,"__hash__":95},"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","r1K_FNyNKCFSTPZEkzdlpUiy9LmfCpwMPLc0wB4C-x4",{"id":97,"title":98,"body":99,"client":121,"cover":122,"description":123,"displayOrder":124,"extension":42,"images":125,"liveLink":45,"meta":127,"navigation":47,"path":128,"role":129,"seo":130,"slug":131,"stem":132,"tag":133,"year":134,"__hash__":135},"work/work/crashful.md","Crashful",{"type":7,"value":100,"toc":116},[101,103,106,108,111,113],[10,102,13],{"id":12},[15,104,105],{},"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,107,21],{"id":20},[15,109,110],{},"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,112,28],{"id":27},[15,114,115],{},"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":117},[118,119,120],{"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,[122,126,122],"/Crashful Dashboard.png",{},"/work/crashful","Full-Stack Engineering & Vision Integration",{"title":98,"description":123},"crashful","work/crashful","AI PLATFORM","2026","JP4lJsU0FIwxWuDbcnGVaogW5OP6-G68Cz9Cweky8iQ",{"id":137,"title":138,"body":139,"client":138,"cover":161,"description":162,"displayOrder":163,"extension":42,"images":164,"liveLink":45,"meta":166,"navigation":47,"path":167,"role":168,"seo":169,"slug":170,"stem":171,"tag":172,"year":134,"__hash__":173},"work/work/heyn.md","HEYN",{"type":7,"value":140,"toc":156},[141,143,146,148,151,153],[10,142,13],{"id":12},[15,144,145],{},"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,147,21],{"id":20},[15,149,150],{},"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,152,28],{"id":27},[15,154,155],{},"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":157},[158,159,160],{"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,[161,165,161],"/HEYN Dashboard.png",{},"/work/heyn","E-commerce Data Architecture & Asset Generation",{"title":138,"description":162},"heyn","work/heyn","ECOMMERCE","kzXk_SaIdohUUTonFiyh_n7U_buEBb4w0ltwv-NzR7k",{"id":4,"title":5,"body":175,"client":5,"cover":39,"description":40,"displayOrder":41,"extension":42,"images":194,"liveLink":45,"meta":195,"navigation":47,"path":48,"role":49,"seo":196,"slug":51,"stem":52,"tag":53,"year":54,"__hash__":55},{"type":7,"value":176,"toc":189},[177,179,181,183,185,187],[10,178,13],{"id":12},[15,180,17],{},[10,182,21],{"id":20},[15,184,24],{},[10,186,28],{"id":27},[15,188,31],{},{"title":33,"searchDepth":34,"depth":34,"links":190},[191,192,193],{"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":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":54,"__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":134,"__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",1782306579880]