Fran Hrženjak, Developer in Zagreb, Croatia
Fran is available for hire
Hire Fran

Fran Hrženjak

Verified Expert  in Engineering

Full-stack Web Developer

Zagreb, Croatia

Toptal member since December 10, 2013

Bio

Fran is a full-stack web developer who also occasionally develops for Linux command line, mobile and desktop apps, and hardware devices on the Arduino platform. He enjoys working with the Django web framework and Python in general. He is proficient in PHP and has substantial experience working with WordPress and Magento.

Portfolio

Croatian Air Traffic Control
Django, Python, Cordova, .NET, REST APIs, iOS...
Consumers Unified, LLC
Python, Django, JavaScript, CSS, CoffeeScript, Git, GitHub...
Astro.hr
Electronics, C#.NET, Arduino, C++, Python, APIs, Back-end, API Architecture...

Experience

  • Django - 12 years
  • Python - 12 years
  • Django REST Framework - 10 years
  • Git - 10 years
  • REST APIs - 10 years
  • Test-driven Development (TDD) - 7 years
  • GitHub Actions - 3 years
  • Dash - 2 years

Availability

Full-time

Preferred Environment

GitFlow, GitHub, Linux, MacOS

The most amazing...

...software I've written is code for controlling a 24 ton telescope with high precision. In 2018 the telescope was ranked third worldwide in its niche.

Work Experience

Solutions Architect

2019 - 2022
Croatian Air Traffic Control
  • Created a cross-platform application from scratch for iPadOS and Windows. The app also works as a web app.
  • Made extensive use of the Django admin with some special features developed to make the configuration easier where standard browser inputs would be awkward to use.
  • Contributed to a clever multiplatform setup schema from the browser, presenting different options depending on the detected OS and device (Setup.exe for Windows, PWA for iPadOS, web app otherwise).
  • Worked on sound effects for time-sensitive events in the application (received messages with timed expiration).
Technologies: Django, Python, Cordova, .NET, REST APIs, iOS, Progressive Web Applications (PWAs), APIs, Back-end, Full-stack, React, PostgreSQL, CI/CD Pipelines, PWA, Docker Compose, Redis, API Architecture, Full-stack Development, API Design

Senior Django Developer via Toptal

2016 - 2019
Consumers Unified, LLC
  • Participated in breaking up a monolith codebase into manageable microservices and worked on further development of the product within the microservice approach.
  • Developed the back end and influenced the front end of an interesting wizard-style questionnaire for gathering visitors' needs and recommending a suitable partner.
  • Tracked bugs and maintained a production site in working order using a mix of internal and commercial tools and services.
Technologies: Python, Django, JavaScript, CSS, CoffeeScript, Git, GitHub, Agile Software Development, MySQL, Single Sign-on (SSO), Google Sign-in, Websites, Unit Testing, Back-end, CI/CD Pipelines, Redis, Full-stack Development

Tech Lead

2010 - 2019
Astro.hr
  • Architected and led the development of computerizing a 24-ton telescope using many different technologies.
  • Developed low-level command-line control software and APIs in Python.
  • Led the development of several device drivers for Windows in C#.NET, utilizing the previously developed APIs.
  • Constructed and assembled multiple auxiliary hardware devices for the telescope (e.g., wireless controller for dome doors, focuser, ventilator controller, lights controller, etc.) using Arduino platform and Eagle PCB design software.
  • Updated a Linux device driver written in C for position encoders to work on a newer Linux kernel.
  • Architected and led the ongoing development of a search and retrieval system using PostgreSQL, Django, and Bash. This system facilitates the precovery of asteroids by searching through previously made images of the sky.
Technologies: Electronics, C#.NET, Arduino, C++, Python, APIs, Back-end, API Architecture, API Design

Freelance Developer

2012 - 2015
Changeset.hr
  • Consulted clients, chose technologies, and established project tech details.
  • Created efficient HTML/CSS/JavaScript front ends from PSD files.
  • Explored the various aspects of WooCommerce, created a payment gateway module, and developed various customizations for several projects.
  • Created a plugin to allow WordPress admins to order users with a drag-and-drop feature.
  • Created a full-layout template system operating on top of Visual Composer in WordPress.
  • Mastered Debian/Linux services and created two custom hardware-interfacing services for position encoders readout.
  • Created a number of WordPress sites with various designs and features, ranging from simple corporate blogs to eCommerce sites with complex layouts and custom data structures.
