HackSoft logo
  • Approach
  • Case Studies
  • Team
  • Company
  • Services
      Custom Software Development ConsultingAI Integrations
  • Solutions
  • Open Source
  • Blog

Blog

While working on various projects, we gather first hand software development experience. This is where we share it with you!

👉 RSS

Company CultureCSSDjangoPythonReactJavaScriptDevOpsNext.JSReact NativeServerlessSoftware Development

The Faces of HackSoft - Dessy Ilieva

by Iveta Petrova
Mar 12, 2024
Behind any successful company stands a motivated team. Let's introduce you to Dessy - one of our incredible and experienced QA engineers.

The Faces of HackSoft - Dimitar Todorov

by Iveta Petrova
Jan 15, 2024
Behind any successful company stands a motivated team. This month, we would like to introduce you to Dimitar Todorov - a backend software engineer at HackSoft.

HackSoft’s Year in Review | 2023

by Iveta Petrova
Dec 21, 2023
As the year comes to an end, we're excited to share our 2023 Year in Review, packed with achievements, growth, and unforgettable moments. Despite the challenges, we can say that 2023 was a good year for HackSoft! ✨

The Faces of HackSoft - Stefka Zumerova

by Iveta Petrova
Dec 12, 2023
Behind any successful company stands a motivated team. Let us introduce you to Stefka - one of our incredible QA engineers.

The Faces of HackSoft - Pavel Penchev

by Iveta Petrova
Nov 9, 2023
Behind any successful company stands a motivated team. This month, we would like to introduce you to Pavel - one of our backend developers.

Reintroducing HackCast

by Iveta Petrova
Oct 23, 2023
We introduced HackCast back in 2018. After a bit of a pause after the end of the first season - HackCast is now back, with a plan to stay!

The Faces of HackSoft - Miroslav Krastev

by Iveta Petrova
Oct 16, 2023
Behind any successful company stands a motivated team. We would like to introduce you to Miro - one of our Python and Django developers.

The Faces of HackSoft - Tanya Kokonyan

by Iveta Petrova
Aug 15, 2023
Behind any successful company stands a motivated team. Meet Tanya - one of our latest additions to the team.

Adding required two-factor authentication (2FA) to the Django admin

by Vasil Slavov
Jul 13, 2023
The Django admin is a powerful tool for managing our web applications. In this article, we will show how to add additional layer of security, by enforcing two-factor authentication (2FA) for all users, logging in to the Django admin.

Adding Google login to your existing Django and Django Rest Framework applications

by Tanya Kokonyan
Jun 13, 2023
In this article, we show 2 ways of adding Google login to your existing Django & Django Rest Framework project, without relying on big 3rd party apps.

Chatting with Django’s documentation using langchain, Chroma & OpenAI APIs

by Radoslav Georgiev
Apr 19, 2023
In this article, we explore how to leverage the new set of LLM & AI tools, in order to ask questions over Django's documentation.

The Faces of HackSoft - Yana Matviychuk

by Iveta Petrova
Mar 20, 2023
Behind any successful company stands a motivated team. We would like to introduce you to Yana Matviychuk - the newest addition to the Marketing team.

HackSoft's 9th Birthday Giveaway

by Iveta Petrova
Feb 3, 2023
In February, HackSoft celebrates its 9th Birthday. In honor of that, we are organizing a special Giveaway.

Timestamps in Django - exploring auto_now, auto_now_add and default

by Radoslav Georgiev
Jan 30, 2023
In this article we explore the behavior of auto_now, auto_now_add and default, in the context of the usual created_at and updated_at timestamps, that we add to our Django models.

The Faces of HackSoft - Stilian Nikolaev

by Iveta Petrova
Jan 27, 2023
Behind any successful company stands a motivated team. We would like to introduce you to Stilian Nikolaev - our youngest team member yet.

2022 was a great year for HackSoft

by Radoslav Georgiev
Dec 19, 2022
As 2022 is coming to its end, it is time to sit down and reflect on the past year. With all the craziness going on, we thought it would be a good idea to appreciate all our achievements, big or small, and just be grateful for everything that happened. It turns out, 2022 was a great year for us.

