About Jan

Download Markdown

About Jan

Jan Bakalar

My name is Jan Bakalar (Bachelor is the English translation of my surname), and I'm originally from Prague, Czech Republic. Despite a keen interest in IT from early childhood (a lot of programming in QBasic and scripting overly complex batch files in MS-DOS), I chose to study a Bachelor's degree in Psychology (BSc.), followed by a Master's degree (MSc.) in Organizational Psychology at the University of Nottingham.

I stayed faithful to IT throughout, and found ways to combine both fields. Even my dissertation was built around IT: I designed an eshop selling holiday packages and deliberately simulated a number of errors in it (failed payments, unexpected crashes, and so on) to see how participants reacted. I found some significant differences between how men and women responded, which, combined with a level of English that was still barely fluent at the time, was enough for a first-class degree.

After a brief stint as a Health Care Assistant for the NHS, my wife and I moved from England back to Prague, where I worked in IT Helpdesk roles and built up my technical skills from there. Tech gurus like Paul Browning were a real influence in keeping me learning and pushing toward certifications.

Since then I've studied and passed:

  • ITIL v3 Foundation + Service Operations
  • Cisco CCENT
  • AWS Solutions Architect Associate
  • ISO 20001 Auditor
  • PRINCE2 Foundation
  • Six Sigma Green Belt

With growing work experience since 2008, I realized the real potential of optimizing business workflows at scale, which is what most of my professional work, and a good part of what ends up on this site, is actually about.

0 Years of experience
0 Successfully completed projects
0 Scripting languages actively used
0 Business workflow automations completed

How I work

My approach is both analytical and friendly. I try to get to know the people in an organization, and the processes they actually work with day to day, before looking for ways to improve them through IT.

Jan's previous projects

Here are some examples from my previous work. Some of the guides and tips on this site are based directly on it.

AI Toolkit (2024)

Situation: My client complained that their workers keep using AI-related tools where they share internal company data without considering that some of this data may be used for machine learning and put the company at risk.

Behaviour: I mapped out the most common tools that each team uses and looked up the options for each using API and enterprise-based subscriptions that do not allow machine learning. For instance, OpenAI offers an affordable team-based subscription without learning on the provided inputs. I then created a web application using Next JS v14 and integrated it with their SSO provider (Google) using nextAuth and created a vector database for storing company-internal data. I hired a specialized developer on a set contract to finalize the parts that were more technical, such as connecting the vector DB to the chatbot and improving the UX/UI user experience.

Impact: By using the AI Toolkit, each worker in the company was able to use ChatGPT, Dall-E, MidJourney and other tools without having to worry that their data will leak. Thanks to the authentication and the internal database, previous conversations and generated images were kept saved for future use without being exposed.

Financial Data Visualization (2023)

Situation: My client had operated without being able to tell which of their projects are profitable in relation to the time spent and expenses that they had for their clients' project. They asked for an easy-to-use visualization app.

Behaviour: I studied their existing processes related to timesheet recording and how they recorded expenses. Firstly, I migrated the data from spreadsheets to a database using tools like Make.com and leveraged API access to their timesheet system to feed the data into the database. Then I used a tool called Qlik as well as Google's Looker Studio to make sense of the data based on project type, time range, etc.

Impact: The client was able to identify where resources were wasted versus which projects were profitable and would benefit from further growth. They got better organized in terms of ensuring that their workers fill in their timesheets regularly and keep up the expenses. The automation process with recording and managing their expenses led to significant time savings.

Compliance of two company sites with TISAX AL3 (2021-2022)

Situation: An organization that I worked for was asked by its main client (Volkswagen Group) to receive TISAX certification labels for working with prototype vehicles and highly confidential data. If the deadline was missed, the client could stop doing business with the company; up to 75 people who worked for this client internally would lose their jobs.

Behaviour: I carefully studied the requirements of the AL3 certification and realized that 3 major areas in the company had to be addressed:

  1. Documentation: internal regulations, HR and IT documentation, exchange of knowledge (KB articles), etc.
  2. Processes: how things are done within the company in terms of exchange of data and working environment to comply.
  3. People: how they operate, their level of training and readiness to regular security threats in the online world.

This project took an entire year. I hired two additional people to help me with it and secured full support from the company's stakeholders by explaining to them the serious nature of the requirement and what it would involve to get the job done (through a series of presentations).

An example of how all three of the above mentioned areas were touched is below:

  • A Data Classification & Handling Policy that described in detail which data falls under what category and how it should be handled within and outside the organization. Before doing so, I spent some time asking questions about what data the company works with and how they handled it at the time.
  • I reviewed how the file storage system was set up on the back-end side and prepared policies that would prevent users from sharing data outside the organization without protection (as publicly accessible links), and I created a process (an actual automated website form) that allows users of the organization to request a vendor or client account internally. This form with its workflow was fully automated and included an approval being granted by the respective project owner, with the vendor/client account being granted automatically for the selected period of time with an option to renew the account later.
  • I created training materials on what was changing and why in terms of file exchange and data classification and handling. After approval from upper management, I presented it to every user in the company and made the materials available on the company's extranet site.

Impact: The company passed the strictest (AL3) TISAX certification and received certification labels that allowed it to continue its operations without any disruption. While initially the users were not thrilled about the changes to how they worked, over time they realized that the full automation behind the processes actually increased their productivity while the risk of exposing sensitive data that the company was handling was minimized.

Box to GDrive Migration (2021)

Situation: In late October 2020, I was asked by a company to reduce their costs for file storage, since their cash flow did not allow them to renew their licensing costs for Box (due in early January 2021). The timeline for this project was therefore two months. Since they were already using G Suite for emails and calendar services, we made an agreement to use Google Drive. I was given a budget of 2,000 USD for file transfer costs, and they also asked to tighten the permission structure: to map out who owns what data and who should have access to it (read only or read+write); there was no documentation available, everyone had access to everything. The total amount of data in Box was close to 180 TB when the project commenced.

Behaviour: I leveraged access logs to identify those who had been accessing different master folders recently. I then contacted team managers of those workers to determine the data owners, presented the access logs to them, and let them determine which users should have write, read-only, or no access.

Due to the low budget related to transfer costs, I could not choose a cloud-to-cloud solution that would preserve permissions and move the data for us. I tested some cheaper options such as Multcloud.com, but due to the high amount of data that had to be transferred in such a short amount of time, they weren't feasible to use.

In the end, since everyone from the office was working from home and management confirmed that this would be the case until the project's deadline, I used the office's own ISP line for the transfer (setting bandwidth utilization allowance to 80% to leave some traffic for the occasional user still in the office).

Based on a complex spreadsheet of data owners and client/departmental folders, I created transfer jobs using tools like rClone and GoodSync. Whenever a specific major folder was copied over, I notified the team using it with a switch-over deadline, marked the original (source) folder as read-only, performed one more sync, then applied access permissions on the new GDrive folder. I split all the data across separate Google Shared Drives so it wasn't owned by a single Google account, then notified the team once that folder's transfer was done. I repeated this for every folder, finishing the transfer right before the 2020 Christmas break.

Impact: The business saved 60,000 USD on licensing fees. The cost of data transfer was under 500 USD, which was highly appreciated by management. In the end, only about 80 TB of data was transferred and the rest was left on cheaper archiving storage for future reference if needed. The organization also saved long-term storage costs on Google Drive, since keeping the data separated meant they didn't need to upgrade to a higher G Suite tier.

Timesheets & Project Management Software Implementation (2020)

Situation: As a result of the Covid-19 pandemic, I was asked to reduce costs related to financial software (Oracle NetSuite) that provided the entire organization with functionality related to project management, timesheets, job scheduling, expense reimbursement, purchase order workflow approval, and vendor management.

Behaviour: Moving from a high-budget enterprise all-in-one application to much cheaper tools was a tricky task; there was no significantly cheaper tool that could cover all of the required functionality. From my extensive research, I identified 3 project management applications that provided some of the required functionality (timesheets, expense reimbursement, purchase order workflows), but each had a major limitation. For instance, one app didn't support multi-currency expense reimbursement, another's purchase order workflow supported only one level of approval when three were needed (direct manager, project manager, and the finance team).

