Ivan Čuljak, Developer in Zagreb, Croatia
Ivan is available for hire
Hire Ivan

Ivan Čuljak

Verified Expert  in Engineering

Distributed Systems Developer

Location
Zagreb, Croatia
Toptal Member Since
December 6, 2016

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

Celeste Maze, Inc.
Distributed Computing, Cloud Infrastructure, Infrastructure as Code (IaC)...
Locodels
Blockchain, Azure, ASP.NET, Xamarin, .NET, Solution Architecture, Architecture
Tune informacijske tehnologije d.o.o.
Azure, ASP.NET, Xamarin, Architecture, Enterprise Architecture

Experience

Availability

Full-time

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

2016 - PRESENT
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.
Technologies: Distributed Computing, Cloud Infrastructure, Infrastructure as Code (IaC), DevOps, Azure DevOps, Pulumi, Octopus Deploy, Custom Solutions, Code Architecture, Xamarin.Forms, .NET, Distributed Systems, Serverless, Azure PaaS, Azure, ASP.NET, C#, Solution Architecture, Architecture, Enterprise Application Architecture, Enterprise, Enterprise Architecture

CTO | Developer

2016 - 2018
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.
Technologies: Blockchain, Azure, ASP.NET, Xamarin, .NET, Solution Architecture, Architecture

C# Developer

2014 - 2016
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.
Technologies: Azure, ASP.NET, Xamarin, Architecture, Enterprise Architecture

Head of Technology

2005 - 2014
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.
Technologies: Libraries, C#

CMS for Mobile Apps

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

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

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)

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

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

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

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

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.
APRIL 2019 - PRESENT

Microsoft MVP for Azure

Microsoft

Libraries/APIs

Windows Forms (WinForms)

Tools

Visual Studio, Azure App Service, Microsoft Visual Studio, Azure DevOps Services, Azure Logic Apps, C#.NET WinForms, MATLAB

Frameworks

.NET Core, ASP.NET, ASP.NET MVC, .NET

Paradigms

DevOps, API Architecture, Distributed Computing, Azure DevOps, Agile Software Development, Enterprise Application Architecture, Kanban, Unit Testing, Automated Testing, Scrum

Languages

C#, C#.NET, T-SQL (Transact-SQL), SQL

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

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring