Blog

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

DjangoPythonReactJavaScriptDevOpsCompany CultureCase StudiesReact NativeSoftware Development

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 Pavlin Gergov
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 Alexander Nadjarian
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.

The Faces of HackSoft - Krasimira Badova

by Krasimira Badova
Jun 16, 2020
Behind any successful company, stands a motivated team. We would love to tell you more about it. Starting with Krasimira Badova!

Rewriting the OfficeRnD's Member Portal

by Ivaylo Bachvarov
Apr 30, 2020
The ultimate platform for coworking and flex spaces needed a new members portal. We teamed up with the OfficeRnD engineers to fully rewrite it using React and a little Redux.

We have a team!

by Radoslav Georgiev
Apr 27, 2020
4 years ago we formed a team for one of our first clients - co-living pioneer The Collective. The journey is now over & the team is ready & available to take on new challenges!

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
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.

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 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 seems 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 tests in Django with fakes and factories

by Martin Angelov
Aug 22, 2017
In this article we explore how to improve our Django tests using fakes & factories, generating random values & model instances.

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.