Ivan Čuljak
Verified Expert in Engineering
Distributed Systems Developer
Ivan's evolved from a .NET software engineer into a cloud solution architect and Microsoft Azure MVP. He is also an international speaker in love with serverless. Ivan is passionate about greenfield projects but thrives in salvaging wrecks while simplifying and automating overly-complex solutions.
Portfolio
Experience
Availability
Preferred Environment
Pulumi, Octopus Deploy, Azure DevOps, Azure, Visual Studio, MacOS, Windows
The most amazing...
...worldwide multi-cloud system I've built is spinning up and down crawlers executing tasks in an elegant, mostly serverless and multi-tenant way.
Work Experience
Cloud Solution Architect | Software Engineer | Owner
Celeste Maze, Inc.
- Salvaged a lot of projects which were wrecks and either continued developing new features or handed them back to the in-house development teams.
- Designed more modern cloud solutions, some of which included hybrid and mobile services.
- Consulted clients from early-stage startups to Fortune 500 companies on their cloud solutions and the state of their development.
- Performed as a speaker in over 75 talks at regular international conferences, mostly about serverless and modern cloud solutions.
- Taught at three Universities for over four years as a regular guest lecturer.
CTO | Developer
Locodels
- Designed the system architecture and made decisions about technologies.
- Developed mobile apps for drivers and the real-time part of the back end with logging, monitoring, and real-time suggestions.
- Led research and development and set up various business processes.
- Identified opportunities and risks, and kept track of trends that 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.
C# Developer
Tune informacijske tehnologije d.o.o.
- 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.
Head of Technology
Geoservis d.o.o.
- 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 the processing of point cloud acquired using terrestrial 3D laser scanners.
- Developed various AutoCAD and Excel add-ons to speed up and automate data processing.
- Organized and led internal education for over 100 employees.
Experience
CMS for Mobile Apps
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
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
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)
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
Teaching Xamarin.Forms at Faculty of Electrical Engineering and Computing (FER) Zagreb
Blood Donors
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
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.
Skills
Languages
C#, C#.NET, T-SQL (Transact-SQL), SQL
Frameworks
.NET Core, ASP.NET, ASP.NET MVC, .NET
Tools
Visual Studio, Azure App Service, Microsoft Visual Studio, Azure DevOps Services, Azure Logic Apps, C#.NET WinForms, MATLAB
Paradigms
DevOps, API Architecture, Distributed Computing, Azure DevOps, Agile Software Development, Enterprise Application Architecture, Kanban, Unit Testing, Automated Testing, Scrum
Platforms
Windows, Xamarin, Azure PaaS, Azure, MacOS, Blockchain
Storage
Azure Blobs, Azure Queue Storage, Azure Cache
Other
Libraries, Serverless, Distributed Systems, Code Architecture, Custom Solutions, Infrastructure as Code (IaC), Cloud Infrastructure, Architecture, Task Automation, Data Scraping, Scraping, Xamarin.Forms, Solution Architecture, Enterprise, Enterprise Architecture, UI Testing, Web Scraping, Octopus Deploy, Pulumi
Libraries/APIs
Windows Forms (WinForms)
Certifications
Microsoft MVP for Azure
Microsoft
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring