Internal Knowledge Assistant for a Polish Engineering Firm
Designed and built a clickable internal knowledge assistant for a Kraków consulting engineering firm: staff ask in Polish or English and get answers built only from the firm's own SharePoint, Confluence, Google Drive and file share documents, with every claim linked to its source passage and an honest "I don't know" when the sources are weak.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Ask, the conversation view, feedback review, admin overview and connectors. All 6 demo conversations open with their answers, citations and source passages.
Well supported, Partly supported, the "I don't know" card with weak matches and Send to the knowledge team, and the verified answer badge with the curator's name and review date.
Modrzew's own targets as progress bars: helpful rate at least 85%, "I don't know" rate below 12%, citation flags below 2% of answers and median answer time under 8 seconds.
SharePoint, Confluence, Google Drive and file share connectors holding 538,623 indexed documents, 10 spaces including an ethical-wall project space, 6 conversations and 14 feedback items.
Twenty years of Modrzew's know-how sat in a SharePoint tenant, a Confluence wiki, a Google Drive inherited from an acquired Wrocław practice and old Windows file shares. Engineers could not find the firm's own standard details, calculation templates or lessons learned, so they asked the same senior people the same questions. A public chatbot pilot was stopped after staff pasted client drawings into it, and a first internal prototype showed a junior engineer text from a board paper because it ignored document permissions.
Kaganek answers staff questions only from Modrzew's own documents, and only from documents the person asking can already open. Every supported sentence carries a numbered citation that opens the source passage in context, each answer shows how well it is supported, and the knowledge team and IT get feedback review, quality targets, connector health and an indexing pipeline view around it.
An assistant that reads a whole engineering firm's documents has to be right about who may see what, honest about what it does not know, and run inside EU rules on personal data, AI use and employee monitoring.
Kaganek must not invent its own document access. It has to copy each document's ACL from SharePoint, Confluence, Google Drive or the NTFS share, resolve groups from Microsoft Entra ID and filter retrieval before any text reaches the model. A permission it cannot resolve means the document is not visible.
Consultancies work under NDAs, often for competing clients, so project spaces with an ethical wall can never feed answers for people outside the project. Copies of Eurocodes and PN-EN standards are sold under licence, so the standards library is excluded from the index by default.
Engineers act on figures such as psi-values, concrete cover and pile capacities. An answer with no clear source, or one built on a superseded template, is worse than no answer, so weak retrieval has to end in "I don't know" rather than a confident guess.
Conversations are personal data, storage and inference have to stay in the EU, and staff must be told they are talking to an AI system and given AI literacy measures. Polish labour law expects monitoring to be announced, so analytics stay aggregated and reading anyone's conversations needs a reason and a second approver.
Mapped 7 roles from staff member and project lead to space owner, knowledge manager, platform admin, DPO and auditor, 31 screens across the assistant, knowledge team, admin and a Microsoft Teams app, and the data model for connectors, documents, chunks, spaces, conversations, retrieval traces, feedback, verified answers and versioned answer policy. Wrote down the rules the design follows: GDPR, the EU AI Act deployer duties, source-system permissions, ethical walls, licensed standards, Polish labour law and ISO/IEC 27001 and 42001 evidence.
Built 5 key screens on a production dashboard kit: Ask with space and answer-language pickers and source freshness dots, conversations with hoverable citation markers, a source passage panel, confidence bands and the hidden-source notice, feedback review with a retrieval trace and resolve by root cause, the admin overview with a live pipeline diagram and quality targets, and connectors with content and permission sync. All actions run on local state.
Connectors on Microsoft Graph, the Confluence Cloud and Google Drive APIs and an on-premises file share agent, Entra ID single sign-on and SCIM, hybrid search on pgvector or OpenSearch, OCR for scanned PDFs, and answer generation in an EU region through Azure OpenAI or Claude on Amazon Bedrock. Plus the remaining screens: history, spaces, content gaps, source freshness, verified answers, answer policy, data residency, privacy and retention, AI literacy, an append-only audit log and the Teams app.
Each supported sentence ends with a numbered marker. Hovering shows the document title and a snippet, and clicking opens the passage highlighted inside its surrounding text, with the source system, owner, last sync and a link to the original that applies its own permissions again.
When retrieval is weak the answer is replaced by an "I don't know" card that shows the nearest weak matches, names the space owner to ask and sends the question to the knowledge team. Partly supported answers are marked in amber instead of passing as complete.
When documents matched that the asker cannot open, Kaganek says so without showing any titles or counts and offers to request access through the space owner. Under every composer a line says it is an AI assistant that answers only from documents the person can already open.
Rated answers land in a review queue with the question pseudonymised, the answer as shown, its citations and the retrieval trace. Reviewers resolve each one with a root cause such as content outdated or retrieval miss, so the fix goes to the document, not just the rating.

Designed and built a clickable document processing platform for a Rotterdam freight forwarder and customs representative: it classifies commercial invoices, packing lists, bills of lading, air waybills and certificates of origin, extracts each field with a confidence score, checks it against business rules and sends only the uncertain fields to a person in a side-by-side review workspace.

Designed and built a clickable back-office agent for a Dubai mainland distributor: it reads the AP and vendor mailboxes, matches invoices to POs and goods receipts, checks UAE tax invoice fields, drafts replies and posts to the ERP, while people approve by amount, see every tool call and handle every bank detail change themselves.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab