Albert Dulout

Applied AI, from technical discovery to delivered systems.

Applied AI Engineer and Data Scientist in Singapore. I work on the design, the build, the evaluation, the cloud delivery and the handover.

Choose reading depth

Overview keeps things short. Evidence adds implementation detail inside each record.

Selected work

Two client engagements, one internal platform, one personal project. Open a record for the problem, what I built, and the decisions behind it.

Document intelligence Client work at PALO IT · 2025–2026 Inspect record

Four document-analysis proofs of concept for one enterprise client: comparing regulatory documents across versions, matching loan-agreement clauses against reference contracts, reviewing legal and NDA language, and screening résumés against role requirements.

Treasury, legal and HR teams were each doing the same job by hand. They read long PDF and DOCX files looking for places where the wording differed from a reference document. Whatever the system returned had to point back to the exact source text, so a reviewer could check the result instead of taking it on trust.

I built the AI and backend work across these use cases: text extraction, hierarchical chunking, hybrid keyword and vector retrieval with semantic reranking on Azure AI Search, structured GPT-4o comparison, and containerised delivery. Colleagues built the React interfaces on top.

Retrieval runs in layers. Cheap lexical filtering and cached clause embeddings reduce how much text ever reaches a model, and only the surviving candidates go through an asynchronous structured comparison. That keeps cost and latency under control on long documents. The price is a more complicated indexing path, and responses get heavy once annotated source pages are attached.

Implementation details

Documents are parsed into a document, section and paragraph hierarchy with overlapping bounded chunks, embedded with text-embedding-3-large at 3,072 dimensions, and indexed in Azure AI Search with hierarchy metadata so stable reference content can be reused. Comparisons run in asyncio batches with retries for malformed structured output, and PyMuPDF renders additions and removals onto the source pages for side-by-side review.

Language and frameworks
Python, Flask, React and TypeScript on the team-built UI
AI and retrieval
Azure OpenAI GPT-4o structured outputs, text-embedding-3-large, Azure AI Search with BM25, HNSW vectors and semantic reranking
Document processing
Apache Tika 3.1, PyMuPDF, Azure Document Intelligence, hierarchical chunking with overlap
Azure and delivery
Blob Storage, Key Vault, managed identity, Docker, Nginx, App Service, Container Apps, GitHub Actions
Route optimization Client work at PALO IT · 2025–2026 Inspect record

A route and resource-planning platform for waste-collection fleets, built around vehicle routing over real operational data, configurable objectives and honest infeasibility reporting.

Planning ran on inconsistent Excel and CSV workbooks, vehicles with different capacities, time windows, driver shifts, repeat trips, competing objectives and road data with gaps in it.

I led delivery end to end: the OR-Tools solver, ingestion that survives real workbooks, scenario comparison, KPI and route-level reports, the browser workflows and the cloud deployment automation.

Repeat trips are modelled as shift-aware virtual vehicles. Soft penalties make the planner hand back unserved stops explicitly rather than fail silently, so an impossible plan says so. Distances come from Haversine, OSRM or the Google route matrix, which trades road realism against cost, rate limits and the ability to run offline.

Implementation details

The solver covers capacity, service time, shift, depot, unload and objective constraints, with objective modes for time, distance, fuel, carbon, cost, coverage, revenue and profit scaled to integers for OR-Tools. Around it sit tolerant workbook parsing, recursive moving-average weight forecasting, scenario comparison and operational reports.

Language and frameworks
Python 3.11, FastAPI, Uvicorn, static JavaScript browser workflows
Optimisation and data
Google OR-Tools constraint programming, pandas, NumPy, openpyxl, pdfplumber
Geospatial
Offline Haversine baseline, cached and chunked OSRM table API, Google Routes matrix, geocoding overrides
Cloud and delivery
Docker, Azure Container Registry, Container Apps, Static Web Apps, Log Analytics, plus an AWS ECR and EKS path in the repository
Reporting and testing
WeasyPrint PDF and XLSX reports, pytest
Resilient cloud data platform Internal platform at PALO IT · 2026 Inspect record

An internal Azure ETL platform for PALO IT that synchronises workforce, staffing, project, leave, skills and finance data into a governed PostgreSQL model with role-scoped access.

Ten core domains arrived through long-running, dependent API syncs, the kind that fail halfway through pagination and get restarted. The real risk was an incomplete snapshot triggering reconciliation and deleting records that were only missing because the sync had not finished.

I led engineering across ingestion, Durable Functions orchestration, persistence, infrastructure, security, data governance and the finance integrations. It runs deployed across ten core domains.

Checkpointed parent and child orchestrations make recovery explicit. Completeness gates and a fenced mutation lease stop reconciliation from deleting anything when approval thresholds are not met. Writing straight to canonical tables kept the first version simple and left a raw replay layer for later.

Implementation details

OAuth cursor pagination, retries, checkpoints, dependency ordering and idempotent upserts feed normalized tables. Managed identities, separated deployment identities, private networking, telemetry and role-scoped read routes support day-to-day operation.

Language and runtime
TypeScript, Node.js 22
Compute
Azure Functions Flex Consumption, Durable Functions parent and child orchestration
Data
PostgreSQL Flexible Server, Drizzle schema and migrations, sensitivity-partitioned tables, role-scoped reporting views
Integrations
OAuth API with cursor pagination, SharePoint and Microsoft Graph workbook imports, finance revenue views
Infrastructure and security
Bicep, Key Vault, managed identities, private networking with NAT egress, Entra-protected read gateway
Operations
Application Insights, Log Analytics, GitHub Actions with OIDC and separated deployment identities
Mathilde Recipes Personal project · 2026 Inspect record

