REC — TANJA_LILJA.PORTFOLIO
00:00:00:00

TANJA LILJA

IT-insinööriopiskelija (AMK) · Rakennan full stack -sovelluksia

Viisi vuotta elokuva- ja tv-tuotantoa opetti minua navigoimaan kaaoksessa ja ratkomaan ongelmia luovasti ja tehokkaasti. Nyt rakennan työkaluja, jotka ratkovat ongelmia puolestani.

SCROLL
SCENE 01 — ABOUT
Tanja Lilja
LOCATIONVantaa, FI
ROLEIT-insinööriopiskelija
STATUSHaen junior-positiota tai työharjoittelupaikkaa
FORMERTuotantopäällikkö ja -koordinaattori

Olen kokenut media-alan tuotantokoordinaattori ja -päällikkö — viimeisimpiä työkeikkojani olivat Ivalo-sarjan 3. ja 4. tuotantokaudet. Urallani olen mm. vastannut 50 hengen tuotantotiimin logistiikasta ja majoituksesta Helsingistä Ivalon kuvauksiin ja takaisin, hallinnoinut yli 200 000 euron budjetteja sekä koordinoinut monimutkaisia aikatauluja ja kokonaisuuksia tiukoissa deadlineissa.

Koulussa olen ohjelmoinnin lisäksi rakentanut mm. Linux-palvelinympäristöjä ja tehnyt testiautomaatiota Seleniumilla. Opintojen ohella olen kehittänyt kaksi omaa ohjelmistoprojektia ja opetellut Python-skriptausta automaatiotehtäviin.

Vapaa-ajallani rakennan käsilläni — viimeisimpinä projekteina mökin terassin rakentaminen sekä vanhan aittarakennuksen uusiminen lattiasta kattoon vierasmajaksi.

SCENE 02 — TECH STACK

Työkalut & kielet

Työkalut, joita olen käyttänyt koulutöissä ja omissa projekteissani.

Python SQL / PostgreSQL C# / .NET .NET MAUI JavaScript / TypeScript React FastAPI SQLAlchemy Vite Git / GitHub Selenium OR-Tools MySQL
SCENE 03 — PROJECTS

Omat projektit

Kaksi projektia, jotka yhdistävät aiemman urani nykyiseen osaamiseeni — molempien idea lähti oikeasta ongelmasta, jonka halusin alalla ratkaista.

In progress
Reel 01 — Optimointi

Ajuri

Elokuva- ja tv-tuotantojen kuljetusaikataulujen ja ajolistojen optimointiin rakennettu sovellus, lähtökohtana oma tuotantotyöstä tunnistettu tarve.

Itsenäisesti opeteltu Python ja OR-Tools-optimointikirjasto projektia varten.

PythonOR-ToolsFastAPIPostgreSQLReact
Katso koodi ↗
In progress
Reel 02 — Automaatio

Screenplay Breakdown AI

Automatisoi käsikirjoitusten purun (.txt/.fdx) esituotannon budjetointia varten: kohtaukset, sijainnit, hahmot ja tuotannollinen data tunnistetaan automaattisesti.

21 taulun tietokantaskeema kattaa tuotannon koko aikataulutuksen: script-revisiot, stripboard, call sheetit, kuvauspaikat.

53 pytest-testiä, JWT-pohjainen autentikointi, arkkitehtuuripäätökset dokumentoitu ADR-muodossa.

FastAPIReactTypeScriptPostgreSQL (21 taulua)JWT53 pytest-testiä
Katso koodi ↗
SCENE 04 — INFRA & SYSTEEMIT

Konesalin puolelta

Kouluprojektina palvelinympäristön rakentaminen alusta loppuun — verkosta tietoturvan koventamiseen.

Infra 01 — Palvelimet & verkot

Linux-palvelinympäristö

Pystytettiin kaksi Ubuntu-virtuaalipalvelinta ja konfiguroitiin alusta asti: staattiset verkkoasetukset, salattu etähallinta SSH:n yli, tiedostonjako Samballa käyttöoikeuksineen, automatisoitu varmuuskopiointi rsyncillä sekä UFW-palomuuri. Web-puolella Nginx konfiguroitiin HTTPS-yhteydellä ja mukautetuilla virhesivuilla, ja BIND9 hoiti paikallisen nimipalvelun.

Ubuntu ServerNetplanSSHSambarsyncUFWNginx + SSLBIND9
Infra 02 — Kontitus & skaalautuvuus

Docker Swarm -klusteri

Palvelu siirrettiin Docker-kontteihin ja skaalattiin kahden noden Swarm-klusteriin replikoinnilla ja automaattisella vikasietoisuudella — testattu mm. sammuttamalla worker-node kesken ajon. Lopuksi tietoturvaa kovennettiin rakentamalla kevyempi Alpine-pohjainen image ja ajamalla kontti ei-root-käyttäjän oikeuksilla, vähimmän oikeuden periaatteen mukaisesti.

