Skip to content

Claude/ai fitness optimization a t7jd#34399

Open
WebWelho wants to merge 26 commits intoanthropics:mainfrom
WebWelho:claude/ai-fitness-optimization-aT7jd
Open

Claude/ai fitness optimization a t7jd#34399
WebWelho wants to merge 26 commits intoanthropics:mainfrom
WebWelho:claude/ai-fitness-optimization-aT7jd

Conversation

@WebWelho
Copy link
Copy Markdown

No description provided.

claude and others added 19 commits March 9, 2026 11:53
Full-stack web application for professional building inspection reports
targeting the Finnish market.

## Features

**AI (Claude Opus 4.6 + adaptive thinking + streaming):**
- Voice dictation → professional Finnish text (transcription)
- Auto-add technical theory + Finnish building regulations (RT-cards, RakMK)
- Claude Vision auto-captions for inspection photos
- AI-generated findings summary table (urgency-sorted)
- AI-generated final report summary with condition rating

**Field data collection:**
- Web Speech API voice recorder (fi-FI locale)
- Camera integration per inspection category
- Auto-placement of photos under correct headings
- 13 standard inspection categories (foundations → yard)

**Report generation:**
- Professional jsPDF export with cover page, findings table, photos
- Urgency classification (Välitön / 1-2v / 3-5v / Seurattava)
- Auto-save to localStorage, no database needed

**Tech stack:** React 18 + TypeScript + Vite + Tailwind CSS + Express.js

https://claude.ai/code/session_01JDAjyyLLWsxD3ZgHGC8XYo
Add IntelliJ/Android Studio IDE configuration files: .idea/caches/deviceStreaming.xml (device selection list with numerous Android device profiles), .idea/deviceManager.xml, .idea/markdown.xml, and .idea/workspace.xml. These files persist workspace and device/streaming settings — review whether IDE-specific settings should be tracked or added to .gitignore if they are machine-specific.
- Järjestelmäprompt: AI on kirjoitusapuri tarkastajalle, ei asiantuntija
  itse – säilyttää tarkastajan arvion eikä lisää omia tulkintoja
- Painikkeet: "Käsittele tekoälyllä" → "Muotoile teksti",
  "Lisää teoriatiedot" → "Lisää viitteet"
- Välilehdet: "Ammattimainen teksti" → "Muotoiltu",
  "Teoriatiedoilla" → "Viitteineen"
- Lataustilat: "Tekoäly käsittelee/analysoi/kirjoittaa..." → "Laaditaan..." / "Muotoillaan..."
- Poistettiin tyhjien tilojen selittävät tekstit jotka neuvoivat
  käyttäjää mitä tekoäly "tekee automaattisesti"
- Dashboard: poistettu "tekoäly auttaa joka vaiheessa" -teksti
- Kentän placeholder: "Kirjoita havainto tai käytä sanelua..." → "Havainto..."

https://claude.ai/code/session_01JDAjyyLLWsxD3ZgHGC8XYo
…olosuhteet

Tietomalli (types/index.ts):
- PropertyInfo: energialuokka, omistaja, kiinteistönvälittäjä, tarkastajan pätevyys,
  ulkoilman/sisäilman kosteus, käytetyt laitteet, rakennetyypit (perustus, seinä,
  katto, IV, viemäri, vesiputki), pääsyrajaukset, korjaushistoria, omistajan
  ilmoittamat virheet, käytettävissä olevat asiakirjat
- Observation: moistureReading (pintakosteudentunnistimen arvo)
- RiskStructure-tyyppi riskirakenteiden kuvaamiseen
- Uusi tarkastuskategoria: Paloturvallisuus ja haitta-aineet

Riskirakenteiden tunnistin (utils/riskDetector.ts):
- Automaattinen tunnistus rakennusvuoden + rakennetyypin perusteella
- Tunnistaa: asbesti (<1994), valesokkeli, tasakatto, valurautaviemärit,
  galvanoitu teräs, painovoimainen IV, vanha sähköjärjestelmä (<1970),
  öljysäiliö, radon, lyijyputket (<1960)
- Kiireellisyystasot: korkea / kohtalainen

