Calin Bule


Welcome to my online projects galery. I'm showcasing here some of the projects I've worked on, with implementation details and information about the technologies used. Need some help building your software? Drop me an email.

Hire Me
  • All
  • Development
  • Integration
  • Website
  • Office
  • Data
  • Cloud
  • Server
  • Consulting

Client: retina.Plus

Technologies: Ubuntu, Nextcloud

Categories: Integration, Cloud, Server, Consulting

Cloud Server

Nextcloud server deployed on own hardware

In-location company server running Nextcloud, on Ubuntu 22.04 LTS. Installed repurposed hard drive, extracted from WD Cloud NAS, deployed OS and Nextcloud service. Secured application with SSL certificate and server with firewall, configured port forwarding in router, and added necessary DNS records for the domain.


Client: Personal project

Technologies: Python, Google Cloud Platform, SQLite, Django, Nginx, Ubuntu, xhtml2pdf

Categories: Development, Integration, Website, Server

developer profile / resume manager

Django application that serves as a presentation website, developer profile, and resume manager, with lead generator capabilities.


Client: EasyLink Studio

Technologies: Python, Pandas, SQLite, PostgreSQL, Bootstrap, Digitalocean, Django, Nginx, Ubuntu, DataTables, Vue.js, PayPal, SendGrid

Categories: Development, Integration, Cloud, Consulting

EasyLink Studio

Order management system for online services provider

Web application that serves as an e-commerce extension for the main WordPress-based website of the company. Functionalities: user management with role segregation, service listing, purchase & refund (integration with PayPal), order management, ticketing, internal notification system, emailing (integration with SendGrid), bulk data upload from CSV files, analytics & reporting, database template caching. The app is developed with Django, will run on DigitalOcean AppPlatform, and will use a DigitalOcean PostgreSQL managed database. A separate module manages the integration with various APIs in order to update the various metrics of the products/services that the company sells.


Client: Nova Card

Technologies: Python, Pandas, PostgreSQL, Django, Nginx, Ubuntu, Oracle Cloud, Bulma, NFC, Django Rest Framework

Categories: Development, Integration, Cloud, Server

Nova Card

Smart business cards

NFC-enabled business cards service, backed by a custom-developed Django-based web service.


Client: Personal project

Technologies: Python, Pandas, SQLite, Bootstrap, Django, Nginx, Ubuntu, DataTables

Categories: Development, Integration, Website, Data, Server

Lead Generator

Generation of sales leads from Facebook groups

An app that periodically scans Facebook groups for posts and extracts the ones deemed relevant (contain certain keywords), together with the contact information of the post author, and maintains a dataset with those leads and their status. The leads are then presented in human-readable form by a web app running on the local network.


Client: Cubevo Data

Technologies: Terraform, WordPress, WooCommerce, Digitalocean

Categories: Development, Integration, Cloud

Scalable App Infrastructure

Automatic WordPress deployment on Kubernetes cluster

Terraform project that deploys e-commerce applications, such as WordPress + WooCommerce, inside a scalable architecture on Digitalocean, using an auto-scalable Kubernetes cluster with a load balancer and volumes for the persistence of the application and database files, all inside a VPC created purposefully for the deployment.


Client: Boehringer Ingelheim

Technologies: Python, Pandas, Salesforce, Excel, Windows

Categories: Development, Integration, Data, Cloud

Event Tool

Assesment of potential commercial interest in event participants

An application that looks at all participants at events organized by the company and creates a list of medics that represent further commercial interest. The list is then enriched with relevant information collected from various systems. It does so by connecting via REST to Salesforce, and other systems for the extraction of information. This software is strongly integrated with the Windows OS, making use of its API to generate PDF files from the output files.


Client: Sandoz Italia

Technologies: Python, Pandas, Google Cloud Platform, SQLite, Gmail, Selenium, Flask, Bootstrap, Salesforce

Categories: Development, Integration, Data, Cloud

Territory Assignment Tool

Application that helps a pharmaceutical company keep track of sales reps territory assignments

