JobsResearch / Tekniset muistiinpanot

Osuvuuspisteet tarvitsevat selityksen

Hajallaan olevista työpaikkailmoituksista perusteltuun päätökseen hakijan hallinnassa.

Aktiivinen projekti · yksityinen koodivarasto

Admin screen listing the active LLM engine, a model dropdown and per-feature generation limits
Ylläpito · monen palveluntarjoajan LLM-moottori kaikkien toimintojen takana
  1. Ilmoitukset + CV
  2. Arviointi
  3. Perustelut
  4. Tarkistus

Ongelma

JobsResearch kokoaa työpaikkailmoituksia viidestä lähteestä — neljältä suomalaiselta työpaikkasivustolta ja Ruotsin kansallisen työnvälityspalvelun rajapinnasta — samaan työnkulkuun ja arvioi niitä CV:tä vasten. Hyödyllinen tulos on päätöksenteon tuki: mikä sopii, mitä puuttuu ja mitä mahdollisuutta kannattaa tarkastella lähemmin.

Perustelu pisteiden rinnalle

Jokaisella osumalla on pisteet ja kirjallinen perustelu. Kielimalli arvioi sopivuuden, ja deterministiset kelpoisuussäännöt asettavat pisteille katon kokemustason, vaaditun tutkinnon tai sujuvan suomen kielen perusteella, joten vakuuttava ilmoitusteksti ei voi ohittaa ehdottomia vaatimuksia. Pisteet auttavat järjestämään listan; perustelut ja näkyvät rajoitteet tukevat hakijan päätöstä.

Eri tehtävät tarvitsevat eri taustatiedot

Osuvuuden arviointi käyttää CV:tä ja ilmoitusta. Hakemuskirjeen luonnos perustuu kyseisen työn kuvaukseen ja hakijan CV:hen; valinnainen toinen vaihe arvioi ja muokkaa luonnosta. Yritystutkimus pyydetään työpaikkakohtaisesti. Semanttinen haku on käytettävissä, kun paikallinen Ollama-upotusmalli on määritetty.

Seuraava toimi hakijan päätettäväksi

Sovellus seuraa tallennettuja työpaikkoja, hakemuksia ja niiden tuloksia. Näin mallin tulos liittyy käytettävään työnkulkuun. Portfolio ei väitä haastattelujen määrän parantuneen mitatusti: se edellyttäisi tulosdataa ja määriteltyä vertailua.

Oma panokseni ja teknologiat

Ainoa tekijä — 8 tekoälyagentin tiimin vetäjä, tekoälyarkkitehti ja full-stack-kehittäjä

  • Python
  • Flask
  • SQLAlchemy
  • PostgreSQL
  • AI Agents
  • Vector Embeddings
  • React
  • TypeScript
  • Ollama
  • Gemini / OpenAI / OpenRouter
  • Docker
  • Jenkins
  • SonarQube

Järjestelmän rajat

React-käyttöliittymän alla ovat Flask-backend ja PostgreSQL-tietokanta. Alusta tukee useita käyttäjätilejä, ja se on otettu käyttöön Dockerilla. Mallireititys tukee paikallista Ollamaa ja ulkoisia palveluntarjoajia. Osuvuuden arviointi, yritystutkimus ja luonnostelu saavat tarvitsemansa taustatiedot; semanttinen haku tarvitsee oman upotusmallinsa. Ylläpidon esikatselu näyttää mallivalinnan ja toimintokohtaiset tuottamisrajat.

Miten se rakennettiin

Rakensin JobsResearchin kahdeksan tekoälyagentin tiimin kanssa, jonka roolit ovat rakentaja, arvioija, varmentaja ja koordinaattori, kirjatun loop engineering -prosessin mukaisesti. Elo–lokakuussa 2026 kertyi noin 4 700 committia ja 1 500 yhdistettyä pull requestia (laskettu 9.10.2026). Jokainen koodimuutos läpäisee automaattiset testit sekä Jenkins- ja SonarQube-laatuportin. Määrät kuvaavat työtahtia; testit ja laatuportti pitävät jokaisen muutoksen tasolla.

Mitä näyttö osoittaa

Heinäkuusta 2026 lähtien alusta on kerännyt yli 100 000 ilmoitusta viidestä lähteestä, ja yli 8 000 on arvioitu CV:tä vasten. Se kuvaa käsittelyn laajuutta, ei osuvuuden tarkkuutta. Hyödyllisessä esittelyssä tarkastellaan yhdessä ilmoitusta, pisteitä, perustelua ja jatkotoimia. Koodivarasto on yksityinen, joten tarkempi toteutuksen arviointi onnistuu ohjatulla esittelyllä.

Esitys Metropolian rehtorille ja toimitusjohtajalle (lokakuu 2026)

Metropolian School of ICT and Industrial Management valitsi minut ainoana opiskelijana esiintymään johdon tilaisuudessa. Esittelin JobsResearchin, jonka rakensin kahdeksan tekoälyagentin tiimin kanssa. Yleisössä olivat rehtori ja toimitusjohtaja Marko Hakovirta, osaamisalueen johto ja opettajat.

Lähteet ja projektin tausta

Perustuu projektin työnkulkuun ja portfolion aineistoon. Koodivarasto on yksityinen; esittely on saatavilla pyynnöstä.