• Link to Xing
  • Link to LinkedIn
  • English English English en
  • Deutsch Deutsch German de
AT: +43 1 714 00 20 | DE: +49 69 348763610 | Mo-Fr 8am-5pm
Spirit in Projects
  • Training / ACADEMY
  • Blog
  • Innovation
  • Certifications
  • Consulting
  • About us
  • German
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu
Retro-Wecker in kräftigem Orange mit klassischem Zifferblatt auf einem modernen Schreibtisch. Orangefarbene Büroaccessoires und ein weicher, unscharfer Hintergrund verbinden nostalgisches Design mit zeitgemäßem Arbeitsumfeld.

Time tracking that eats up time: our Power Apps experiment

10. February 2026

As a small team of three developers, we developed an internal time tracking app. The goal was to create a stable internal tool that would integrate seamlessly into our system landscape and remain maintainable in the long term.

Since our company is heavily integrated with Microsoft 365, we opted for our current time tracking solution for Power Apps. In retrospect, this decision was obvious – but not efficient.

Why Power Apps made sense for us initially

On paper, Power Apps offers many advantages for organisations that use Microsoft 365. Azure Active Directory, Outlook, Teams and SharePoint are directly connected. Authentication, user management and role models are already in place and do not need to be redesigned.

These are precisely the points that convinced us. The platform promised a quick start, low infrastructure costs and a low barrier to entry – especially for internal applications.

In practice, however, things turned out differently.

The reality: a year of familiarisation with a low-code world

The development of time tracking in Power Apps was not a quick start.
On the contrary, it took us almost a year to develop the platform properly.

The biggest time factor was not the technical complexity, but familiarising ourselves with:

  • the mindset of Power Apps,
  • the limitations of formulas and components,
  • the peculiarities of Power Automate,
  • and the interaction of the various Microsoft tools.

Since you don’t work directly in the code, but rather with the tools, patterns, and abstractions provided by Microsoft, you are severely limited. Many things that are trivial in classic code can only be implemented indirectly or not at all.

A large part of the development time was spent not on technical logic, but on understanding and working around the platform mechanisms.

When low-code becomes a structural problem

The performance issues with Power Apps were not a gradual effect, but were present from the outset. Even when opening the application, it took a noticeably long time for all the necessary operations, dependencies and initialisations to load. This behaviour was independent of data volume or usage and clearly demonstrated the framework’s lack of efficiency.

Optimisation was hardly possible, as essential processes were beyond our control. In addition, systemic peculiarities such as the automatic deactivation of inactive Power Automate flows exacerbated the situation. In order to keep productive processes stable, technical workarounds had to be implemented without any added value.

At this point, it became clear that our development work was no longer based on technical requirements, but on platform limitations.

The comparison: three months of Django instead of a year of Power Apps

The switch was not an experiment, but a conscious decision.
We rebuilt the time tracking system – this time with Django in Python.

The actual development of the new platform took around three months.

Despite being a completely new development, we were significantly faster than with Power Apps. The reason was simple: we were able to work directly in the code again. Architecture, data models, business logic and performance were entirely in our hands.

We rely on prompt-driven development to boost productivity. AI-supported prompts assist us with standard logic, testing, refactoring and modelling. However, technical responsibility remains clearly with the development team.

The existing Power App was not abruptly shut down. The relevant data was decoupled from the Power Apps world via data flows and transferred to a separate database. This allowed us to migrate step by step without jeopardising ongoing operations.

This approach enabled us to build the new platform in parallel and gradually take it over.

Microsoft integration without low code

The change meant that Power Apps’ implicit Microsoft integration was no longer available. Authentication, user synchronisation and permissions had to be implemented explicitly – for example, via Azure AD, OAuth and Microsoft Graph.

In practice, this effort proved to be manageable and easily controllable. Instead of implicit platform logic, there are now explicit interfaces, clear configurations and traceable behaviour. Integration is no more difficult – it is more transparent and easier to test.

Conclusion: Low-code costs time – classic code saves it

Power Apps did not enable us to get started quickly. The platform required a long training period and forced us to think within the limits of its tools.

