← Portfolio

Tuntikirjaus.fi

Oma SaaS-tuote · 2024– · tuntikirjaus.fi

Tuntikirjaus.fi – kuvakaappaus Tuntikirjaus.fi – kuvakaappaus

Työajan seuranta- ja laskutuspalvelu yrityksille ja freelancereille. Käyttäjät kirjaavat tunteja projekteille puhelimella tai tietokoneella, seuraavat liukumasaldoa ja laskuttavat asiakkaita viitenumerollisilla laskuilla. Palvelussa on organisaatiot rooleineen, tuonti ja vienti, julkinen REST-rajapinta API-avaimilla sekä Stripe-tilaukset. Käyttöliittymä on suomeksi, ruotsiksi ja englanniksi.

Arkkitehtuuri. Täysin serverless: neljä HTTP API -rajapintaa omine autorisoijineen, Lambda-funktiot, DynamoDB-taulut ja Cognito-käyttäjärekisteri. Käyttöliittymä on staattinen Next.js-sovellus S3:ssa ja CloudFrontissa. Infrastruktuuri on seitsemänä CDK-stackina, ja dev- ja tuotantoympäristöt ovat eri AWS-tileillä.

Tekoäly. Sovelluksen sisäinen avustaja kirjaa, muokkaa ja hakee tunteja keskustelemalla. Se on rakennettu Amazon Bedrock AgentCore -harnessin päälle, ja työkalut ovat AgentCore Gatewayn takana. Käyttäjän identiteetti lisätään työkalukutsuun Gatewayssa eikä mallin antamana, ja jokainen kutsu tarkistaa käyttöoikeudet samoilla säännöillä kuin muukin sovellus.

MCP-palvelin. Tuntikirjaukseen voi kytkeä Clauden, ChatGPT:n, Cursorin tai muun MCP-asiakkaan. Kirjautuminen hoituu itse toteutetulla OAuth 2.1 -palvelimella (PKCE, dynaaminen asiakasrekisteröinti, kiertävät refresh-tokenit). Avustaja ja MCP-palvelin käyttävät samoja työkalumäärittelyjä, joten ne eivät pääse eriytymään toisistaan.

Tuotantokäytännöt. GitHub Actions ja OIDC ilman tallennettuja AWS-avaimia, haarakohtaiset julkaisut dev- ja tuotantoympäristöön sekä integraatiotestit oikeaa rajapintaa vastaan jokaisen julkaisun jälkeen ja päivittäin. AgentCoren kustannukset optimoitiin mitatun laskutusdatan perusteella.

  • AWS Lambda
  • API Gateway
  • DynamoDB
  • Cognito
  • Bedrock AgentCore
  • MCP
  • OAuth 2.1
  • Stripe
  • Next.js
  • AWS CDK
  • GitHub Actions

Ota yhteyttä