In the world of pharmaceutical sales, the representatives of the company are each assigned to a territory inside which they carry out their activity. Given that the variables in this world are ever-changing (medics move away, reps resign, etc.) the company finds it hard to keep track and always have a clear image of what is going on with their sales force. The application extracts information from the client's information systems (via REST API) and updates the assignment of the reps to their respective territories. It is comprised of a back-end that provides the main functionality and a front-end that serves as a GUI and provides access to settings, logs, and statistics.


Client: Cubevo Data

Technologies: Python, Pandas, Google Cloud Platform, SQLite, AWS S3, AWS EC2, Selenium, PostgreSQL, Flask, Nginx, Ubuntu, DataTables

Categories: Development, Integration, Website, Data, Cloud, Server

Room Prices App

App that extracts deals for hotel opeator network

A cloud-native, multi-instance web application that collects hotel room prices that meet certain criteria and displays them, in an aggregated form, on the app website. It uses two AWS EC2 instances for the collector apps, an AWS S3 bucket for storage, and two Google Compute Engine instances for the front-end, database and maintenance/tasks.


Client: Mighty Travels

Technologies: Python, Google Cloud Platform, AWS S3, AWS EC2, Selenium

Categories: Development, Data, Cloud

Web Scraping

Hotel/Flight data collection

Created a series of web scrapers that extract hotel information from various aggregators/hotel operators' websites.


Client: Notarial Office

Technologies: Excel VBA

Categories: Office

Notary Fee Calculator

Notary office fees calculator

An application that helps notary offices to quickly compute the fees for their services, in accordance with the guidelines of The National Union of Notaries Public of Romania, and also provides a detailed view of the various cost components.


Client: Boehringer Ingelheim

Technologies: Python, Pandas, Google Cloud Platform, SQLite, Gmail, Selenium, Salesforce

Categories: Development, Integration, Data, Cloud

Enrollment Validator

Validation of enrollment data against preexisting information present in client's Salesforce instance

The application periodically accesses a web-based database to extract reports containing enrollment data for various company-owned websites. Due to the fact that there is no API access, this operation is performed via the front-end, with Selenium. The downloaded data is stored and then checked against the preexisting information, recorded in the company's Veeva instance, which is accessed via REST API. Because the enrollment data is filled in manually, the algorithm uses string matching techniques to overcome potential human error (typos, missing letters, special characters, etc.). The users that are already registered, are validated against a series of business rules provided by the client and divided by the system of provenience. The result is then output to files that are each sent to the person responsible for the respective system.


Client: Novartis Farma

Technologies: Python, Pandas, SciKit Learn, Windows

Categories: Development, Office, Data

Spend&Savings ML

Machine Learning enabled version of the previously created reporting tool

Refactoring in Python of the Spend&Savings reporting tool, previously realized in VBA. The most laborious part of the process was reimplemented using the KNN machine learning technique for classification, based on categorical variables. Further reduced report realization time from a few hours to about 30 minutes.


Client: Everis Italia

Technologies: Python, Pandas, Windows

Categories: Development, Data

Duplicate Remover

Deduplication of manually-filled data sets

The application takes in structured datasets that have been filled in manually and performs deduplication of records based on one or more fields. Given that the data sets were created manually and thus are prone to contain errors, the deduplication algorithm uses a series of score-based string-matching techniques to aid in the process.


Client: BMW Italia

Technologies: Excel VBA

Categories: Office, Data

Report Sheets Centralizer

Tool for centralization and structuring of field reports data

The application centralizes the data collected from the reports submitted by the field reps of the company. It then structures them in tabular form to make them ready for analysis and interpretation.


Client: Novartis Farma, Boehringer Ingelheim

Technologies: Excel VBA

Categories: Office, Data

Office Tools Automations

Various tools to help with automation of work inside the Procurement department

Developed tools for automation of reporting for travel expenses, cell phone usage, monthly department activity, automated procurement bid forms, and data collection inside the department, for Procurement. Refactored and optimized for increased performance the Regional Business Plan for Sales, and also created Jira Ticket Report Updater for QA.


Client: Novartis Farma

Technologies: Excel VBA

Categories: Office, Data


VBA automation of manually-intensive procurement reporting

Excel VBA-based application that takes multiple inputs and generates the monthly spend and savings report for use in the procurement department. By automating tasks it managed to drastically reduce the time for the realization of the report from days to hours.