dtngroup.ro

dtngroup.ro

B2B product catalog & partner portal

Sole maintainer, since April 2025, of a Romanian B2B product catalog and partner portal. Modernized the deployment with a Dockerized environment, introduced a granular user-tier system controlling image download, text copy, and technical-documentation access, and overhauled the partner offer-request workflow with multi-recipient email notifications. Built a lockable PDF generator for product comparative tables, with localized headers/footers and QR-code lifecycle handling. Added category duplication, an emoji picker with UTF-8 SEO field migration, article character counters in admin forms, and rebuilt the accessories and similar-products carousels. Also fixed slug generation.

DTN Group PHP MySQL jQuery
Resurse pentru crestini

Resurse pentru crestini

Christian content hub

Web platform serving Romanian Christian communities with articles, news, an online Bible, a church directory, and a donations system. Since early 2025 I led a major overhaul: rebuilt the donations module and integration with various payment processors, created an admin-managed donation methods system; redesigned the homepage, donation cases, live churches, the search page, news section; implemented configurable SEO fields, sitemap and also applied page-speed optimizations, CSP security policies, GDPR cookie consent with server-side logging, a custom versioned query cache, redesigned the respurce import flow and created a resource import/deduplication pipeline.

Asociatia Misiunea Speranta Pentru Romania PayPal Tailwind CSS Laravel PHP EuPlatesc
Query optimizer - implementation in process

Query optimizer - implementation in process

LLM-backed SQL query optimizer

Autonomous SQL query performance monitoring system for Azure DB. Continously scans Azure DB instances, extracts non-performant SQL queries and stored procedures and attempts to reformat them with the help of and OpenAI-based agent, in order to obtain a lower run time and lower compute resource consumption. It is aimed to generate savings by lowering cloud costs.

Major European Cooperative Bank Python Azure OpenAI
Dead link finder

Dead link finder

Sitemap-driven broken link detection tool

A Python application designed to safeguard website health by automatically detecting broken or unreachable links at scale. The tool recursively crawls a website's sitemap hierarchy - including nested sitemap indexes — and verifies every page URL via concurrent HTTP requests, applying retry logic with progressive timeouts to minimize false positives. Results are exported into structured CSV reports that flag dead pages, inaccessible sitemaps, and the full crawl path for each issue, giving site owners and SEO teams an actionable map of where to focus repairs. An interruptible, resumable workflow makes it practical to audit sites with tens of thousands of URLs.

Asociatia Misiunea Speranta Pentru Romania Python
Unattended Nextcloud Provisioner

Unattended Nextcloud Provisioner

Self-hosted file sharing with fully automated provisioning

A Python-based automation tool that provisions a private, self-hosted file server on cloud infrastructure with a single command. The application orchestrates the entire setup process: it creates a virtual server, configures secure remote access, provisions scalable object storage for file data, hardens the operating system against common threats, sets up DNS records and a reverse proxy with HTTPS, and deploys a fully functional Nextcloud instance for browser- and desktop-based file sharing. It tracks every resource it creates, supports clean teardown, and can resume safely after interruptions — turning hours of manual server setup into a repeatable, reliable pipeline.

Asociatia Misiunea Speranta Pentru Romania Python Nextcloud Hetzner
DSig - development in progress

DSig - development in progress

Integrated digital signage solution

DSig is a multi-tenant SaaS platform for remotely managing fleets of digital signage displays running on remote edge devices. The cloud portal lets operators upload media, build playlists, schedule campaigns and monitor device health, while a resilient on-device player runs 24/7 and survives network outages by caching content locally. A real-time messaging layer pushes commands and live status between cloud and field devices, and a zero-touch provisioning flow turns a freshly-imaged unit into a managed display with a single setup command. Components include the management portal, async task workers, message broker, observability stack and the edge player.

Personal project Python PostgreSQL Flask Django Docker Redis Celery MQTT WebSockets S3 Grafana
POI Finder

POI Finder

Google Maps local PIO finder in predefined range

