Blog

ParetOS: Tarpeesta syntyi oma käyttöjärjestelmä

emmi

Emmi Kilpinen

Marketing and Communications

Date

15.4.2025

ParetOS trainees

Kaikki alkoi tarpeesta.

Meillä oli tarve luoda ja ylläpitää konsulttiemme Pareto-brändättyjä ansioluetteloita myynnin tueksi. Kävimme läpi olemassa olevia sovelluksia, mutta ne osoittautuivat joko liian kalliiksi, puutteellisiksi tai niitä oli hankala räätälöidä tarpeisiimme sopiviksi. Aluksi kaikki CV:t olivat Google Slidesissa ja myöhemmin Figmassa, mutta kumpikin työkalu osoittautui hankalaksi tähän tarkoitukseen. CV:t olivat useamman sivun mittaisia, ja osioiden siirtäminen manuaalisesti sivulta toiselle rikkoi usein asettelut. Myös kehittyvän visuaalisen ilmeemme vuoksi jokaisen CV:n päivittäminen erikseen oli vaivalloista.

Tämän seurauksena Mikko McMenamin päätti yhtenä iltana vibekoodata ongelmaan ratkaisun Flutterilla. Tuloksena syntyi yksinkertainen CV Maker -sovellus, joka hyödynsi Google Sheets -taulukkoa tietolähteenä. Toisessa iteraatiossa vaihdoimme backendin Google Sheetsistä Supabaseen parantaaksemme datan hallintaa ja loimme varsinaisen käyttöliittymän CV:iden muokkaamiseen. Supabase oli selvästi hyvä valinta, koska se tarjoaa ylläpidetyn Postgres-tietokannan autentikaatiolla, API-rajapinnat, tallennustilan tiedostoille, ja mahdollistaa uusien ominaisuuksien lisäämisen sovellukseen nopeasti.

Tässä vaiheessa tunnettu Feature Creep hiipi hiljaa tulostinhuoneesta. Miksi tyytyä pelkkien CV:iden hallintaan? Voisimme yhdistää samaan alustaan myös Pareton Handbook:in, projektiallokaatiot ja jatkaa kehitystä kohti todellista käyttöjärjestelmää! Pääsimme lopulta sopuun herra Creepin kanssa ja päätimme lisätä vain ne ominaisuudet, joilla on meille oikeasti merkitystä.

Tukeaksemme tätä laajempaa visiota, jota aloimme kutsumaan nimellä ParetOS, päätimme siirtyä Flutterista Next.js:ään. Next.js:n ja Reactin kattava ekosysteemi mahdollisti AI-vetoisen web-alustan kehittämisen huomattavasti paremmin ja vauhditti kehitystyötämme.

ParetOS ei ole enää pelkkä erillinen työkalu, vaan sisäinen alusta, joka kokoaa yhteen CV:t, Pareton intrasivun, hakutoiminnon ohjelmistokehittäjiemme teknisiin taitoihin sekä paljon muuta. AI-ominaisuuksien avulla ParetOS voi pian myös luoda Pareto-brändättyä sisältöä, automatisoida prosesseja ja visualisoida erilaisia liiketoimintamme avainlukuja ja mittareita. Kielimallien vauhdikkaan kehityksen myötä sisäisten työkalujen kehittäminen on muuttunut nopeaksi ja edulliseksi, toisin kuin vielä muutama vuosi sitten. Valitsemalla ketterän stackin ja hyödyntämällä AI-avusteisia koodaustyökaluja, kuten Cursoria ja Claude Codea, pystymme säästämään vuosittain tuhansia euroja SaaS-palveluiden kustannuksissa. Sen sijaan voimme rakentaa juuri meille sopivia työkaluja yhden alustan sisälle. Tämä luo myös ns. Flywheel-efektin: mitä enemmän dataa tallennamme omaan PostgreSQL-tietokantaamme, sitä enemmän mahdollisuuksia on kehittää uusia, hyödyllisiä työkaluja ja etenkin AI-ratkaisuja sujuvoittamaan arkeamme.

