[{"data":1,"prerenderedAt":139},["ShallowReactive",2],{"about":3,"profile":35,"projects:list":54,"structured-data:current-stack":129},{"id":4,"title":5,"body":6,"description":27,"extension":28,"meta":29,"navigation":30,"path":31,"seo":32,"stem":33,"__hash__":34},"about\u002Fabout.md","About",{"type":7,"value":8,"toc":22},"minimark",[9,13],[10,11,12],"p",{},"I've been building for the web for over five years. These days I mainly work with Nuxt and TypeScript on the front, FastAPI or Node on the back, and PostgreSQL underneath, usually running on Google Cloud or Cloudflare.",[10,14,15,16,21],{},"My own products are where I get to make every call, from design to deployment. Each one has a write-up on the ",[17,18,20],"a",{"href":19},"\u002Fprojects","projects page"," about how it's built.",{"title":23,"searchDepth":24,"depth":25,"links":26},"",2,3,[],"Software engineer with 5+ years of experience, currently a fullstack engineer and tech lead at DataCose. Based in Pristina, Kosovo.","md",{},true,"\u002Fabout",{"title":5,"description":27},"about","6R12-DTm2UFmMf2f9puaNKZVDXflwdqqPEP4p7j3i2Q",{"id":36,"alias":37,"current":38,"email":42,"extension":43,"headline":44,"links":45,"location":49,"meta":50,"name":51,"stem":52,"__hash__":53},"profile\u002Fprofile.yml","readonly",{"role":39,"company":40,"companyUrl":41},"Fullstack Engineer — Tech Lead","DataCose","https:\u002F\u002Fdatacose.com","redonemini18@gmail.com","yml","Fullstack Engineer",{"github":46,"linkedin":47,"twitch":48},"https:\u002F\u002Fgithub.com\u002FRedoni18","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fredon-emini\u002F","https:\u002F\u002Fwww.twitch.tv\u002Fr3adonly","Pristina, Kosovo",{},"Redon Emini","profile","Fbb1IAp4nuUOOtgXdwpzcqSmG0CUKtZ4D0ifPqdK5QU",[55,75,91,111],{"path":56,"title":57,"description":58,"year":59,"stack":60,"featured":30,"kind":67,"order":68,"links":69,"preview":71},"\u002Fprojects\u002Fforevermore","Forevermore","A platform for personalized animated gift worlds. Pick a scene, fill it with photos and a song, and send it like a message.","2026",[61,62,63,64,65,66],"Nuxt 4","Tailwind CSS v4","Supabase","Cloudflare Workers","Three.js","Paddle","personal",1,{"live":70},"https:\u002F\u002Fgetforevermore.co",{"src":72,"alt":73,"og":74},"\u002Fprojects\u002Fforevermore\u002Fpreview.webp","Forevermore: 'Create a world for someone you love.' beside three animated gift worlds fanned out like postcards","\u002Fprojects\u002Fforevermore\u002Fog.png",{"path":76,"title":77,"description":78,"year":59,"stack":79,"featured":30,"kind":67,"order":24,"links":85,"preview":87},"\u002Fprojects\u002Fclairwire","Clairwire","Media monitoring for PR teams. Everything said about your clients in one place, and an alert when it matters.",[61,80,81,82,83,84],"NestJS","PostgreSQL","Redis","BullMQ","Prisma",{"live":86},"https:\u002F\u002Fclairwire.com",{"src":88,"alt":89,"og":90},"\u002Fprojects\u002Fclairwire\u002Fpreview.webp","Clairwire: 'Every mention. Understood.' beside an analysis card showing sentiment, credibility and virality scores with a plain-language reason","\u002Fprojects\u002Fclairwire\u002Fhero.png",{"path":92,"title":93,"description":94,"year":95,"stack":96,"featured":30,"kind":103,"order":25,"links":104,"preview":106},"\u002Fprojects\u002Frenaissance-club","Renaissance Club","The member app and staff dashboard for a club that plans a surprise experience for its members every month.","2024",[97,98,81,99,100,101,102],"Nuxt 3","FastAPI","SQLAlchemy","Google Cloud","Stripe","Firebase Auth","work",{"live":105},"https:\u002F\u002Fapp.renaissanceclub.co",{"src":107,"srcDark":108,"alt":109,"og":110},"\u002Fprojects\u002Frenaissance-club\u002Fpreview.webp","\u002Fprojects\u002Frenaissance-club\u002Fpreview-dark.webp","The Renaissance Club emblem: two crossed arrows framing a lotus, crossed axes, a masquerade mask and a yin-yang symbol","\u002Fprojects\u002Frenaissance-club\u002Fog.png",{"path":112,"title":113,"description":114,"year":59,"stack":115,"featured":30,"kind":67,"order":120,"links":121,"preview":124},"\u002Fprojects\u002Fopenwisper","OpenWisper","Local, offline-first dictation for macOS. Hold a key, talk, and the cleaned-up text lands wherever your cursor is.",[116,117,118,119],"Swift","whisper.cpp","Metal","AVAudioEngine",4,{"live":122,"repo":123},"https:\u002F\u002Fredoni18.github.io\u002Fopenwisper\u002F","https:\u002F\u002Fgithub.com\u002FRedoni18\u002Fopenwisper",{"src":125,"srcDark":126,"alt":127,"og":128},"\u002Fprojects\u002Fopenwisper\u002Fpreview.webp","\u002Fprojects\u002Fopenwisper\u002Fpreview-dark.webp","OpenWisper's landing page: the app icon above the headline 'Talk. It types. Nothing leaves your Mac.'","\u002Fprojects\u002Fopenwisper\u002Fog.jpg",[130,131,132,133,134,135,98,99,136,81,63,137,138],"TypeScript","Vue 3","Nuxt","Pinia","Tailwind CSS","Python","Pydantic","GCP","Firebase",1790468885786]