PropertyForm (7 osiota):
1. Kohdetiedot (+ energialuokka)
2. Osapuolet (omistaja, välittäjä, tilaaja, tarkastaja + pätevyys)
3. Tarkastusolosuhteet (+ kosteus sisä/ulko)
4. Käytetyt laitteet (kalibrointitiedot)
5. Rakennetyypit (perustus, seinä, katto, lämmitys, IV, putket)
6. Dokumentit ja korjaushistoria (aikajanalla lisättävä lista)
7. Tarkastuksen rajaukset

RiskStructurePanel: näyttää tunnistetut riskirakenteet värikoodattuna
ObservationCard: kosteuslukemat kirjattavissa jokaiseen havaintoon
Backend: loppuyhteenveto käyttää kaikkia uusia kenttiä + vastuunrajauslausekkeet

https://claude.ai/code/session_01JDAjyyLLWsxD3ZgHGC8XYo
…ly, tarkastuslistat ja raporttigenerointi

Merkittävät parannukset kuntotarkastussovellukseen:

1. Automaattinen AI-käsittely: Havainnot muotoillaan, viitteet lisätään ja
   kiireellisyys arvioidaan automaattisesti heti lisäyksen jälkeen
2. AI-tarkastuslistat: Kategoria-kohtaiset tarkastuslistat generoituvat
   kohteen rakennetyyppien ja iän mukaan
3. Riskirakenteet → havaintopohjat: Tunnistetut riskirakenteet muutetaan
   valmiiksi havaintopohjiksi yhdellä napilla
4. Teknisten käyttöikien tietokanta (RT-kortisto): Automaattiset varoitukset
   ylitetyistä ja lähestyvistä käyttöiöistä
5. AI-kattavuustarkistus: Ennen raportin generointia AI analysoi puuttuvat
   tarkastuskohteet
6. Yhden napin raporttigenerointi: "Generoi koko raportti" -painike tekee
   kattavuustarkistuksen, havaintoyhteenvedon ja loppuyhteenvedon kerralla
7. Älykäs valokuva-analyysi: AI tunnistaa vauriot kuvista ja ehdottaa
   havaintotekstejä automaattisesti
8. Rakennetietoinen AI: Kaikki AI-kutsut saavat kohteen rakennetyypit ja
   iän kontekstiksi tarkempien vastausten tuottamiseksi
9. Uudet backend-endpointit: batch-process, suggest-urgency,
   process-observation-full, check-completeness, generate-checklist,
   analyze-photo, generate-risk-observations

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
…a Capacitor

- PWA: manifest, service worker, offline-caching (fonttit, API, staattiset)
- Mobiili-UI: bottom navigation, safe area, touch-optimoitu (44px targetit)
- Capacitor-konfiguraatio Android/iOS-buildia varten
- Backend servaa frontendin tuotannossa (single-server deployment)
- Dockerfile tuotantoa varten
- PWA-asennusprompt suomeksi

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
- LearningStore: per-käyttäjä korjausten tallennus (localStorage + backend sync)
- AI few-shot oppiminen: käyttäjän korjaukset syötetään promptiin esimerkkeinä
- Automaattinen korjausten tallennus: kun käyttäjä muokkaa AI-tekstiä
- Sync-logiikka: offline-first, synkkaa backendiin kun verkkoyhteys palaa
- Autentikaatio: login/logout, JWT-tokenit, max 2 samanaikaista sessiota
- Laitetunnistus: tallennetaan käyttäjäprofiiliin per laite
- Admin-näkymä: käyttäjähallinta, sessiot, laitteet, sessioiden katkaiseminen
- Capacitor Android -projekti: valmis APK-buildausta varten

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
Lisätty mobile/ hakemisto, joka sisältää täydellisen Expo-pohjaisen
React Native -version kuntotarkastussovelluksesta. Toimii Expo Go:lla
ilman natiivi-buildausta.

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
- Lisätty .npmrc (legacy-peer-deps) estämään ERESOLVE-virhe
- Poistettu turhat @react-navigation -paketit (käytetään state-navigointia)
- Korjattu package.json muotoilu

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
- Päivitetty kaikki riippuvuudet SDK 54 -yhteensopiviksi
- Poistettu @react-navigation riippuvuus (käytetään useEffect)
- React 19.1.0, React Native 0.81.4

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
Sovellus jäi pyörittämään ratasta koska fetch-kutsu
backend-palvelimeen (10.0.2.2) ei vastaa oikealla puhelimella.
Nyt testitunnukset toimivat suoraan ilman backendiä.
Backend-kirjautumiseen lisätty myös 5s timeout.

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
- Päivitetty react-native-screens, gesture-handler ja typescript
  Expon odottamiin versioihin
