OCR Scanner
Document scanning system that extracts structured data from supplier documents using OCR, with confidence-based validation and automatic database population.
Junior Software Engineer
I'm a Computer Science student passionate about software engineering. I enjoy turning ideas into practical applications while continuously improving my development skills through real-world projects.
Current Focus
Learning scripting, automation and Windows system management.
Building APIs, improving architecture and learning scalable application design.
Writing cleaner code, improving Git workflows and following software engineering best practices.
Engineering Focus
Web applications with responsive frontends, APIs and backend systems.
Automated workflows using scripts, APIs and custom tools to save time.
Databases designed for reliability, scalability and real-time operations.
Document processing that extracts, validates and transforms business data.
Custom software designed around real operational workflows.
Tech Stack
Technologies I work with across different domains of software development.
Featured projects
Document scanning system that extracts structured data from supplier documents using OCR, with confidence-based validation and automatic database population.
PWA that digitizes logistics workflows through OCR document processing, barcode scanning and real-time inventory management.
Automation platform that configures and maintains development environments through Node.js and PowerShell orchestration.
Production projects
Professional website for a women's cycling team with responsive design and content management.
Additional projects
Web platform for managing leave requests with an approval workflow, replacing the old shared Excel system.
Data extraction system from unstructured PDFs with database organization and automatic report generation.
Engineering Process
Understanding requirements, workflows and constraints.
Designing solutions and choosing the right technologies.
Building software with clean, maintainable code.
Unit tests, integration tests and manual QA on real devices. Edge case validation — OCR confidence thresholds, barcode scan accuracy, conflict detection in approval workflows. Regression checks before every release.
GitHub Actions automates builds and deployment. Static sites deploy to GitHub Pages on push. Production apps use staged rollouts with validation checkpoints and automatic rollback on failure.
Approach
Every project starts with a real problem. I analyze the context, design the architecture and build the solution — from the first line of code to production deployment. I work with companies like Logistic Solution to digitize operational workflows and with teams like Team Fabiana Luperini to build their digital presence.
I believe in software that solves problems, not software that follows trends. That's why I choose technologies based on the problem, not the other way around.
I keep learning and improving — backend architecture, cybersecurity, cloud infrastructure. Every project teaches me something new about building better software.
PHP · Python · C++ · SQL · Supabase · React
Testimonials
"Francesco developed our warehouse management system from scratch. The OCR document processing eliminated hours of manual data entry. Reliable, proactive and technically solid."
"Francesco built our team website with great attention to detail. The CMS makes it easy for us to update content without any technical help. Highly recommended."
"The leave management system Francesco built replaced our messy Excel workflow. It just works — employees love the self-service portal and managers appreciate the structured approval process."
Contact
Interested in collaborating or discussing an idea? I'm open to projects, collaborations and new opportunities.
Featured project

A warehouse management platform built to digitize manual logistics workflows. It replaces paper-based processes with OCR document scanning, barcode inventory tracking and real-time database synchronization through a Progressive Web App interface.
The warehouse relied on paper documents, Excel spreadsheets and manual data entry for receiving goods, managing inventory and generating shipping documents. Operators spent significant time transcribing information, errors were common and there was no real-time visibility into stock levels or order status.
I designed a PWA that works across desktop and mobile devices without installation. The frontend is built with React and communicates with a Supabase backend for real-time database synchronization. The core innovation is the OCR module — operators capture documents with any device camera, the system extracts key data automatically and populates the database. Barcode scanning adds a second automated input channel for inventory operations. The platform also generates DDT shipping documents automatically, eliminating manual compilation.
OCR accuracy was the hardest problem. Document quality varied — handwritten notes, low-light photos, folded papers. I implemented confidence-based filtering: the system accepts high-confidence extractions automatically and flags uncertain ones for manual verification. This balance between automation and human oversight was key to making the system reliable in production.
Open source project
DevOS automates the setup, update and maintenance of software development environments. It eliminates repetitive manual configuration through a Node.js agent that orchestrates PowerShell scripts, applies sequential patches and validates system state at each step.
Every development environment update required about 30 minutes of manual work: downloading patches, running installers, testing configurations and rolling back on failure. The process was repetitive, error-prone and inconsistent across different machines. A mistake could leave the environment in an unrecoverable state.
I built a Node.js agent that reads a configuration file and executes automation steps in sequence. Each step runs a PowerShell script, validates the result and either proceeds or triggers an automatic rollback. The architecture is simple: Node.js orchestrates the logic, PowerShell handles system-level operations and the state machine ensures every step either completes successfully or reverts cleanly.
Handling diverse Windows environments was the main challenge. Different PowerShell versions, execution policies and user permissions could break scripts. I addressed this by including environment detection at startup and graceful fallbacks for incompatible configurations. The rollback system was also tricky to design — it needed to be reliable enough that operators trusted automation over manual work.
Client project

A professional website for a women's cycling team. The site showcases the team's roster, race calendar, results and sponsors. It was built to be easy to update by non-technical staff through a content management system.
The team had no dedicated online presence. Information about races, results and sponsors was scattered across social media. The team manager needed a central website that could be updated quickly without technical skills and that presented a professional image to sponsors and media.
I built a responsive website with a CMS backend that lets the team publish news, update rosters and manage the race calendar without touching code. The design focuses on readability and visual hierarchy — large typography, clear sections and prominent sponsor visibility. The site adapts to mobile and desktop, which is important for fans browsing on phones during races.
The main challenge was building an admin interface that was genuinely usable by someone without technical experience. Every content editing operation needed to be intuitive — I focused on clear form labels, inline previews and confirmation dialogs for destructive actions. The responsive layout also required careful testing across a wide range of devices.
Internal tool

A web platform for managing employee leave requests with an approval workflow. It replaces a shared Excel spreadsheet system, giving employees a self-service interface and managers a structured approval process.
The company managed leave requests through a shared Excel file on a network drive. Employees had to manually check availability, ask managers informally and hope the file was updated correctly. There were overlapping approvals, lost requests and no visibility into who was off on any given day.
I built a web-based platform where employees log in, view their remaining leave days and submit requests through a form. Managers receive notifications and can approve or reject with one click. The system automatically prevents overlapping leave and shows a team calendar with everyone's approved time off. Authentication uses the existing company credentials.
Italian employment law has complex rules about leave types, accruals and carry-over. I had to model different contract types with different rules and ensure the system calculated balances correctly. The approval workflow also needed to handle edge cases like retroactive requests and cancellations.
Client project

An automated data extraction system that processes unstructured PDF documents — supplier invoices, shipping notes and customs forms — extracts key information and organizes it into a structured database with automatic report generation.
Logistic Solution received dozens of PDF documents daily from different suppliers and logistics partners. Each document had a different format. Staff manually read each PDF, typed the relevant data into the system and generated reports. The process was slow, error-prone and consumed hours of clerical work every day.
I built a system that ingests PDF files, extracts text content using PDF parsing libraries and applies pattern matching to identify and extract structured data. The extracted data is validated, stored in a database and used to automatically generate formatted reports. The system handles multiple document types by detecting the document category and applying the appropriate extraction rules.
The biggest challenge was handling the variety of document formats. Each supplier used different layouts, terminology and even languages. I built a flexible extraction engine that combines multiple strategies: positional extraction for structured layouts, keyword matching for semi-structured documents and fallback to full-text search for completely unstructured content. Building and maintaining the pattern library required many iterations with real documents.