Technologies: JavaScript, CSS3, HTML5, WooCommerce, WordPress, PHP, Django, Python, Websites, Unit Testing, APIs, Back-end, Full-stack, React, Azure, PostgreSQL, CI/CD Pipelines, Amazon Web Services (AWS), Redis, Full-stack Development

Co-founder

2012 - 2014
Backre.st
  • Created a site for back-end services to allow users to create REST APIs using a web interface.
  • Became very knowledgeable about REST and gained experience building complex RESTful APIs.
  • Used MongoDB and PostgreSQL together for a Django project.
  • Studied the challenges of authenticating secondary API users.
  • Created a custom server-side JavaScript validation system for user-input data.
Technologies: Server-side JavaScript, REST, Django, Websites, Unit Testing, Python, APIs, Back-end, Full-stack, PostgreSQL, Minimum Viable Product (MVP), Full-stack Development

Senior Developer

2012 - 2012
Kolektiva Web
  • Developed sites and modules for several sites powered by Magento professional edition sharing the same codebase.
  • Fixed bugs specific to the cloud setup, such as mysteriously missing orders, inventory oversells, etc.
  • Migrated large databases, several gigabytes in size, with sensitive data.
  • Worked with various business-enhancement APIs, including affiliate services, smart newsletter services, visitor behavior tracking, etc.
  • Set up Jenkins and Mercurial for continuous code integration in a scrum development team.
Technologies: Private Clouds, JavaScript, Magento, Cloud Computing, Websites, Unit Testing, APIs, Back-end, Full-stack, CI/CD Pipelines

Developer and Tech Lead

2009 - 2012
Hi-Tech
  • Developed many different projects using PHP, mostly with WordPress.
  • Created several Facebook apps with Django and Fandjango apps.
  • Developed front-end skills thanks to my colleagues' help. Built front-end and back-end projects.
  • Took care of the company's product quality level for both the back end and front end.
  • Led the development team, worked with the sales department, and offered support during client meetings.
  • Translated the wishes of the clients into needs and made technology decisions accordingly.
  • Tried several PHP frameworks, CMSs, and shops, including eZ Publish, CodeIgniter, Template Tamer, PrestaShop, and more.
Technologies: Facebook API, Django, WordPress, PHP, Websites, Full-stack, CI/CD Pipelines

Astronomical Observatory in Tican

https://en.astro.hr/
Tech lead and main developer for the project of computerizing a large one-meter (diameter), 24-ton telescope at the astronomical observatory on Tičan, Croatia.

This is an ongoing multi-year effort, and a combination of professional and volunteering work.

The telescope has started working full-time in 2017, and in 2018 it has been ranked third worldwide by the number of confirmation and follow-up measurements of all newly discovered asteroids.

Air Traffic Controller Training System

This is an in-house solution for an air traffic controller training center. New candidates for air traffic controllers go through extensive simulations, called games, where instructors put them through various simulated situations in air traffic that they then have to correctly resolve in real time.

Before this project, the candidates and instructors who set up and run the games communicated using ad-hoc solutions such as WhatsApp or Viber or sometimes physically walking up to each other to communicate changes in the game. This was very inefficient and often ruined the element of surprise that the instructors were trying to create for candidates.

To facilitate better communication between candidates and instructors, the client envisioned a centralized system to which every pilot would connect using their PC, and every instructor would connect via a custom mobile app.

My job was to take the client's specifications and talk with the client to understand their problem fully. After this, I put together all the technologies and techniques that will be needed for the project, i.e., I architected the solution. Finally, I integrated a design and implemented the system.

Django Source Code Contributions

https://github.com/django/django/pull/11504
I was added to the "authors" list for Django, my favorite open-source web framework, for fixing a bug that was sitting for nine years in the admin interface.

I am proud of the achievement, and hope to contribute again in the future.

Original bug report: #15910
I worked from a newer report, but same bug: #29087