The Faces of HackSoft - Iveta Petrova

by Teodora Georgieva
Oct 10, 2022
Behind any successful company stands a motivated team. We would love to introduce you to our newest team member Iveta Petrova.

HackSoft is attending OpenFest 2022

by Iveta Petrova
Oct 7, 2022
HackSoft is attending OpenFest 2022 as sponsors, with our own booth for the first time. Come and meet the team on the 15th and 16th of October at Sofia Tech Park.

Django's JSONField incrementation with F expressions

by Vasil Slavov
Sep 16, 2022
Updating a QuerySet using an F expression is a common and very useful Django pattern. In this article, we explore how to bring this pattern to a JSONField.

The Faces of HackSoft - Ruzha Bobotanova

by Teodora Georgieva
Jun 17, 2022
Behind any successful company stands a motivated team. We would love to introduce you to Ruzha Bobotanova. She is one of the newest HackSoft team members who joined us in 2021.

Managing dependencies with Dependabot and GitHub Actions

by Martin Angelov
May 31, 2022
All of our projects have external dependencies. It's a good idea to keep them up-to-date. In this article, we'll show how we do it, using dependabot and GitHub Actions.

The Faces of HackSoft - Pavel Iliev

by Antonia Yordanova
May 25, 2022
Behind any successful company stands a motivated team. We would love to introduce you to Pavel Iliev.

Direct to S3 file upload with Django

by Radoslav Georgiev
Apr 12, 2022
File upload tend to show up as a feature in most web apps. In this article, we explore how to handle direct to S3 uploads with Django, where the actual file upload bypasses the Django backend.

The Faces of HackSoft - Lina Savova

by Teodora Georgieva
Mar 29, 2022
Behind any successful company stands a motivated team. We would love to introduce you to Lina Savova. She is one of the newest HackSoft team members who joined us in 2021.

How we learn and share knowledge

by Antonia Yordanova
Mar 21, 2022
At HackSoft, we share ideas, knowledge and insights from our work. In this article, you'll learn the practices and traditions that help us keep our expertise sharp.

HackSoft is 8 years old!

by Radoslav Georgiev
Mar 7, 2022
Today is a special day, because we are celebrating our 8th birthday🎂 We play with an infinite mindset & we are here to stay. Cheers to many more years and success!

How we build software

by Radoslav Georgiev
Feb 14, 2022
For clients, software development might look like a very exotic ritual. That's why, we want to shine a light on the entire process & explain what's happening.

The Faces of HackSoft - Krasimira Angelova

by Krasimira Angelova
Feb 3, 2022
Behind any successful company, stands a motivated team. We would love to tell you more about it. Starting with Krasimira Angelova!

The Faces of HackSoft - Kamen Hristov

by Teodora Georgieva
Feb 3, 2022
Behind any successful company stands a motivated team. We would love to introduce you to Kamen Hristov.

What is it like being part of HackSoft?

by Teodora Georgieva
Jan 26, 2022
Have you ever heard of a team that feels like a second family? HackSoft is a company created by such a team. In the following article, we explain how and why we contribute to making it so.

The Faces of HackSoft - Anton Nyagolov

by Teodora Georgieva
Jan 21, 2022
Behind any successful company stands a motivated team. We would love to introduce you to Anton Nyagolov. He is one of the newest HackSoft team members who joined us in 2021.

Handling timezone and DST changes with Python

by Alexandra Yovkova
Jan 20, 2022
Working with dates, times, timezones and daylight saving times is never straightforward. In this article we explore how to account for all of that, using Python.

Django Styleguide Survey

by Radoslav Georgiev
Dec 15, 2021
The Django Styleguide is core to how we develop software, using Python and Django. Now, it's time to reach outside of HackSoft and see how other people are using the Django Styleguide. That's why we are conducting the Django Styleguide Survey.

Improve your Django tests with fakes and factories: Advanced usage

by Martin Angelov
Dec 13, 2021
In this article, we do a deep-dive into Python's faker and Django's factory_boy, to show advanced usages that can improve the quality of your tests.

Building beautiful loading states with React Loading Skeleton

