Calin Bule

Projects

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
image

Client: Personal project

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

Categories: Development, Integration, Website, Server,

calinbule.com

developer profile / resume manager

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

image

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 will manage the integration with various APIs and will update the various metrics of the products/services that the company sells.

image

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.

image

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.

image

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.

image

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.

image

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.

image

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.

image

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 crawlers that extract hotel information from various aggregators/hotel operators' websites.

image

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.

image

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.

image

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.

image

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 it was created for were filled manually and thus are prone to contain errors, the deduplication algorithm uses a series of score-based string matching techniques to allow it to overcome them, to a certain degree.

image

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.

image

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.

image

Client: Novartis Farma

Technologies: Excel VBA,

Categories: Office, Data,

Spend&Savings

VBA automation of manually-intensive procurement reporting

An application developed in Excel VBA, it takes multiple files as input and generates the monthly spending 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.