Koduleht
Hindalates 500 €
Ettevõtte avalik leht: kujundus, tekstid, mobiilivaade, oma domeen ja server. Sisu muutmine jääb sinu kätte — iga väikese paranduse jaoks ei pea minu poole pöörduma.
Portfoolio — projektid & teenused
Tarkvaraarenduse õpilane
Ehitan vajadustele vastavaid tarkvaralahendusi — e-poode, kodulehti ja ettevõtte haldustarkvara. Konsultatsioon tasuta.
Enne kui edasi kerid
Sama töö, kaks juttu. Vali see, mis sulle sobib — ja kogu ülejäänud leht kirjutab end selle järgi ümber. Kui mõtled ümber, saad siia igal ajal tagasi tulla.
Mõlemad näited kirjeldavad sama KalaRadari funktsiooni.
01 — Teenused
Neli asja, mida kõige sagedamini tellitakse. Hinnad on lähtekohad — täpse numbri ütlen esimese vestluse järel, mis on tasuta.
Hindalates 500 €
Ettevõtte avalik leht: kujundus, tekstid, mobiilivaade, oma domeen ja server. Sisu muutmine jääb sinu kätte — iga väikese paranduse jaoks ei pea minu poole pöörduma.
Hindalates 1500 €
Kataloog, ostukorv ja pangalink — Swedbank, SEB ja teised Maksekeskuse kaudu. Tellimused, kampaaniad ja laoseis ühes haldusvaates. Goldstocki e-pood on ehitatud täpselt nii.
Hindalates 2000 €
Sisemine süsteem, mis on tehtud sinu töövoo järgi, mitte vastupidi: tööaja arvestus, tellimused, eelarve, aruanded. Näide on siinsamas lehel — aitrack.
Hind55 €/h
Tarkvara on olemas, aga tegija on kadunud või muudatused seisavad. Loen koodi läbi, ütlen ausalt, mis seisus see on, ja parandan — väikeste kontrollitud sammudega.
Ei leia siit oma muret? Kirjuta ikkagi. Enamik töid algab sellest, et keegi kirjeldab probleemi, mitte valmis lahendust.
02 — Kuidas töö käib
Räägime läbi, mida on päriselt vaja ja mis eelarve piires. Umbes pool tundi, Tartus kohapeal või Zoomis. Tasuta.
Saad kirjalikult: mis valmib, mis ajaks ja mis see maksab. Alles siis otsustad, kas jätkame.
Näitan tööd vahepeal, mitte alles lõpus. Muudatusi saab öelda siis, kui need on veel odavad.
Töö läheb üles ja hakkab tööle. Näitan haldusvaate selgeks, et saaksid ise sisu, hindu ja pilte muuta.
Vead parandan ära. Edasine hooldus ja uued soovid kokkuleppel — sina otsustad, kas ja kui palju.
03 — Kokkuvõte
0+ KalaRadari klienti
Tarkvaraarenduse õpilane Viljandi Kutseõppekeskuses. Kavandan arhitektuuri, valin igale probleemile mõistlikuima tehnoloogia ja viin selle ideest töötava, juurutatud tooteni. AI-agentide juhtimine on siin kiirendi — arhitektuur, otsused ja kvaliteedikontroll jäävad minu teha.
Sel moel olen iseseisvalt avaldanud KalaRadari ning ehitanud töölauarakendusi ja Linuxi tööriistu. Nende jaoks võtsin kasutusele Rusti ja C#-i. Tehnoloogia pole minu jaoks takistus; mina vastutan selle eest, mida ehitatakse, kas see töötab ja et see jõuaks kasutajateni.
04 — Oskused
Claude Code (igapäevane töövahend), OpenAI Codex, Antigravity; agentide ja multi-agent töövoogude juhtimine.
Spetsifikatsioonide sõnastamine, ülesannete tükeldamine, AI-väljundi kontroll ja testimine, oma skillide loomine AI-tööriistadele.
Docker & Docker Compose, oma domeen ja DNS, Stripe-maksed, E2E-testid (Playwright), seire (Prometheus, pino).
Toote loomine ideest kasutajateni, probleemide algpõhjuseni kaevamine, uute tehnoloogiate kiire omandamine, vastutus inimeste ees, kes seda iga päev kasutavad. Linux, Git ja terminal igapäevatööriistadena.
TypeScript, React, Node.js, PostgreSQL, Redis, Rust + Tauri, Unity (C#), Python, GNOME Shell, kerneli HID-BPF.
05 — Põhiprojekt
Kalastusrakendus, mis ütleb kalastajale, millal ja kus kala võtab: prognoos, ilm, kaardid ja püügipäevik ühes äpis. Prognoosi taga on minu enda ehitatud algoritm, mis on välja töötatud koostöös teadlastega ja arvestab ilmastikutegureid koos nende muutumisega ajas. Viisin toote iseseisvalt ideest kasutajateni ja hoian seda iga päev töös — saadaval Eestis, Soomes, Rootsis ja Norras.
06 — Kliendiprojekt
Goldstock OÜ (aiad, väravad, metalltööd) vajas veebilehte ja e-poodi. Viisin selle disainist juurutuseni — avalik sait, täismahus e-pood pangalingi-maksega ning peidetud haldusvaade, kus klient muudab ise sisu, hindu ja kataloogi — ilma minu poole pöördumata ja ilma iga muudatuse eest maksmata. Leht on valmis ja üleval aadressil goldstock.ee; kasutuselevõtt ootab kliendipoolse kolimise lõppu.
07 — Kliendiprojekt
Tundekoda (psühholoogid Tartus ja Tallinnas) kasutas WordPressi ja Elementori peal tehtud lehte. Ehitasin selle asemele oma lahenduse: kujundus on vanalt lehelt üks-ühele üle võetud ja kõik aadressid jäid samaks, nii et Google'i positsioonid ei kao. Sisu muudab klient otse lehe peal — topeltklõps tekstil või pildil, ilma eraldi halduspaneelita. Praegu on leht eelvaatena üleval aadressil tundekoda.parkproduction.ee.
08 — Tööaja tarkvara
Tööaja arvestus, mis ei nõua ühtegi käsitsi sisestust. Tööriist loeb iga tund minu Claude Code’i, Codexi, Pi ja OpenCode’i sessioone, valib neist soovitud projektid ning kirjutab iga tunni kohta ühe lühikese eestikeelse kokkuvõtte. Alguses ehitasin selle endale, sest praktikapäeviku täitmine ununes; sellest kasvas klient-server-rakendus, mis töötab aadressil aitrack.parkproduction.ee ja mida saab kasutada terve meeskonna peale.
09 — Võistlusprojekt
Kestvusratsutamises ei võida kiireim. Rajal on kiirusel nii alam- kui ka ülempiir: liiga aeglaselt sõites ei jõua lubatud aja sisse; liiga kiiresti sõites võib järgneda diskvalifitseerimine või ei pruugi hobune veterinaarkontrolli läbida. Ja oluline number ei ole hetkekiirus, vaid keskmine — see, mis seisab ekraanil finišijoone ületamise hetkel. Peast seda traavis ei arvuta keegi: spordikellad näitavad hetkekiirust, Samsungi treeningrežiim mõõdab distantsi sammudest ja hobuse seljas valetab. Nii sai Galaxy Watch 4 oma tempoäpi — üks ekraan, üks suur number ja üks värv, mis vastavad ainult ühele küsimusele: kiirendada või aeglustada?
Ekraanipildid on renderdatud äpi enda paigutusnumbrite järgi (396×396 px, samad fondid ja värvid) — renderdaja on repos kaasas.
GnssStatus.Callback-istRideConfig.kt) — distants, kiirusepiirid, värvitsoonid10 — Olemasolevad süsteemid
Kõik ei alga nullist. Sagedasem olukord on see, et süsteem on juba olemas, aga tegija on kadunud, kood on aastatega kasvanud ja iga muudatus tundub riskantne. Just seda tööd olen praktikal iga päev teinud: 82 commit'i viies eri tootmissüsteemis, kõik läbi töövoo issue → haru → pull request → review → merge. Võõra koodibaasi läbilugemine enne muutmist on omaette oskus.
Veebirakendus kutsekoolide IT-erialade sisseastumiskatsete ning iseseisvate tööde esitamiseks ja hindamiseks. Minu töö ulatub liidese parandustest õpiväljundite visualiseerimiseni.
Puhastusteenuste ettevõtte sisemine eelarve- ja haldussüsteem — suur, aastaid kasvanud koodibaas. Iga muudatus mõjutab kellegi igapäevatööd, seega peab parandus olema kitsas ja kontrollitud.
Androidi äpp, millega kontrollitakse pileteid kohapeal. Kasutaja töötab mürarikkas keskkonnas ja kiirustab, seega on oluline, et aktiivne keel oleks ekraanil kohe näha.
Töötervishoiu ja -ohutuse sertifikaatide haldus. Üks minu parandustest puudutas aegunud sertifikaatide eemaldamist — valdkonda, kus vale tingimus võib kustutada andmeid, mida ei tohi kustutada.
Laiendus riiklikule õppeplatvormile, mis automatiseerib õpetaja korduvaid samme ja sünkroonib andmed õppeinfosüsteemi. Üks minu panus oli revert — tagasivõtt on ka otsus.
11 — Projektid
Tavalised IDE-d on ehitatud käsitsi koodi kirjutamise ümber — AI-agentidega töötades on vaja hoopis mitut terminali kõrvuti ja ülevaadet, mida agendid parasjagu muudavad. Ehitasin endale töölaua-IDE just selle töövoo jaoks: paralleelsed terminalid agentidele, projektiteadlik failipuu, Giti olek reaalajas. Rustis — keel, mille võtsin kasutusele just selle projekti jaoks.
Kinnisvara 3D-mudelite (fotogramm-meetria) jaoks tuli drooni lennuplaane DJI äpis käsitsi klõpsida — aeglane ja vigaderohke. See tööriist joonistab lennutsoonid ja takistused kaardile, genereerib nadir/oblique võrgustikud + orbiidid ning ekspordib valmis missiooni DJI .kmz formaadis otse drooni.
KalaRadar töötab Eestis. FCF on sama idee üleilmne versioon: mobiilne kalastusäpp (iOS + Android), mis töötab ka levita. See ühendab offline-first püügipäeviku, liikide kalendri, ilma ja söögiisu-skoori iga maailma nurga jaoks.
Toote haldus (kasutajad, tagasiside, sisu) käis enne ainult arvutist. Native Android äpp teeb sama telefonist — saan KalaRadarit hallata kõikjal, kus parasjagu olen.
VR-kalastusmäng, kus miski ei ole ette animeeritud: kala jõud liigub mööda nööri ujukini, nöör tuleb rullilt, mitte õnge otsast, ja jookseb läbi ridva enda rõngaste. Ligi kolmkümmend rulli on modelleeritud ning nende pooli, kaare ja nöörirulliku asukoht mõõdetakse mudeli geomeetriast — seega töötab sama loogika igal rullil. Ehitatud AI abiga ilma varasema Unity- või mängudearenduse kogemuseta.
VR-lahingumäng suures mahus — 30 vs 30 mängijat. Arenduses. Kogu stseen ehitatakse koodist, mitte käsitsi redaktoris: üks funktsioon ehitab mängija, käed, mugavusseaded ja relvad, nii et sama asja ei hoita kahes kohas. Testin peakomplektiga — iga testiring annab nimekirja vigadest, mille põhjused peituvad tavaliselt hoopis mujal kui sümptomid.
Ehitasin koju oma füüsilise serveri — KalaRadari staging-keskkonna ning muude rakenduste ja veebilehtede hostimiseks. Pi-hole blokeerib reklaamid kogu koduvõrgus DNS-tasemel ning ~20 TB salvestusruumiga failiserver hoiab andmed minu enda käes (NFS-jagatud), mitte kellegi teise pilves. Riistvara ja andmed täielikult minu kontrolli all.
12 — Tööriistad
Iga tööriist lahendab mu enda mure — osa on avalikud GitHubis, osa (veel) ainult oma masinas.
Kui AI-agent jääb silumisel ringiratast käima, on vaja värsket pilku. See skill töötab ringidena: üks koordineeriv peaagent saadab korraga appi mitu uurimisagenti. Nende parandusettepanekutest valitakse parim ning vajadusel järgneb uus ring.
HP sülearvuti pliiatsi sisendsagedus oli Linuxis ~20 Hz (Windowsis ~133) — joonistamiseks kasutuskõlbmatu. Uurisin välja algpõhjuse (I2C-siini küllastus) ja kirjutasin kerneli HID-BPF programmi: ~20 Hz → ~73 Hz. Lüliti ülapaneelil.
CPU, GPU, RAM, temperatuur ja ketas GNOME top-baris.
Täielikult kohandatav — klõps avab seaded (värskendussagedus,
näidud, ketta tee, sildid). Raske /proc/*/fdinfo lugemine käib
systemd-daemonis, et Shell ei hakiks; GPU% tsüklite deltast (idle 68% → ~2%).
Avatud lähtekoodiga (MIT), Intel Arc xe.
Ekraanil olev tekst, mida ei saa valida — pilt, PDF, videokaader. Shift+Win+D, tõmba kast ümber teksti ja see on lõikelaual. Tuvastus käib Windowsi enda OCR-iga seadmes endas — ekraanipilti ei saadeta kuhugi. Avatud lähtekoodiga.
Kalender, todo ja kiirmärkmed olid laiali eri äppides. Nüüd on kõik ühe klõpsuga ülapaneelist avanevas külgpaneelis: kalender, sündmused, prioriteetidega todo ja märkmed.
GNOME-l polnud korralikku lõikelaua ajalugu — tahad näha, mida kleebid, enne kui kleebid. Super+V avab valija live-eelvaatega (tekst või pilt), Enter kleebib otse eelmisse aknasse.
Kiire kohalik tahvel ideede visandamiseks — ilma veebiteenuse, konto ja internetita. Joonistuslõuend, elemendikihid ja lehepuu. Arenduses.
Waylandil ei jõua ekraanipilt automaatselt lõikelauale, mistõttu ei saa seda kohe vestlusesse kleepida. See laiendus saadab iga ekraanipildi otse lõikelauale.
HP sülearvuti vaigistus-LED-id Linuxis ei töötanud — kunagi ei teadnud, kas mikrofon on päriselt kinni. HDA COEF/GPIO parandus systemd-teenusena sünkroniseerib LED-id tegeliku olekuga.
OLED-ekraan vajab kaitset, aga tühi must ekraan on igav. Madu mängib ennast ise ja hoiab pikslid liikumises; idle-daemon käivitab selle automaatselt.
Väikesed igapäevamured: läptop läheb süles kuumaks (CPU võimsuslüliti 60/100%), kasutu Copilot-klahv (remap terminali tab'iks), CPU temperatuur silme ees. Kõik klahvi kaugusel.
13 — Haridus & kontakt
Tarkvaraarendus · 2026 – praegu
Tartu — kohtume kohapeal või Zoomis. Töötan üle Eesti.
Eesti keel (emakeel) · Inglise keel (hea; töötan AI-tööriistadega inglise keeles)