by Daniel Goshev
Nov 16, 2021
In our work as web app developers we want to present the users with appealing loading screens while we are fetching data. In this article we'll be implementing a simple version of the "skeleton-screen" approach.

How to: Responsive iframes

by Daniel Goshev
Nov 10, 2021
The iframe tag is used quite often around the web. Getting it to look good across multiple resolutions, however, might be a tricky task.

Building the HackConf 2021 Streaming Platform

by Daniel Goshev
Nov 3, 2021
An overview of the process of building the streaming platform for HackConf 2021.

Django ORM Under the Hood - Iterables

by Ivaylo Donchev
Nov 1, 2021
In this article, we are taking a look under the hood of Django's ORM internals, namely, Iterables.

Visual issues of React Material UI after migrating from v4 to v5

by Kamen Kotsev
Oct 27, 2021
Fixing a possible issue you can hit while migrating from Material UI v4 to v5 if you are not careful

Django related fields & the caveats of implicit SQL INNER JOINs

by Ventsislav Tashev
Oct 8, 2021
Dealing with implicit SQL INNER JOINs when querying related fields with the Django ORM.

Third-party sign-in in React Native - the TestFlight approval struggles

by Martin Angelov
Sep 8, 2021
Submitting an app to TestFlight usually takes some unexpected time because of the approval process. In this post, I'll walk you through the struggles we had due to a third-party sign-in.

Rhythm

by Radoslav Georgiev
Aug 16, 2021
In HackSoft, we evaluate how a project is going by observing if the team is in “rhythm”. In this post, we go into depth about that.

Google OAuth2 with Django REST Framework & React: Part 2

by Ventsislav Tashev
May 11, 2021
See how to implement an end-to-end server-side Google OAuth2 flow with Django REST framework & React.

Google OAuth2 with Django REST Framework & React: Part 1

by Martin Angelov
Apr 26, 2021
See how to implement an end-to-end client-side Google OAuth2 flow with Django REST framework & React.

Dealing with image CORS error in Chrome, Chromium and Edge

by Kamen Kotsev
Apr 1, 2021
In some cases, we can hit a CORS error when we load images with crossOrigin="Anonymous". It usually happens in Chromium, Chrome or Edge.

Our new website.

by Ivaylo Bachvarov
Mar 19, 2021
Announcing our new website. Headless ghost and Next.js. Blazing fast thanks to Incremental Static Regeneration and CDN from Vercel.

Quick and Dirty Django - Passing data to JavaScript without AJAX

by Radoslav Georgiev
Jan 25, 2021
A quick & dirty approach for passing data from Django to JavaScript, without using AJAX.

The Faces of HackSoft - Teodora Georgieva

by Teodora Georgieva
Oct 13, 2020
Behind any successful company, stands a motivated team. We would love to introduce you to Teodora Georgieva.

The Faces of HackSoft - Pavlin Gergov

by Teodora Georgieva
Oct 1, 2020
Behind any successful company, stands a motivated team. We would love to introduce to you Pavlin Gergov.

The Faces of HackSoft - Antonia Yordanova

by Antonia Yordanova
Sep 23, 2020
Behind any successful company, stands a motivated team. This week we would like to introduce you to Antonia Yordanova.

The Faces of HackSoft - Slavyana Monkova

by Slavyana Monkova
Sep 9, 2020
Behind any successful company, stands a motivated team. This week we would like to introduce you to Slavyana Monkova.

Using multiple font files the right way

by Kamen Kotsev
Aug 27, 2020
Multiple font files for a single font can lead to a messy css if you don't know how to use them as a single font-family definition using @font-face.

The Faces of HackSoft - Alexandra Yovkova

by Alexandra Yovkova
Aug 26, 2020
Behind any successful company, stands a motivated team. We would love to introduce you to Alexandra Yovkova.

The Faces of HackSoft - Peter Yotsov

by Peter Yotsov
Aug 19, 2020
Behind any successful company, stands a motivated team. We would love to introduce you to Peter Yotsov.

Optimize Django build to run faster on GitHub Actions

by Ivaylo Bachvarov
Aug 13, 2020
Optimize build time for a Django project running on GitHub Actions. A couple steps for faster tests and smoother workflow.

The Faces of HackSoft - Vasil Slavov

by Vasil Slavov
Aug 10, 2020
Behind any successful company, stands a motivated team. We would love to introduce you to Vasil Slavov.

The Faces of HackSoft - Kaloyan Gerginov

by Kaloyan Gerginov
Aug 5, 2020
Behind any successful company, stands a motivated team. This week we would like to introduce you to Kaloyan Gerginov.

Summer internship at HackSoft

by Antonia Yordanova
Jul 28, 2020
For the first time, HackSoft has provided an opportunity for 11th-grade students at Technological School "Electronic Systems" (ELSYS, a.k.a. TUES) to experience a real working environment.

The Faces of HackSoft - Bogomila Peneva

by Bogomila Peneva
Jul 28, 2020
Behind any successful company, stands a motivated team. This week we would like to introduce you to Bogomila Peneva.

The Faces of HackSoft – Alexander Nadjarian

by Teodora Georgieva
Jul 21, 2020
Behind any successful company, stands a motivated team. We would love to introduce you to Alexander Nadjarian.

The Faces of HackSoft - Martin Angelov

by Martin Angelov
Jul 15, 2020
Behind any successful company, stands a motivated team. This week we would like to introduce you to Martin Angelov.

The Faces of HackSoft - Ivaylo Donchev

by Ivaylo Donchev
Jul 7, 2020
Behind any successful company, stands a motivated team. This week we would like to introduce you to Ivaylo Donchev.

The Faces of HackSoft - Daniel Goshev

by Daniel Goshev
Jun 30, 2020
Behind any successful company, stands a motivated team. This week we would like to introduce you to Daniel Goshev.

The Faces of HackSoft – Ventsislav Tashev

by Ventsislav Tashev
Jun 23, 2020
Behind any successful company, stands a motivated team. This week we would like to introduce you to Ventislav Tashev.

Django filter - filter(A).filter(B) vs filter(A, B)

by Ivaylo Donchev
Apr 13, 2020
In this article, we are exploring the behavior of Django ORM when it comes to filter chaining & reverse foreign key relations.

Building GraphQL queries with Python

by Ventsislav Tashev
Jan 6, 2020
In this blog post, we will be focusing on building GraphQL queries with Python. I will guide you through the steps for building a complete GraphQL query, along with pagination and filtering (using Relay mechanisms).

GitHub Actions in action - Setting up Django and Postgres

by Radoslav Georgiev
Jan 6, 2020
In this article, we go step by step setting up Django & Postgres on GitHub Actions.

Testing a Django third party application with pytest and tox

by Vasil Slavov
Sep 16, 2019
If we have a Django application and we are ready to release it to PyPI for others to use. But we need to make sure our manual tests are actually translated into automatic ones.

Introducing an Enum choice field for Django

by Radoslav Georgiev
Jul 30, 2019
We created a small Django package that introduces an EnumChoiceField – a layer on top of CharField + choices, that uses Python’s enums.

Prerender.io - Quick solution for the SEO of your SPA

by Ivaylo Bachvarov
Jul 12, 2019
How to set up prerender.io on Heroku to boost the SEO for your Single Page Application (SPA). A good server-side rendering alternative.

Takeaways from ReactNext 2019

by Pavlin Gergov
Jul 1, 2019
Nine people from the HackSoft team went to ReactNext – an annual React conference in Tel Aviv. The conference focuses on React and React Native which aligns perfectly with the tech stack we use in most of our projects.

How to build a product as a non-tech founder

by Radoslav Georgiev
Jun 24, 2019
As a non-technical founder, it can be challenging to get your product idea built & shipped to the end users. In this article, we explore different options & explain the software development process in details.

What we learned from DjangoCon 2019?

by Radoslav Georgiev
Apr 29, 2019
We love going to DjangoCon.This year was our second time. This was our second DjangoCon in a row. In this article, we share the talks that made us big impression!

London tales - helping PiLabs with dev consulting

by Radoslav Georgiev
Apr 4, 2019
We went to London for a week, to help the startups from the last PiLabs cohort with dev consulting. We talked about software & product with the main goal – add value & don’t waste their time. Read more about our journey and observations from the visit.

