Search

What are you looking for?

Enter at least 3 characters or an abbreviation, such as AI, BI, or HR.

Home › Software & Integrations › Technologies and methods used by our software house
Software & Integrations

Technologies and methods used by our software house

Software house technologies

We focus on reliability and performance, so our team works with current technologies and software development best practices.

We specialize in the Microsoft ecosystem, developing software for Windows and Windows Server environments. For backend development, we rely primarily on the .NET platform. We program mainly in C#, using ASP.NET Core, ASP.NET MVC, and Blazor to build efficient web applications and online services. We also use Python in data, AI, and automation projects. We access data through Entity Framework / Entity Framework Core, which accelerates development of the database layer and provides secure communication with databases.

  • .NET
  • Blazor
  • Python
  • TypeScript
  • Angular
  • Vue.js
  • React
  • Nuxt
  • PostgreSQL
  • MongoDB
  • SonarQube
  • OWASP

These are the technologies in which we have the most experience. The complete list is available on the Software house page. When the client’s environment requires it, we also work with other technologies.

Free consultation

Database design and optimization

Our software house has experience designing and optimizing relational databases such as Microsoft SQL Server in versions from 2005 through 2019, MySQL, and PostgreSQL, as well as the nonrelational MongoDB database. We also use lightweight solutions such as SQLite when an embedded database is required, for example in desktop applications. Our knowledge of different database systems allows us to select a solution suited to the project’s scale and type—from small applications to extensive systems that process large data volumes.

Modern frontend and a user-friendly interface

We build modern, user-friendly frontend interfaces. We use JavaScript libraries and frameworks, particularly Vue.js and Nuxt, as well as Angular and React, to create dynamic applications. Our daily work also uses HTML5/XHTML standards, CSS style sheets—including the Sass/SCSS preprocessor for more advanced styling—and JavaScript/TypeScript scripting languages that make applications interactive. We build responsive user interfaces that display correctly on different devices and screens. We also use popular frontend libraries such as Bootstrap to accelerate styling and provide a consistent application appearance.

Integration and communication in web applications

We have strong expertise in web technology and data communication standards. We design and implement REST APIs and SOAP integrations that connect our software to external systems. We parse and generate XML documents for B2B integrations and data exchange. We also use asynchronous AJAX techniques for smooth communication between the frontend and backend without reloading pages. As a result, our applications communicate efficiently with other services, including external services and modules already operating at the client.

Software developer working with application code at the Astrafox software house

Professional development tools

We use professional development tools throughout the software development lifecycle. We write and debug code in Microsoft Visual Studio, which integrates effectively with .NET and web technologies. For database design and management, we use tools such as SQL Server Management Studio (SSMS) for Microsoft SQL Server and MySQL Workbench for MySQL databases. To test and analyze APIs and web services, we use widely adopted tools such as Postman and SoapUI. We also create interactive API documentation with Swagger, making it easier for clients and other developers to use the web services we implement.

Version control and automation (CI/CD)

Version control and automation are important parts of our software house’s work. We maintain every project in a version control system—most often Git, supported by the Azure DevOps platform—and, depending on the client’s requirements, also work with Azure DevOps Server / TFS. Version control stores source code securely and allows multiple developers to work on a project in parallel without conflicts. We have also implemented CI/CD (Continuous Integration/Continuous Delivery) practices that automate application building, testing, and deployment. Using platforms such as Azure DevOps, we configure pipelines that, for example, run tests and build new application versions whenever the code changes. This approach accelerates change delivery and minimizes the risk of deployment errors.

Project management and work planning

Project management and work planning solutions complete our technology ecosystem. We use tools including Jira and Trello to organize tasks and requests and track project progress. This gives us transparency and control over the Scrum backlog. For larger projects, we also use Microsoft Project for scheduling and Microsoft Visio to create system architecture and business process diagrams. Together, this broad set of technologies and tools allows us to deliver varied projects—from web applications and systems that integrate an organization’s environment to smaller desktop applications. Our specialists continually develop their skills, keeping pace with industry trends and selecting the right technology for each task.

AI in software development

We use AI in the team’s daily work: requirements analysis, writing and reviewing code, creating tests, refactoring legacy applications, and preparing documentation. This allows us to deliver subsequent versions faster and devote more time to architecture, security, and quality.

Code prepared with AI support follows the same process as any other code: developer review, automated testing, quality and security analysis using SonarQube and OWASP Dependency-Check, and the CI/CD pipeline. We select AI tools so that client code and data are not used to train models.

If a client does not want AI to work with its code or data, we deliver the project without using AI. We establish this at the start of the engagement.

Software house working methods

Our software house places strong emphasis on effective work organization and transparency in the development process. We use modern IT project management methods, primarily Agile, with particular emphasis on the Scrum framework. This approach allows us to deliver software faster, respond more effectively to change, and maintain regular contact with the client at every stage. Instead of completing the project in isolation and presenting the finished solution only at the end, we work iteratively. We divide the work into short cycles called sprints, which usually last one to two weeks or one month, depending on the project. After every sprint, we deliver a working product increment that the client can review and test before providing feedback. The team responds quickly to changing requirements and new ideas, while the client retains full control over the product’s direction.

Collaboration structure under Scrum

Scrum structures our collaboration and communication. We hold daily stand-up meetings, or Daily Scrums, where the team synchronizes progress, reports obstacles, and plans the day’s work. At regular intervals, for example every two weeks, we hold a Sprint Review to present the sprint outcome to the client and stakeholders. This is when we jointly evaluate completed work and collect feedback. The team then holds a Sprint Retrospective to discuss what went well and what can be improved in the next sprint, continually refining the process. During Sprint Planning, we prioritize the backlog and select work for the next sprint, always in consultation with the client or the Product Owner representing the client’s interests.

Task management and project transparency

To manage requirements and tasks effectively, we use tools mentioned above, such as Jira and Trello. We create a Product Backlog—an ordered list of features and improvements to be delivered. Each backlog item, such as a User Story or task, has an assigned priority, giving the client influence over the order in which features are developed. Our team breaks large tasks into smaller elements, estimates them, and completes them in sprints to maintain predictability and timeliness. Transparent project management tools let the client track progress continuously and see which tasks are in progress, completed, or planned. This transparency builds trust and facilitates communication.

Agile flexibility and a better product fit

An agile approach does not mean a lack of planning or chaotic work. In Agile, we also define the product vision, scope, and timeframe, while allowing changes and iterative refinement of details. As a result, the final product reflects users’ real needs because those needs are verified throughout the project. Regular validation makes it possible to correct the project’s direction earlier, so the client receives what the organization truly needs, not only what was recorded in the initial documentation.

Sound engineering practices and design patterns

Alongside agile methods, we emphasize sound engineering practices and design patterns. We develop code according to clean architecture principles and frequently use proven design patterns, such as MVC (Model-View-Controller) in web applications and various creational and structural patterns in the business logic layer. These practices make our software house solutions modular and maintainable. Other teams and developers can understand the system structure, while adding or changing features follows an orderly process that is less prone to errors. We also emphasize unit and integration testing with NUnit, xUnit, and Moq. Combined with CI/CD, this allows us to identify problems early. We assess code quality and security using SonarQube and OWASP Dependency-Check.

Our working culture: predictability and quality

All these elements—Agile and Scrum, AI in the team’s work, sound engineering practices, and tools—form a working culture focused on delivering a valuable product to the client in a predictable, transparent way that reflects the client’s needs.

Want to discuss your project? Contact us and schedule a free consultation.

Let’s discuss your project

Describe the challenge, scope, or system to be developed. We will respond and recommend the next step.

Describe your challenge