A family recipe platform that turns scanned documents and phone photographs into a searchable French-first collection, with English translation, a recipe-aware assistant and transparent nutrition estimates.

Visit recipes.dulalbert.com

Family recipes arrived as a mix of scanned documents and phone photographs. Making them searchable meant structured extraction, validation, provenance and deduplication, plus cooking tools worth opening in an actual kitchen, at a running cost I was willing to pay myself.

I build and maintain all of it: the ingestion and quality pipeline, the catalog, the recipe-aware assistant, nutrition estimates, protected admin workflows, image generation jobs and the delivery automation.

The catalog ships as static JSON so browsing stays fast, with serverless functions behind anything stateful. Recipe images are generated on demand through a queue, which avoids paying for a full set upfront but means the first person to open a recipe waits a moment for its picture. Recurring cost comes to image generation usage and about ten dollars a year for the domain.

Implementation details

The pipeline scans source files, extracts text or image content, requests structured Gemini output, validates it, assigns provenance and tags, removes mirrored and fingerprint duplicates, then rebuilds a deterministic catalog index. Skip reasons, validation errors and quality fixes are recorded rather than silently published. The application adds search, cooking mode, CIQUAL-based nutrition assumptions, conditional retrieval and protected review workflows.

Frontend
React 18, TypeScript, Vite 8, i18next, custom CSS token and layout system
Runtime and hosting
Cloudflare Pages, Pages Functions, Cloudflare Access on the API routes
Data and retrieval
Cloudflare D1, Vectorize, Workers AI with Qwen3 embeddings
Media and jobs
Cloudflare R2, Cloudflare Queues, sharp, heic-convert
AI
Google Gemini for extraction, classification, translation and chat; gpt-image-2 for recipe images
Ingestion
Mammoth for DOCX, pdf-parse for PDF, legacy Word extraction, CIQUAL nutrition data
Automation
GitHub Actions scheduled pipelines, Wrangler for Pages and Worker configuration

Demonstrated capabilities

Grouped by the kind of work they support, drawn from the projects above.

Frame and test
Technical discovery, rapid prototyping, evaluation design, and explicit tradeoffs for ambiguous AI and data problems.
Build the system
LLM and retrieval workflows, optimization, computer vision, APIs, applications, data pipelines, and operational interfaces.
Deliver and operate
Azure infrastructure, containerization, managed identity, CI/CD, monitoring, guarded reconciliation, and recovery paths.
Transfer ownership
Documentation, technical guidance, mentoring, stakeholder communication, and practical handover.

Experience

Engineering school, then analytics work, then applied AI delivery.

Data Scientist, Innovation Lab

PALO IT · Singapore · March 2023–present · promoted February 2025

I design and deliver applied-AI proofs of concept and product foundations, then help teams adopt them through evaluation, cloud delivery, documentation and mentoring.

Across three years the work has spanned document intelligence and retrieval systems for an enterprise client, a logistics route-optimization product, an internal Azure data platform, computer vision and generative-image work for a public-sector exhibition, a legacy-modernization graph proof of concept using Tree-sitter and Neo4j, and Azure DevOps and CI/CD support on two .NET modernization workstreams.

Build
Python, TypeScript, Node.js, Flask, FastAPI, React
AI and data
Azure OpenAI, Azure AI Search, embeddings and RAG, Replicate, LoRA fine-tuning, OR-Tools optimization, computer vision, PostgreSQL, pandas
Cloud and delivery
Azure Functions, Container Apps, App Service, Bicep, Docker, Key Vault, managed identity, GitHub Actions, Azure DevOps
Beyond code
Technical discovery, evaluation design, client workshops, documentation, mentoring junior engineers

Analytics Engineer Intern

Papernest · Barcelona, Spain · February–August 2022

I worked with the Southern Europe growth team on marketing analytics. I built campaign-improvement tooling on the Google Ads and Sheets APIs, and improved the Google Ads conversions-import process by 6 percent through ETL changes.

I also automated the team's Slack alerting so anomalies in campaign performance surfaced without anyone running a query, and I maintained the reporting the team used for weekly spend decisions.

Tools
SQL, BigQuery, Python, pandas, Google Ads API, Google Sheets API, Slack API, JavaScript, Data Studio

Master Data Analyst Intern

Nestlé Europe · Paris, France · June–December 2021

I built a pricing simulator in Excel and VBA on top of data extracted from SAP and SQL, so the commercial team could test price scenarios without going back to the data team each time.

I automated several recurring data-management and analysis tasks, and evaluated the Alation data-governance platform with counterparts at Purina in the United States.

Tools
SAP, SQL, Excel and VBA, Alation

Education and credentials

Engineering Degree / MSc, Data Science and Optimization

IMT Atlantique · Brest and Nantes, France · September 2019–April 2023

Coursework in machine learning, computer vision, natural language processing, data mining, time-series forecasting, optimization algorithms, big-data architecture and data visualization, plus a blockchain application built on Avalanche.

Preparatory Class for the Grandes Écoles

Lycée Montaigne · Bordeaux, France · September 2016–June 2019

Two years of intensive sciences with mathematics as the major and physics and chemistry as minors, the competitive entry route into the French engineering schools.

  • Microsoft Certified: Azure AI Engineer Associate
  • Google Data Analytics Professional Certificate
  • IELTS Academic, Band 8.0 / C2
  • French (native), English (professional), Spanish (conversational), Russian (intermediate)

Beyond the work

French in Singapore. Often cooking, lifting, running long distances, playing rugby, or learning another language.

Two-time Singapore Development League champion in rugby.