Web application that helps users discover points of interest around any chosen location, filtered by category and reachable within a set distance or driving-time budget. The interface centers on an interactive map that progressively renders results as they're found, keeping the experience responsive even with large result sets. Built on Django with a containerized deployment, the app supports both Google Maps and OpenStreetMap as interchangeable map providers, switchable through a single configuration setting. It also runs as a Progressive Web App, so users can install it on their device and continue using it offline.

Personal project Python Google Cloud Platform PostgreSQL Django Nginx Ubuntu JavaScript OpenStreet Maps
Documentation Chatbot

Documentation Chatbot

Containerized Llama-based chatbot for documentation summarizing

Backend: API interacting with locally deployed Llama 3.1 8b LLM, through Ollama. It manages, not only interaction with the LLM, but also prompt creation and documentation pre-processing. External documentation is fed to the backend via uploaded files or API integration. Frontend: Simple web interface built with HTML with Tailwind CSS and JavaScript.

Major European Cooperative Bank Python Docker FastAPI Ollama Llama Tailwind CSS JavaScript
Credit Risk Calculators

Credit Risk Calculators

Various credit risk calculators for financing of renewable energies projects

Built in Python, with Pandas and NumPy, fully dockerized, using a proprietary library for implementation DAG data processing approach.

Major European Cooperative Bank Python Pandas NumPy Docker Redis RabbitMQ Celery Azure
Multi-user Contract Management App

Multi-user Contract Management App

Tactical application for banking back-office

Web application developed for the local branch of a major European banking group. It was used to keep track of the renewal timelines for tech supplier contracts. Developed using FastAPI + SQLite on the backend and Vue.js+Bootstrap on the frontend. Since the application was supposed to be multi-user, but, due to some security constraints, a database server was not available, I also had to devise a way to use SQLite over the network, while also allowing multiple users, from various locations, to interact and read/write from/to the database.

European Banking Group Python Pandas SQLite Bootstrap Windows DataTables Server FastAPI
Cloud Server

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.

retina.Plus Ubuntu Nextcloud
calinbule.com

calinbule.com

developer profile / resume manager

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

Personal project Python Google Cloud Platform SQLite Django Nginx Ubuntu xhtml2pdf
EasyLink Studio

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.

EasyLink Studio Python Pandas SQLite PostgreSQL Bootstrap Digitalocean Django Nginx Ubuntu DataTables Vue.js PayPal SendGrid
Nova Card

Nova Card

Smart business cards

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

Nova Card Python Pandas PostgreSQL Django Nginx Ubuntu Oracle Cloud Bulma NFC Django Rest Framework
Lead Generator

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.

Personal project Python Pandas SQLite Bootstrap Django Nginx Ubuntu DataTables
Scalable App Infrastructure

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.

Cubevo Data Terraform WordPress WooCommerce Digitalocean
Event Tool

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.

Boehringer Ingelheim Python Pandas Salesforce Excel Windows
Territory Assignment Tool

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.

Sandoz Italia Python Pandas Google Cloud Platform SQLite Gmail Selenium Flask Bootstrap Salesforce
Room Prices App

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.

Cubevo Data Python Pandas Google Cloud Platform SQLite AWS S3 AWS EC2 Selenium PostgreSQL Flask Nginx Ubuntu DataTables
Web Scraping

Web Scraping

Hotel/Flight data collection

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

Mighty Travels Python Google Cloud Platform AWS S3 AWS EC2 Selenium
Notary Fee Calculator

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.

Notarial Office Excel VBA
Enrollment Validator

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.

Boehringer Ingelheim Python Pandas Google Cloud Platform SQLite Gmail Selenium Salesforce
Spend&Savings ML

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.

Novartis Farma Python Pandas SciKit Learn Windows
Duplicate Remover

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.

Everis Italia Python Pandas Windows
Report Sheets Centralizer

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.

BMW Italia Excel VBA
Office Tools Automations

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.

Novartis Farma, Boehringer Ingelheim Excel VBA
Spend&Savings

Spend&Savings

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.

Novartis Farma Excel VBA
WhatsApp
Chat with me