DockerDocker ComposeDocker SwarmAlpine LinuxLeast Privilege
SCENE 05 — TESTAUS & LAATU

Laadunvalvonta

Ohjelmistotestaus-kurssilla tehty työpajatehtävä opetti testaamaan oikeassa ympäristössä — ei vain teoriassa.

QA 01 — Selenium

Selenium-testiautomaatio

Selenium-työpajatehtävässä kirjoitin Python-pohjaisen testiskriptin (demoqa_test.py), joka automatisoi lomakkeen täyttämisen ja lähetyksen DemoQA-testisovelluksessa: Chrome käynnistyy ohjelmallisesti, kentät täytetään ja lopuksi assertio varmistaa, että tuloskenttä näyttää oikeat syötetyt tiedot.

Testin ajossa vastaan tuli oikea käytännön ongelma: sivuston mainos peitti Submit-napin, jolloin tavallinen klikkaus epäonnistui (ElementClickInterceptedException). Ratkaisin tilanteen ohjaamalla klikkauksen suoraan JavaScriptin kautta — pieni mutta opettavainen esimerkki siitä, että testiautomaatio vaatii usein yhtä paljon ongelmanratkaisua kuin itse sovelluskehitys.

PythonSelenium WebDriverDemoQAAssertiot
SCENE 06 — OPETUS

In My Teacher Era

Tämä kurssi syntyi omasta kiinnostuksestani EUDI-lompakoihin — koulullamme ei ollut aiheesta kurssia, joten sain koulutuspäälliköltä tehtäväksi rakentaa sellaisen itse.

Opetus 01 — Julkaisuvaiheessa

EUDI Digital City — pelillistetty MOOC

Eduniaan suunniteltu ja tuotettu Moodle-verkkokurssi, joka tarjoaa yleistajuisen johdannon EUDI-lompakoihin (European Digital Identity Wallet). Rakensin kurssin teoriaosuuden ja sen rinnalle H5P Game Map -pohjaisen tarinallisen pelin: pelaaja herää muistinsa menettäneenä kaupungin laidalla ja rakentaa ymmärrystä digitaalisesta identiteetistä leikittelevän muistinmenetystarinan kautta.

Jokainen pelin taso vastaa yhtä teoriamoduulia ja avaa uuden alueen kaupungista. Käsitteitä — kuten Holder, Issuer ja Relying Party — opetetaan NPC-hahmojen dialogien ja H5P-tehtävätyyppien kautta; esimerkiksi pankkikohtaus näyttää konkreettisesti, miksi palvelu näkee vain rajatun osan käyttäjän tiedoista sen sijaan että saisi kaiken. Peli päättyy loppukokeeseen ennen pelistä "pakenemista".

MoodleH5P Game MapH5P Course PresentationCanva (pikselitaide)Pedagoginen suunnittelu
SCENE 07 — EXPERIENCE

Aiempi työkokemus

09/2022 — 05/2024
Tuotantopäällikkö ja -koordinaattori
Yellow Film & TV Oy
  • Tuotanto- ja settipäällikön tehtävät Ivalo-sarjan 3. tuotantokaudella sekä toimistotyöt.
  • Ivalo-sarjan 4. tuotantokaudella (11/2023 alkaen): 50 hengen tuotantotiimin logistiikka ja majoitus Helsinki–Ivalo-välillä, kuvausryhmän ja näyttelijöiden matkajärjestelyt, ulkomaalaisten talenttien TMO:t ja agenttiyhteydet.
  • Vuokra-autobudjetin ja kaluston kuljetuksen suunnittelu ja hallinta Helsingin ja Lapin välillä.
  • Osallistuminen Creative Europe Media -rahoitushakemuksen valmisteluun sekä kahden tv-sarjan jälkitöihin (Kopiosto-raportointi, IMDB-krediitit, markkinointimateriaali).
02/2021 — 09/2022
Tuotantosihteeri ja -koordinaattori
Art Films Production AFP Oy
  • Kahden pitkän elokuvan tuotantopäällikön ja -koordinaattorin sekä toimiston tehtävät.
  • Elokuvien kehittely ja rahoitushakemukset (SES, AVEK, Creative Europe Media, Tampereen kaupunki, säätiöt) — positiivisia tukipäätöksiä n. 1,5 miljoonan euron edestä työskentelyaikana.
  • Taloushallinto: palkanmaksu, laskuliikenne, tukien väli- ja loppuselvitykset sekä toimiston että tuotannon osalta.
  • Markkinointimateriaalien koostaminen ja sosiaalisen median ylläpito.
SCENE 08 — CONTACT

Ota yhteyttä

✉ Lähetä viesti