Danish State Visits and Urban Danish Solutions

https://www.urbandanish.solutions/
A collection of sites for the Danish Ministry of Foreign Affairs. Each site is dedicated to one official visit of a business and state delegation to another country.

Each site features:
• Public section, with content and structure fully editable via CMS
• Registration and logistical information for participating company representatives
• Elaborate administration interface that aids the organizer team

There are three sites thus far:
https://hr2014.urbandanish.solutions/ (previously https://danishstatevisit.hr/)
https://danishstatevisit.dk/indonesia2015/
https://danishroyalvisit.dk/italy2018/

Developed in Django/Python. The front end was outsourced and is based on Bootstrap.

As of 2019, the project is still public and has been forked/pivoted to another type of events (organized by Danish Embassy in Zagreb). These events are more focused on a single industry at the time, e.g:
https://www.urbandanish.solutions/smartcities2017/
https://www.urbandanish.solutions/smartislands2018/
https://www.urbandanish.solutions/watercroatia2019/

Screenshot are available here: http://changeset.hr/portfolio/danishstatevisit-hr

Front Page Slider for McDonands.hr

A fully customizable front page slider driven by the WordPress admin panel.

Google Maps in Django Admin

A user-friendly (point and click) Google Maps tool for the Django admin panel that was developed for a tourist service.

BuraZnanja (gust of knowledge)

A Croatian e-learning platform for the University of Rijeka that is based on Django. I created the back end, which features multiple courses, user registration, signup for courses, video lessons (YouTube), and quizzes.

Bellaloopa

A fully customizable layout template solution that I created to address inconsistent layouts between content types.

Real-time Device Management System

The project involved interacting with PLC devices, encompassing reading and writing operations. I successfully accomplished the coding task within 48 hours, including an additional sub-task of containerizing the project and publishing it online.

Several key features include:

• Implementation of a dummy PLC reader module designed for testing purposes.
• Utilization of Celery for background tasks
• Incorporation of a graphical representation illustrating the uptime and downtime of each device
• Provision of a feature to download the graph mentioned above as a PDF generated on the server side
• Full containerization of the project through Docker Compose, facilitating swift local deployment

I can provide a concise file containing PLC reader classes upon request. This file illustrates class inheritance, type annotations, and commenting. The class in use, whether FakeReader or PLCReader, is determined by the project settings file, where it is configured as a string value for dynamic import. This approach resembles how Django configures middlewares and other dynamically loaded elements.

Libraries/APIs

jQuery, Facebook API, Arduino RTC, Django ORM, Django-reversion, Django-taggit, React, Sage, REST APIs

Tools

Mercurial, Git, PyCharm, PhpStorm, Docker Compose, IntelliJ IDEA, GitHub, Adobe Photoshop, Sublime Text, Vim Text Editor, Apache, NGINX

Languages

Python, CSS, HTML, C++, Java, PHP, JavaScript, Bash, ECMAScript (ES6), Bash Script, HTML5, CSS3, C#.NET, C#, C, SQL, CoffeeScript

Frameworks

Django, Django REST Framework, Flask, Django Channels, .NET

Paradigms

Object-oriented Programming (OOP), Model View Controller (MVC), REST, Test-driven Development (TDD), Procedural Programming, Unit Testing, API Architecture, Agile Software Development

Platforms

Debian Linux, Raspberry Pi, Django CMS, MacOS, WordPress, Linux, Arduino, Raspberry Pi 3 GPIO, AWS Lambda, Amazon Web Services (AWS), WooCommerce, Magento, iOS, AWS Cloud Computing Services, Azure, Docker

Storage

SQLite, PostgreSQL, MySQL, Redis, MongoDB

Other

APIs, Dash, Websites, Back-end, Full-stack, Minimum Viable Product (MVP), Full-stack Development, Digital Electronics, Embedded Hardware, GitHub Actions, CI/CD Pipelines, PWA, API Design, Server-side JavaScript, Private Clouds, GitFlow, Electronics, PLC, Cloud Computing, Cordova, Progressive Web Applications (PWAs), SDKs, LDAP, Single Sign-on (SSO), Google Sign-in, Open Source, Architecture

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