The Django-based redevelopment, on the other hand, was significantly faster, even though it was completely reimplemented. Direct code, clear architecture and full control over the system proved to be more efficient than any low-code abstraction.

Today, our development is more targeted, stable and sustainable.
Our time tracking system is back to doing what it’s supposed to do:
tracking time – not consuming it.

Share this entry
  • Share on Facebook
  • Share on X
  • Share on WhatsApp
  • Share on Pinterest
  • Share on LinkedIn
  • Share on Tumblr
  • Share on Vk
  • Share on Reddit
  • Share by Mail
https://spiritinprojects.com/wp-content/uploads/2026/01/beitragsbild_Zeiterfassung.png 450 800 Tanja Meszarits https://spiritinprojects.com/wp-content/uploads/2020/04/sip_web_padding_10px_topbot.jpg Tanja Meszarits2026-02-10 12:00:152026-02-10 12:43:56Time tracking that eats up time: our Power Apps experiment

About the author:

Tanja Meszarits

Tanja Meszarits ist Marketing-managerin bei Spirit in Projects. Sie entwickelt Ideen, um die Marke sichtbarer zu machen und motiviert das Team zu mehr Sichtbarkeit auf LinkedIn.

Recent
  • The True Costs of Poor Requirements22. June 2026 - 14:57
  • The 10 Most Common Mistakes in IT Tenders – and Why Many...18. June 2026 - 9:30
  • Agentic AI: Why AI Systems Can Now Act Autonomously –...21. May 2026 - 13:41
  • When AI safety mechanisms fail—and what helps to prevent...5. May 2026 - 15:44
Tags
Agile Agile methods Agile methods and Kanban AI Artificial Intelligence AWS Business Analysis City of Vienna Cloud Demand Management Design Thinking Digitalization Document Analysis Efficient Software Development Enterprise Architecture Eurotax Innovation Invitations to tender ITG KABEG Kanban modeling Organizational Development Organizational Strategy Portfolio Management Process Management Program Management Project Controlling Project Management Project Marketing Projektmanagement Quality Management Requirements Engineering Software Architecture Stakeholder Management System Architecture Test Management Training UML UML Modelling Usability User Experience VIA Videotraining ÖBB

Contact us!

Order information material via email.
  • Mail
  • Xing
  • Linkedin
© Copyright - Spirit in Projects - Enabling digital innovation
  • Terms of Service
  • Imprint
  • Privacy policy
  • Contact
Scroll to top Scroll to top Scroll to top

Our website only uses technical necessary cookies. We do not use third party services.

Close

Cookie and Privacy Settings



How we use cookies

We may request cookies to be set on your device. We use cookies to let us know when you visit our websites, how you interact with us, to enrich your user experience, and to customize your relationship with our website.

Click on the different category headings to find out more. You can also change some of your preferences. Note that blocking some types of cookies may impact your experience on our websites and the services we are able to offer.

Essential Website Cookies

These cookies are strictly necessary to provide you with services available through our website and to use some of its features.

Because these cookies are strictly necessary to deliver the website, refusing them will have impact how our site functions. You always can block or delete cookies by changing your browser settings and force blocking all cookies on this website. But this will always prompt you to accept/refuse cookies when revisiting our site.

We fully respect if you want to refuse cookies but to avoid asking you again and again kindly allow us to store a cookie for that. You are free to opt out any time or opt in for other cookies to get a better experience. If you refuse cookies we will remove all set cookies in our domain.

We provide you with a list of stored cookies on your computer in our domain so you can check what we stored. Due to security reasons we are not able to show or modify cookies from other domains. You can check these in your browser security settings.

Other external services

We also use different external services like Google Webfonts, Google Maps, and external Video providers. Since these providers may collect personal data like your IP address we allow you to block them here. Please be aware that this might heavily reduce the functionality and appearance of our site. Changes will take effect once you reload the page.

Google Webfont Settings:

Google Map Settings:

Google reCaptcha Settings:

Vimeo and Youtube video embeds:

Privacy Policy

You can read about our cookies and privacy settings in detail on our Privacy Policy Page.

Privacy policy
Accept basic settingsAccept all cookiesClose notification