With management, we shortlisted a project management and timesheet application that everyone was happy with in terms of usability and features. However, this tool had a major drawback that was a deal breaker for the client: they needed purchase orders and expense reimbursements to support more than one entity in the approval chain, and to operate in a multi-currency environment. So, with the timesheets side handled, I built a web app in WordPress using the Gravity Forms and Gravity Flow plugins, with customized forms and tailor-made workflows. I added the organization's single sign-on (Okta) for easy login. After several months of development and extensive testing with a carefully selected group of users, the application went to production.

The third part of the project was importing past data into the new systems, preparing documentation, and scheduling training slots across different time zones for users in Europe and North America.

Impact: The organization saved 170,000 USD on licensing costs while benefiting from more user-friendly applications better tailored to their needs. I sent a survey across the user population to gather detailed feedback and made further cosmetic changes that improved satisfaction further.

Affordable Backup From On-Premises to Cloud (2020)

Situation: When I worked for a smaller business in 2020, I realized they stored data on a local Synology NAS disk array. It was running out of space, and with the Covid-19 pandemic, people needed to access files remotely, which wasn't possible with no VPN in place. The NAS was also a single point of failure, which was concerning.

Behaviour: Since the organization was already using other online platforms such as Box and Google Drive, I created a Python script that used rClone to sync data to the required cloud storage. Box had a 32 GB max file size limit, so the script split large media files into chunks (zipped without compression) and uploaded those with MD5 checks.

Impact: About 70 TB of data was made available this way, with restricted access based on group policy in G Suite and Box.

Inventory Automation (2019)

Situation: A new IT inventory system was deployed in a large global corporation to track all CAPEX assets instead of using spreadsheets. However, there was no functionality for mass importing data; each asset had to be manually entered by hand, going through a number of sub-pages within the web application.

Behaviour: Since the web app didn't support API requests, the only way to enter data was through the browser. I built a Python script using Selenium that fetched data from a spreadsheet and drove the browser to do all the clicking on behalf of the IT support staff.

Impact: About 120 technicians across the organization used the script, saving a significant number of hours of manual labor. It also caught a number of data errors along the way (repeating serial numbers, hardware out of warranty, missing purchase order data, etc.), which helped the IT team spot inconsistencies. The estimated saved time in the initial data import phase alone was 48 hours per technician, roughly 5,760 hours of saved time in total.

Reduction of Helpdesk Tickets (2018)

Situation: While working for a large international corporation, upper management showed concern about the growing number of Helpdesk tickets in certain categories, which had led to hiring more Helpdesk agents. They asked me to find out what was happening, run a root cause analysis, and propose solutions that could work both regionally and globally.

Behaviour: I pulled all Helpdesk tickets from the past 6 months and drilled into the relevant categories to understand why they occurred so often across all regions. Using Six Sigma and Lean methodologies, I found that different Helpdesk agents chose different solutions, some more efficient than others, and that SOPs were either missing or not shared across the board. I also realized some issues could be prevented entirely through automation.

I set up a centralized repository for SOPs with an approval process to ensure a proper review took place and no duplicates were created, and trained the other engineers on how to document and share processes well. I also created PowerShell and Python scripts that automated some of the solutions (so techs wouldn't have to run them manually) and distributed them across the Helpdesk staff. For some issues, we rolled them out as group policies so they were handled proactively, without users ever being aware there was an issue.

Impact: The result was a 15-20% drop in Helpdesk tickets per category, saving the company IT resources equivalent to 90-100 personnel globally. Thanks to the automation and more efficient SOPs, average resolution time also dropped from 17 minutes to 8 minutes.

What's on this site

This is where I publish the self-hosting and homelab tutorials I write for myself as I build things, cleaned up enough to be useful to someone else running into the same problem. Head over to the homepage to browse by category, or Search Articles for the full, searchable list.

Get in touch

Find me at bachelor-tech.com or reach out at [email protected].