Image

Näkymä ParetOS -käyttöliittymän CV Maker -työkalusta.

ParetOS toimi ihanteellisena projektina harjoittelijoille

Alkuvuoden ajan neljä Saskyn opiskelijaa ovat olleet työharjoittelussa Paretolla. Sisäisenä projektina ParetOS tarjosi heille erinomaisen oppimisympäristön, jossa he saivat käytännön kokemusta ohjelmistokehitysprosesseista ilman tiukkoja aikataulupaineita. Pareton Valtteri Luoma ja Mikko McMenamin, jotka kehittivät ParetOS:in alkuperäisen version, jatkoivat projektin vetämistä ja harjoittelijoiden PR:ien tarkistamista varmistaakseen koodin korkean laadun.

Tehtävienhallintaan käytettiin Linearia ja CI/CD-automaatioon GitHub Actionsia sekä Verceliä. Harjoittelijat tutustuivat myös OpenAI-rajapintoihin ja AI-kirjastoihin kuten Langsmith ja Vercel AI SDK.

Näin harjoittelijat kuvailivat kokemustaan Paretolla:

Simo Ahlqvistille harjoittelu oli oleellinen askel kehittäjänuralla. Vasta muutaman vuoden koodaustaustasta huolimatta, hän korostaa harjoittelun merkitystä: “Tärkeimmät opit Paretolta ovat työkalut ja tavat, joilla kehittäjän työtä tehdään ammattimaisesti, modernisti ja laadukkaasti.”

Jetro Tölli pitää tärkeänä oppimiskokemuksena sitä, että sai olla mukana rakentamassa ammattimaista projektia alusta lähtien. “Tämä jakso oli korvaamaton ohjelmistokehittäjänä kehittymiseni kannalta,” Jetro kertoo ja korostaa käytännön työn merkitystä, jossa mentiin kouluprojekteja syvemmälle tasolle.

Ville Viiaselle harjoittelu Paretolla oli tekemällä oppimista, erityisesti ParetOS-alustan kehittämisen ansiosta. Hän arvostaa käytännön kokemusta: “On ollut erityisen arvokasta päästä mukaan oikeaan projektiin, joka on aktiivisessa käytössä.”

Ohjelmistokonsultoinnissa junioreille ei ole yleensä paljon mahdollisuuksia, koska asiakkaat etsivät usein kokeneita kehittäjiä. Työskentely sisäisen projektin, kuten ParetOS:in, parissa on erinomainen mahdollisuus kartuttaa osaamista. Se on myös hyödyksi yritykselle, koska suurin osa Pareton konsulteista keskittyy täysin asiakastyöhön.

Jetro: “On ollut sekä siunaus että kirous päästä kokemaan Pareton ilmapiiri, joka on mahtava: rento mutta merkityksellinen, ja palautetta saa suoraan ja konkreettisesti. Kirous taas on siinä, että se asettaa riman niin korkealle, että tulevien työpaikkojen voi olla vaikea yltää samaan.”

Simo: “Ennen alanvaihtoa työskentelin varastossa ja ajoin raskaita työkoneita. Paretolle tulo oli positiivinen kulttuurishokki. Tunsin oloni heti tervetulleeksi, ja kannustava ilmapiiri sekä matala hierarkia tekivät suuren vaikutuksen. On inspiroivaa nähdä, miten paljon kaikki oikeasti nauttivat työstään ja arvostavat toisiaan.”

Villen ja Jonin osalta harjoittelu päättyi viime viikolla, ja koko Pareton porukka kiittää molempia hienosta työstä ja panoksesta projektin eteen. Jetro ja Simo jatkavat Paretolla ja ParetOS:in parissa vielä juhannukseen asti.

Image

Kuvassa vasemmalta oikealle: Simo Ahlqvist, Ville Viianen, Joni Mäkelä ja Jetro Tölli.

Haluatko kuulla lisää? Ota yhteyttä!