Projektit
Valikoituja case-kuvauksia.
Käytännön projekteja joissa johtaminen, data ja tekoäly kohtaavat. Kukin case kuvaa lähtötilanteen, tehdyn ratkaisun ja lopputuloksen — teknisine valintoineen ja arkkitehtuuripäätöksineen.
-
Pinsku — henkilökohtainen AI-assistentti ja -ERP
Lokaali tekoäly, joka yhdistää kalenterin, sähköpostit, terveysdatan ja työajan analytiikan — data ei poistu omalta laitteelta
Henkilökohtainen tietotyökuorma hallintaan yhdellä työkalulla — chat, tehtävät, kalenteri, terveys, työaika ja strateginen sparrailu — täysin lokaalisti ilman pilveä.
- Node.js 24 + Express + SSE
- better-sqlite3 + sqlite-vec (embedding-haku)
- Ollama (qwen + gemma3:31b)
- Whisper (STT) + Chatterbox (TTS)
- bge-m3 embeddings (1024-dim)
- +5 lisää
-
Oma raportointialusta ostetun työkalun tilalle
Interaktiivinen portaali — luonnollisen kielen kyselyt, dokumenttihaku tekoälyllä, rivitason oikeudet
Loppukäyttäjä esittää kysymyksen omalla kielellään ja saa vastauksen: datakyselyä ei tarvitse osata, raporttia ei tarvitse tilata, dokumenttipinoa ei tarvitse penkoa — tekoäly tekee käännöstyön käyttäjän oikeuksien sisällä.
- Next.js 15 (App Router) + TypeScript
- Tailwind CSS + shadcn/ui
- ECharts + Recharts + TanStack Table
- FastAPI + SQLAlchemy
- Azure Container Apps (ulkoinen web + sisäinen API)
- +3 lisää
-
Räätälöity ELT-työkalu integraatioihin
Python-pohjainen Extract-Load-Transform korvaa legacy-ETL:n — kärsivällinen rajapintakäsittely, blue-green-swap ja monitoroitava tuoreus
Modernissa ELT:ssä data viedään ensin datavarastoon ja jalostetaan vasta siellä SQL:llä — putkesta tulee yksinkertaisempi, nopeampi ja luotettavampi. Rakensin räätälöidyn ELT-työkalun joka korvaa hauraan legacy-ETL:n: monitorointi, blue-green-swap ja retry-logiikka sisäänrakennettuina.
- Python 3.12
- Azure Container Apps Job
- Azure SQL Data Warehouse
- Azure Key Vault + Managed Identity
- pyodbc + ODBC 18 for SQL Server
- +1 lisää
-
AI-avusteinen asiakaspalvelu
Freshdesk-tikettien vastausten automatisointi organisaation omaan dataan pohjautuen — tietoturva ja tietosuoja alusta asti mukana
Asiakaspalvelijalle näytetään AI:n kirjoittama vastausluonnos suoraan tikettinäkymään — organisaation omasta datasta haetut faktat, lähdeviitteet ja käsittelijän viimeinen kontrolli. Vastausaika puolittui ilman tinkimistä laadusta tai tietosuojasta.
- Freshdesk (tikettijärjestelmä)
- Azure OpenAI (EU Data Zone)
- Azure AI Search (vektori- ja tekstihaku)
- Retrieval Augmented Generation (RAG)
- Python + FastAPI (orkestrointikerros)
- +2 lisää
-
RAG-chatbot asiakkaalle ja henkilöstölle
Kaksi rinnakkaista chatbotia samalla arkkitehtuurilla — julkinen asiakaspalvelu ja sisäinen Entra ID -suojattu henkilöstöassari, molemmat groundattuna organisaation omaan dataan
RAG yhdistää tiedonhaun ja generoinnin: käyttäjä kirjoittaa kysymyksen omalla kielellään, järjestelmä hakee lähteet ja LLM muotoilee vastauksen — grounded, ei hallusinoitu. Sama pohja-arkkitehtuuri tuotti kaksi erillistä chatbottia eri käyttäjäkunnille.
- Azure OpenAI (EU Data Zone)
- Azure AI Search (vektorihaku + hybrid)
- Next.js + TypeScript (frontend)
- FastAPI (Python, backend/orkestrointi)
- Azure Container Apps
- +2 lisää