Li Da · Luxembourg

I build software where AI, data and financial systems meet.

I’m a software engineer with 10+ years in enterprise systems, backend development and technical leadership. Today I build AI and data tools for financial and regulatory work, drawing on that experience to make complex systems usable.

My earlier work spans mobile and education products, enterprise platforms and development-team leadership. Graduate study in France and Italy brought me further into data science and FinTech; my current projects build on that engineering background.

Li Da in the mountains

Currently building

My current work is in regulatory software. These projects cover the source material, evidence retrieval and the review workflow.

  1. KnowledgeRegulatory Knowledge Platform

    Structured laws and source references.

  2. IntelligenceRegulatory RAG

    Questions answered against retrieved evidence.

  3. WorkflowSecond Line Risk Copilot

    Risk assessments with human review.

Regulatory Knowledge Platform

A reader and search tool for European financial regulation.

DORA Article 28 in the Reader, with an Article 6 reference preview and linked provisions
DORA Article 28, with a linked provision open. View full size

From source files to a shared runtime

Official material is downloaded and parsed before serving. Structured canonical documents are compiled into a read-only SQLite runtime, so the Reader, search and downstream tools use the same source representation. Publisher notes and editorial annotations stay separate from legal text.

I built the Reader around articles, recitals and references, keeping the official source close to the text. The same canonical data serves the website, REST API, MCP tools and RAG exports.

Reading and search work without a model. You can open a law by article, search definitions, follow explicit references and inspect related measures. Reviewed legal relationships are distinguished from metadata and similarity links.

Multi-turn context and memory

The Reader Copilot keeps a separate conversation for each document. Recent turns travel with the current provision and selected text; threads persist locally in IndexedDB. Switching documents restores the right thread, with cancelled loads prevented from overwriting the new context.

Memory is bounded: up to 20 document threads and 40 messages per thread, with the latest eight turns sent as context. Stored responses are schema-checked before reuse; the conversation stays usable in memory when browser storage is unavailable.

Citation consistency

Evidence follows the Reader’s canonical content order, including nested clauses. That avoids a subtle error: joining a parent paragraph and its children in an order the source never used.

Regulatory RAG

A regulatory question can contain several obligations, exceptions and conditions. My retrieval pipeline separates those claims, finds supporting provisions and checks coverage before composing an answer.

I don’t want the model to sound confident. I want it to show its work.

The planner produces a structured retrieval plan; the engine executes it without model calls. Each claim gets its own allowed evidence IDs. Citation validation and a deterministic coverage guard keep unsupported statements out of the final summary, while leaving partial answers visibly incomplete.

Retrieval and evidence coverage

Keyword and dense retrieval generate candidates. Claim-aware reranking then looks for provisions that can answer the question, while structural expansion recovers parent clauses, list items and relevant cross-references. An isolated sentence can otherwise miss the condition that changes its meaning.

Regulatory RAG returning the official text and evidence ID for DORA Article 6(5) in offline extractive mode
DORA Article 6(5), retrieved in offline extractive mode using the legacy corpus.

Corpus and index integrity

Release manifests record source fingerprints and lock the corpus to its index. The activation pointer is written only after build checks pass; an invalid active release fails closed instead of silently switching to different material.

Evaluation tracks retrieval evidence by claim, separately from the generated answer. That makes a missed provision distinguishable from a generation or citation error.

The standalone engine handles each question independently and is available through Python, CLI and HTTP interfaces. Conversation memory belongs to the Reader Copilot above; business workflow state belongs to the calling application.

Second Line Risk Copilot

A working prototype for DORA access-management reviews. It connects regulatory evidence to obligations, risks and monitoring metrics, then lets a reviewer accept, edit or reject the results.

I keep generated candidates and reviewer changes separate. Each edit belongs to a run and a candidate; the reviewed view combines them without overwriting the original evidence or output.

Orchestration and shared state

A LangGraph workflow coordinates source discovery, retrieval and generation through typed interfaces. Shared schemas carry evidence references across stages, and a final quality gate checks the links between obligations, risks, objectives and metrics.

From generated output to reviewed work

Accept, edit and reject decisions remain attached to the original candidates. Review completion includes warning acknowledgement, and the spreadsheet export carries the human decisions with the results. The interface also identifies live generation, deterministic generation and fixture fallbacks.

The prototype uses a lock-protected in-memory store. Multi-agent coordination and durable case memory are the next development steps; monitoring and follow-up preparation currently run as separate deterministic capabilities.

Selected work

Cube Cloud

Enterprise systems · Java · Spring Cloud

Enterprise platform engineering across CRM, ERP, supply chain, warehousing and logistics. My work covered architecture, technology selection, engineering practice and delivery coordination.

The platform combined Java microservices, service discovery, caching and messaging with containerised delivery, CI/CD, centralised logs and tracing. My role connected those engineering choices with the development team’s day-to-day delivery.

Read the case study

Experience

  1. 2026

    Bank of China (Europe) · Luxembourg

    ICT Risk / IT Security Intern

    Work on ICT risk, vulnerability management, monitoring and security controls, alongside applied AI engineering.

  2. 2024 — 2026

    EIT Digital Master · France / Italy

    Computer Science & FinTech

    University of Rennes and University of Trento. Graduate study across computer science, data science and financial technology.

  3. Enterprise IT

    China Tower

    IT & Data Engineer

    Enterprise IT platforms, data workflows and production support.

  4. Technical leadership

    Broad Housing

    Digital Systems Lead

    Enterprise software platforms and Java microservices. Architecture, technical leadership and engineering delivery, including Cube Cloud.

  5. Software engineering

    Talkweb

    Software Engineer

    Client engineering, system integration and cross-platform development for large education platforms.

Tools I work with

Backend & Distributed Systems

  • Java
  • Spring Boot / Cloud
  • MySQL
  • Redis
  • RocketMQ

Applied AI & Data

  • Python
  • LangGraph
  • Retrieval & evaluation
  • FastAPI
  • SQLite
  • Pandas

Engineering & Delivery

  • Docker
  • Jenkins / CI/CD
  • Linux
  • ELK
  • SkyWalking
Also worked with

TypeScript / React · iOS · Flutter · Hadoop / Spark

Contact

For engineering roles, technical collaboration, or a conversation about the work above, you can reach me on LinkedIn.