C# Developer in Zagreb, Croatia
CTO/Developer2016 - PRESENTLocodels
Technologies: .NET, Xamarin, ASP.NET, Azure, Blockchain
- Designed the system architecture and made decisions about technologies.
- Developed mobile apps for drivers, the real-time part of the back-end with logging, monitoring, and real-time suggestions.
- Led R&D and set up some business processes.
- Identified opportunities and risks, and kept track of trends which led us to the implementation of blockchain as an R&D project.
- Organized work for other developers and maintained the communication of the tech team spread across different continents.
- Implemented R3 Corda into the package delivery and warehousing system, which allows us to, among other things, create legally binding contracts between all the parties involved in the project.
Owner/.NET Developer2016 - PRESENTTranspose.xyz
Technologies: C#, Xamarin, ASP.NET, Azure, Azure Mobile Engagement, HockeyApp, Xamarin TestCloud, VSTS
- Developed various mobile apps with back-ends on Azure for various clients.
- Migrated an existing mobile app from iOS and Android to Xamarin.Forms while refactoring the whole thing and adding new features.
- Rewrote a WCF back-end to ASP.NET REST Web API, refactoring it to be deployed as microservices to Azure Service Fabric.
- Developed a mobile app for clients and drivers of an international, same-day package delivery company. Customized Xamarin.Forms to support RTL layouts.
- Developed mobile apps for scanning tickets at gates of events with 10,000+ attendees and integrated the whole thing with various hardware barcode readers, which requires writing a lot of bindings for Xamarin.
- Developed a proof-of-concept Xamarin.Forms app for a company with traveling salespeople to display web presentations hosted on Alfresco.
- Consulted with various companies regarding Xamarin and Azure development.
- Taught Xamarin.Forms at three faculties in Zagreb, Croatia.
C# Developer2014 - 2016Tune informacijske tehnologije d.o.o.
Technologies: Xamarin, ASP.NET, Azure, HockeyApp
- Developed a system for the hospitality sector consisting of an easy-to-use but advanced mobile app for clients with social network integrations, a mobile app for servants, a web app for back-office operations, and various services that kept the system running automatically.
- Implemented a loyalty system into an existing system.
- Developed a system that connected to a loyalty system and allowed our client to organize various campaigns, target specific users, and track their reaction.
- Developed a few proof-of-concept web and mobile apps for the betting sector.
- Consulted various companies regarding Xamarin development.
- Taught topics at Algebra Zagreb as a Microsoft Certified Trainer.
CTO/Developer2005 - 2014Geoservis d.o.o.
Technologies: C#, C++, Various math and computer vision libraries
- Implemented the first GPS virtual reference stations network in the region.
- Implemented various algorithms (and tweaked them up to some point) for processing GPS data.
- Developed various tools to speed up processing of point cloud acquired using terrestrial 3D laser scanners.
- Developed various AutoCAD and Excel add-ons to speed up and automate data processing.
- Led internal education for 100+ employees.
- CMS for Mobile Apps (Development)
Through the past ten months, I've developed an ASP.NET backend and Xamarin mobile apps targeting iOS, Android, and UWP for a client project. The system acts as a CMS, where anyone can modularly create their own mobile apps, after which the system will automatically build them and upload them to the store.
The system is white labeled, so I've had to do a lot of customization and automatization to be able to deploy new branded apps without any human intervention.
This is one of those projects that are really complex under the hood, but elegant and simple to use on the outside. It's definitely a project that I'm really proud of, and that taught me a lot about writing modular and abstract components.
- Mobile App for Scanning Event Tickets (Development)
I've developed an mobile app targeting Android, iOS, and UWP using Xamarin for a client that sells event tickets online and handles huge events (40 000+ persons).
This project not only had to run on really old rugged Android devices with embedded barcode readers, but it had to run insanely fast and stable. I had to implement a fast database, in-memory caching, sync between the local state and online back-end while handling unstable Internet connections, offline mode and much more. When we finalized the app for Android, we added support for other external and internal barcode readers (camera was supported from the start) and ported it to iOS and UWP so that it can be used even on notebooks.
We've just started the second phase of this adventure, porting this Xamarin.Forms app to Windows Mobile 6 so that we can support even older, but still "the best money can buy" rugged barcode readers.
- Mobile App for Drivers and Fleet Management (Development)
This client usually gets called "Uber for packages" in the papers. We developed Xamarin apps for Android, iOS, and UWP for drivers that deliver packages using this system. We designed a great and elegant UX, after which we designed a nice and responsive UI that could be used without a problem by drivers while driving on a myriad of devices, from small 4" phones to 12" tablets. After that, the challenge was to track the drivers' locations and send it to the back-end while optimizing the battery and Internet connection usage.
The whole system was upgraded with real-time connection using SignalR and fallback to push notifications when SignalR connection terminates without the driver explicitly saying that he wants to go off. It was fun to develop this app, which needs to work fast, reliable and have the smallest footprint possible. To spice things up a bit, we've added RTL (right to left) support to it, for which I had to fork Xamarin.Forms projects which don't support it out-of-the-box.
- Alfresco Client (Mobile App) (Development)
As a subcontractor, I developed a Xamarin app primarily targeting iPad Pro and Android tablets, which was a nice front-end for an Alfresco system. This app allowed its users to easily see the contents on Alfresco CMS available to them, download them or update them, and then play those presentations offline. Its main usage was for traveling salesmen to go offline and still be able to fluidly run their presentations.
The biggest challenge in this project was communicating with Alfreso and trying to find my way through their documentation since it's a great, but huge, system.
- Teaching Xamarin.Forms at Zagreb University of Applied Sciences (Development)
Held lectures throughout the semester for fourth- and fifth-year students about Xamarin.Forms.
- Teaching Xamarin.Forms at Faculty of Electrical Engineering and Computing (FER) Zagreb (Other amazing things)
After a lot of work, I've managed to convince a university in Zagreb, Croatia that they really missed a subject featuring Xamarin.Forms, and starting this academic year--after a lot of unofficial classes, lectures, workshops and more--we have an official Xamarin.Forms class. As far as Xamarin knows, this is the first official class at a University dedicated solely to Xamarin.
- Blood Donors (Development)
Developing a system for blood donors and facilities for blood donations to connect them in a much better and faster way, so that facilities can know which blood donors are "available" to them and be able to contact them using push notifications, while blood donors will be able to see who "needs" them and when.
The mobile app is Xamarin traditional with eye-candy design, the web app is ASP.NET MVC and the whole back-end is hosted on Azure using Mobile Apps, Service Bus Topics, Notification Hub, AAD, and so on.
This system will be open sourced soon and donated to Croatian Red Cross, while being made available for everyone to use it or spin their own version.
- Lost Children (Development)
Developing a system to facilitate reuniting lost children with their parents, whether the child was lost for a few days or decades.
We're developing a Xamarin.Forms mobile app that has basic functionalities to take a photo of concerned parties and a voice recording to start the search.
The main job is done by Azure Cognitive Services, which tries to match the persons face and voice to another record and find the match. Currently, every match has to be approved using an ASP.NET MVC app by administrator while we train the system.
We're planning to donate this system to UNHCR in March 2017 to help connect refugee children with their parents, but also to connect stolen children with their parents. The whole project was started by a human rights initiative in Zagreb and my company started working on it pro-bono.
The system will probably be open sourced by the end of 2017.
LanguagesC#, C#.NET, T-SQL, SQL
FrameworksASP.NET, ASP.NET MVC, Xamarin.UITest, .NET
ToolsMicrosoft Visual Studio, Azure DevOps Services, Azure Logic Apps, Azure Mobile, Azure Automation, C#.NET WinForms, MATLAB
ParadigmsAzure DevOps, Kanban, Unit Testing, Agile Software Development, Automated Testing, Automation, Scrum
PlatformsXamarin, Azure PaaS, Azure IaaS, Azure
StorageAzure Blobs, Azure Queues, Azure Cache, U-SQL
OtherTask Automation, Data Scraping, Scraping, Xamarin Forms, UI Testing, Web Scraping
Libraries/APIsWinForms, Xamarin.Android, Xamarin.iOS