- Siirretty API URL -vakiot erilliseen config.ts-tiedostoon
  kiertoriippuvuuden (authService ↔ api) poistamiseksi

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
AsyncStorage voi jäädä jumiin Expo Go:ssa SDK 54:llä.
Nyt token ja käyttäjä tallennetaan ensin muistiin ja
AsyncStorage-kutsu on try-catchin sisällä.

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
authService.ts → api.ts → authService.ts -sykli katkaistaan
erillisellä authStorage.ts-moduulilla jota molemmat importoivat.

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
uuid v9 vaatii crypto.getRandomValues() jota ei ole React Nativessa
ilman polyfill-kirjastoa, mikä jumiutti "Uusi tarkastus" -napin.

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
preview-profiili rakentaa APK:n (Android) ja internal distribution
-buildin (iOS TestFlight).

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
- Lisää ympäristömuuttujapohjainen backend URL (EXPO_PUBLIC_BACKEND_URL)
- Lisää EAS Update -konfiguraatio app.json:iin (placeholderit)
- Päivitä eas.json submit-profiililla

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
claude added 7 commits March 15, 2026 04:00
- Lisää VoiceRecorder-komponentti mobiiliin (expo-av äänitallennus)
- Lisää Whisper-puheentunnistus backendiin (OpenAI API)
- Lisää kamera- ja sanelupainikkeet CategorySection-syöttöriville
- Lisää transcribeAudio API-funktio mobiilipalveluun

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
- Tauko/jatka-napit äänityksen aikana (pause/resume)
- Poista-nappi äänityksen peruuttamiseen
- Sanelun jälkeen esikatselu transkriptoidusta tekstistä
- Kolme vaihtoehtoa: Poista / Sellaisenaan / AI muotoilu
- Sellaisenaan lisää tekstin syöttökenttään muokattavaksi
- AI muotoilu lisää havaintona ja käynnistää automaattisen AI-käsittelyn

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
- Tallenna-nappi tallentaa raportin laitteen muistiin
- Vie PDF -nappi generoi HTML-pohjaisen PDF:n ja avaa jakamisdialogn
- PDF sisältää kansilehden, kohdetiedot, havainnot ja yhteenvedon
- Käyttää expo-print ja expo-sharing -kirjastoja

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
- Backend kuuntelee 0.0.0.0 ja näyttää LAN IP:n konsolissa
- CORS sallii kaikki lähteet dev-tilassa (mobiililaitteet samassa verkossa)
- Mobile config tunnistaa automaattisesti kehityskoneen IP:n Expo Go:n
  debuggerHost-arvosta — ei tarvitse kovakoodata IP:tä
- Lisätty dev:expo skripti: käynnistää backendin + Expo Go:n yhdellä komennolla

Käyttö:
  1. npm run dev:expo (tai erikseen backend + mobile)
  2. Skannaa QR-koodi Expo Go -sovelluksella
  3. API yhdistyy automaattisesti samaan koneeseen

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
- PDF tallenna/jaa: Web Share API + fallback, erillinen blob-generointi
- PDF-tuonti: Claude AI muuntaa PDF-raportin rakenteelliseksi dataksi
- Sopimusehdot: vastuulauseke, KH 90-00394 viittaukset, vakuutustiedot
- Sähköinen allekirjoitus: Canvas-pohjainen SignaturePad-komponentti
- Valokuvien EXIF: GPS-koordinaatit ja aikaleima talteen todistusarvoksi
- Versiohistoria: muutosten aikajana useReport-hookissa (max 100 merkintää)
- KH 90-00394 tarkistuslista: 13 kategorian deterministinen tarkistus

https://claude.ai/code/session_016bUSprHPwbqidvnHedqnhP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants