Troels Kaldau
Software Developer with a focus on end-to-end mobile applications
Project for MyEpi
TL;DR
At MyEpi, I led the migration of the company's system from an external software bureau to an in-house setup. This included transferring GitHub repositories, rewriting CI/CD pipelines, migrating the MongoDB database, and configuring new resources on Azure with support from the Microsoft Founders Hub. I also set up supporting services like Twilio, Sentry, and SendGrid. The migration provided a complete overview of the system, enhanced my understanding of deployment processes, and prepared me to navigate cloud providers.
MyEpi is a MedTech startup founded in 2021 by Jakob Junker. The company aimed to create an application to help people affected by epilepsy manage their condition.
MyEpi website (outdated)
When I joined the company, development and operations were managed by an external software bureau. With my technical expertise, the startup decided to bring these responsibilities in-house to gain full control over operations and assets.
I began by gaining a complete overview of the system components. This included the core elements like the database, backend, and deployed applications, as well as supporting services such as Twilio for call handling and Sentry for error tracking. I also worked on transferring GitHub projects to a new organization and setting up CI/CD pipelines for the new repositories.
The final task list included:
Migrating the GitHub projects was more complex than anticipated. The external bureau had used submodules that needed extraction and reconfiguration in the new organization. Additionally, the CI/CD pipelines, originally tailored to the bureau's multi-project workflow, had to be simplified for the in-house workflow.
Migrating the MongoDB database also presented challenges, as MongoDB Atlas does not allow ownership transfers between organizations. The migration was completed during a brief system downtime, ensuring a smooth switch to the new database.
Microsoft Hub website (December 2024)
The startup had applied for the Microsoft Founders Hub, which provided up to $150,000 in Azure credits. A new Azure account was created and linked to the Founders Hub to utilize these credits. Resources were then configured to support the new system, and the CI/CD pipeline was set up for Azure deployment.
Supporting services like Sentry, Twilio, and SendGrid were reconfigured with minor updates to configuration files and environment variables to ensure compatibility with the new setup.
After all components were in place, the new system was deployed, and the domain endpoint was switched. The old system remained active for a few days to confirm no data loss during the migration, after which the bureau was informed their services were no longer required.
Migrating MyEpi's system provided me with a comprehensive understanding of its components and dependencies. It also enhanced my skills in system deployment and cloud provider navigation. While different cloud providers vary in specifics, the fundamental principles of gathering system information and configuring resources are universal, making me confident in adapting to new providers quickly.
Also Read:
Position
CTO
Led all technical development at MyEpi, from design to deployment
Project
gRPC Performance Analysis
Optimized a real-time system using gRPC, achieving low latency and high scalability for 500+ concurrent clients during my bachelor's thesis