Skreddersydde webapplikasjoner
Når regneark, e-post og manuelle rutiner ikke lenger passer oppgaven, kan en webapplikasjon være neste steg. Jeg utvikler avgrensede løsninger som kundeportaler, interne oversikter og verktøy for konkrete arbeidsprosesser.
Arbeidet begynner med å forstå hva dere gjør i dag. Deretter avklares funksjoner, ansvar og hva som skal være ferdig ved overlevering.
Beskriv oppgaven dere vil gjøre enklere

Hva er en webapplikasjon?
En webapplikasjon er et verktøy som brukes i nettleseren. En vanlig nettside formidler først og fremst informasjon. En webapp lar brukeren gjøre noe med den, for eksempel registrere en bestilling, oppdatere en sak eller finne informasjon som bare innloggede brukere skal se.
Det er behovet som avgjør hvor avansert løsningen skal være. Et enkelt skjema trenger ikke et stort system rundt seg. Men når flere personer skal arbeide med de samme opplysningene og ha ulike rettigheter, kan en egen applikasjon gi en mer ryddig arbeidsflyt.
Jeg starter med den viktigste oppgaven brukeren skal få gjort. Det gir et bedre grunnlag for systemutviklingen enn en lang ønskeliste uten prioritering.
Når regnearket ikke strekker til
Et regneark er ofte riktig verktøy. Det er lett å komme i gang og endre underveis. Behovet for en annen løsning oppstår gjerne når arbeidet rundt arket blir vanskeligere enn oppgaven det skulle løse.
- Flere personer arbeider med forskjellige versjoner av de samme opplysningene.
- Informasjon må kopieres mellom e-post, regneark og andre systemer.
- Det er uklart hvem som har oppdatert en sak, eller hva som gjenstår.
- Ulike brukere skal se og endre forskjellige deler av innholdet.
- Kunden må kontakte dere for opplysninger som kunne vært tilgjengelige i en portal.
Før jeg foreslår en skreddersydd løsning, ser jeg på om en eksisterende tjeneste kan dekke behovet. Egen programvareutvikling gir mest mening når arbeidsmåten eller kravene deres ikke passer godt i et ferdig verktøy.
Kjenner dere igjen noen av punktene? Fortell hvordan dere jobber i dag, så ser jeg på om en eksisterende tjeneste eller en egen løsning passer best.
Eksempler: booking, kundeportal og intern oversikt
Dette er eksempler på oppgaver en applikasjon kan løse. Funksjonene må tilpasses deres prosess og hvem som skal bruke dem.
- Booking og forespørsler
- Registrering av ønsket tidspunkt, ressurs eller tjeneste, med en tydelig status. Hvis løsningen skal bekrefte reservasjoner automatisk, må regler for tilgjengelighet og overlapp være en del av oppgaven.
- Kundeportal
- Et sted der kunden kan logge inn, finne egne opplysninger og følge en avtalt prosess. Tilgang til andre kunders informasjon skal være avgrenset i selve systemet.
- Internt system
- En samlet oversikt over oppgaver, saker eller bestillinger, med de feltene og statusene medarbeiderne faktisk trenger.
For hvert eksempel er det viktig å avklare hva som skjer når noe ikke følger normalen. Kan en bestilling endres? Hvem kan lukke en sak? Hva skal brukeren se hvis en kobling til et annet system feiler? Slike spørsmål hører med i planleggingen.
Slik avgrenser jeg prosjektet sammen med dere
Den første leveransen skal kunne beskrives og testes. Jeg hjelper dere å velge hvilke oppgaver som må fungere fra starten, og hvilke ønsker som kan vente.
- Kartlegg dagens arbeidsflyt. Dere viser et konkret eksempel på oppgaven, gjerne med fiktive data. Jeg ser på stegene og hvem som utfører dem.
- Beskriv brukere og tilganger. Hvem skal logge inn, hva skal de se, og hvilke endringer kan de gjøre?
- Velg første leveranse. Jeg beskriver funksjonene, sidene og integrasjonene som inngår, og hvilke behov som ligger utenfor.
- Prøv arbeidsflyten. Skisser eller en prototype gjør det mulig å avdekke misforståelser før hele løsningen bygges.
- Bygg og kontroller. Avtalte oppgaver testes med både vanlige forløp og relevante feilsituasjoner.
- Overlever. Dere får kode, tilganger og dokumentasjon, med avklart ansvar for den videre driften.
Et godt akseptansekriterium beskriver noe dere kan kontrollere. «En redaktør kan endre status på en sak» er mer nyttig enn «systemet skal være fleksibelt». Når slike kriterier er skrevet ned, blir det også lettere å avgjøre når leveransen er ferdig.
Hvis det dukker opp et nytt behov underveis, vurderes konsekvensen for omfang og tidsplan før det tas inn. Det er bedre å gjøre et bevisst valg enn å la en avgrenset oppgave vokse uten en ny avtale.
Teknologi som passer oppgaven
Jeg bruker blant annet Next.js, React og TypeScript i egne webapplikasjoner. Valg av database, innlogging og hosting avhenger av dataene, brukerne og hvor løsningen skal driftes.
For dere er det viktigste å vite hvordan systemet henger sammen, og hva det trenger for å fortsette å fungere. Jeg avklarer derfor:
- hvor data lagres, og hvordan de kan eksporteres;
- hvordan brukere får og mister tilgang;
- hvilke eksterne tjenester og kontoer løsningen er avhengig av;
- hvordan endringer kan testes og publiseres;
- hvem som har ansvar for drift og sikkerhetskopier etter overlevering.
Dokumentasjonen skal gjøre det mulig for en annen utvikler å sette seg inn i løsningen. Dere skal ikke være avhengige av at all kunnskap ligger hos én person.
Prosjekter med ulike arbeidsflyter
Mine egne produkter viser hvordan jeg arbeider med data, innlogging og grensesnitt. De er utviklet for ulike behov:
- Memento er en læringsplattform med repetisjon av ord og tilknyttede læringsverktøy. Den viser blant annet datamodellering, innlogging og samspill mellom flere grensesnitt.
- Kortjakten er et samlekortspill med tidsstyrte hendelser, egen nettside og en hendelsesmotor. Her er konsistente endringer og tydelige regler sentrale deler av systemet.
- Mikael's Norwegian Lessons omfatter kanal, nettside, medlemskap og verktøy for produksjon av innhold. Det viser hvordan en teknisk løsning må passe en faktisk arbeidsprosess.
- CI Subtitles er et lokalt produksjonsverktøy for norske undertekster, med automatisk transkripsjon og manuell kontroll. Det viser hvordan et verktøy kan bygges rundt én konkret arbeidsoppgave.
Prosjektene er ikke ferdige maler for kundenes systemer. De viser erfaring med problemstillinger som også oppstår i en avgrenset bedriftsløsning.
Vanlige spørsmål
Hva er forskjellen på en nettside og en webapplikasjon?
En nettside presenterer vanligvis informasjon, mens en webapplikasjon lar brukeren utføre oppgaver og arbeide med data. Mange løsninger kombinerer begge deler. Trenger dere først og fremst å presentere bedriften, passer en vanlig nettside til bedriften bedre.
Hvem eier koden?
Dere eier koden jeg lager for prosjektet og deres egne data og kontoer. Biblioteker og eksterne tjenester har egne vilkår, og avhengighetene dokumenteres.
Hva skjer etter overlevering?
Dere får dokumentasjonen og tilgangene som trengs for å drifte og videreutvikle løsningen. Dere velger hvem som tar ansvaret for drift, oppdateringer og eventuelt videre arbeid.
Hvilken oppgave tar for mye tid i dag?
Beskriv hvordan dere løser den nå, hvem som bruker tid på den og hva dere ønsker å endre. Det er nok til å starte en uforpliktende samtale. Jeg samarbeider digitalt med bedrifter i hele Norge og svarer innen én arbeidsdag.