Renaming models in Django without heavy data migrations

by Martin Angelov
Mar 20, 2019
Renaming a key model in a huge Django application can be trickier than it seems. Tons of data migrations and halted feature development seem unavoidable. In this blog post, we share our alternative approach, avoiding most of the pain.

HackSoft in 2018

by Radoslav Georgiev
Dec 26, 2018
So far, 2018 was the best year for HackSoft.

The Faces of HackSoft

by Radoslav Georgiev
Nov 12, 2018
This article is going to be short in words, but plentiful in pictures. We did the so-called “corporate photoshoot”, thanks to Aleksander Kostov, and it turned out to be good. Say hi to the faces of HackSoft.

Introducing HackCast

by Radoslav Georgiev
Nov 5, 2018
We decided to have an outlet, where we can talk about the everyday things that are happening at HackSoft, and share our point of view about the process of software development. This outlet is HackCast.

HackSoft at EuroPython 2018

by Radoslav Georgiev
Aug 7, 2018
HackSoft team was well represented during EuroPython 2018 in Edinburgh. Radoslav Georgiev, Martin Angelov, Ivaylo Donchev & Pavlin Gergov went to Edinburgh for the conference days of EuroPython and all gave a talk on different Python & Django-related topics.

How to create Natural numbers as objects in Scala

by Kamen Kotsev
Jun 26, 2018
In this article, we explore how to create the entire infinite set of Natural numbers using only objects and the Scala programming language.

How to deal with cases mismatch between Django and React

by Martin Angelov
May 31, 2018
In this article, we explore how to deal with the casing mismatch between the JavaScript world (using camel case) and the Python / Django world (using snake case) using neat mixins, in combination with Django and Django Rest Framework.

Underscores, dunders and everything nice

by Pavlin Gergov
Dec 4, 2017
We’re going to talk about underscores, dunders, encapsulation, and magic methods in Python.

Split your Webpack configuration for development and production

by Martin Angelov
Nov 29, 2017
In this article, we’ll explore how to split your Webpack configuration to have different settings for local development & for production deploys.

Your first Webpack

by Martin Angelov
Oct 31, 2017
In this article we go step by step in setting up a webpack configuration, starting from an empty directory.

Pretty and the JS

by Pavlin Gergov
Oct 23, 2017
In this article, we’ll explore how to setup automatic prettier check on your continuous integration server, so that everyone on your team will follow the same frontend styling.

Improve your Django tests with fakes and factories

by Martin Angelov
Aug 22, 2017
In this article, we show how to up your Django testing game, by using fakes & factories.

Mock Everything

by Martin Angelov
Jun 30, 2017
In this article we explore the python mocking library & how this can help us write better unit tests.

On supporting open source - the first steps

by Radoslav Georgiev
Jun 5, 2017
As a solutions company we use open source tools, languages and frameworks every day. It is an integral part of what we do and how we do it. That’s why we are set to support open source maintainers, contribute & create open source of our own.

Handle errors from third-party apps in Celery & Django

by Martin Angelov
May 29, 2017
Almost every Web application needs to use some third-party software. The problem we usually have to deal with is that third-party apps, like every other app, can return an error. The following article is going to show you how to handle those problems in a nice and neat way in Django with Celery.

Cookiecutting Django Ansible

by Ivaylo Bachvarov
May 9, 2017
In this article, we are exploring how to cookie-cut a ready-to-deploy Django project, with Ansible, in 5 minutes.

Jump, a faster way to navigate

by Genadi Samokovarov
Apr 28, 2017
Jump, a faster way to navigate in your files & folders - a fuzzy matching autojumper.

Integrating a "production-only" Google Analytics in Django

by Radoslav Georgiev
Apr 24, 2017
In this post we are exploring how to integrate Google Analytics in a Django project in a configurable way, so we don't track page views & clicks while developing locally.

Integrating a password-protected MkDocs in Django

by Radoslav Georgiev
Mar 2, 2017
In this article, we are exploring how to serve MkDocs via Django & password-protect it so only logged-in users can access the documentation.
HackSoft logo
Your development partner beyond code.