Programming portfolio


Here you can find a selection of projects that I have created. Also worth to mention, that some projects I have done for customers have been for internal websites, or payable services and therefore can not be shown here.


Clicking the headings will take you to a live example, where it makes sense to take you to a single page.

Some images are also clickable and leads to the page where the screenshot is from.


Work for customers

inno-ipr
inno-nic


While being a part of a product team at Innovation Norway, I got to create a clientside FilterPage framework with data and configuration coming from Sanity CMS. The task comprised of creating a Sanity schema framework for simple creation of new filterable pages, and a consumer part on frontend that processes and generetes a filterpage based on the configuration.

While spending a while on creating the framework, I'm sure that to create a new filterpge today only requires a new schema definition, and will take approximately 2 hours, depending on complexity of the filterable objects. A feature not used by the customer is calculation of available values in selection in the filter dropdowns, which works nearly best practice but may be improved a little. The filterable values in the objects may be simple primitive values, like number, string, bool, etc. But also list of such primitive values. All of this activates and works automatically on the frontend, after definition of the Sanity schema, creation of objects and selection of filterble fields. 


This work was in addition to documentation of the system and creation of simple architecture an workflow drawings, planning of redesign, working with designers with the new component library and several other small tasks like website link-graph analysis for planning of the redesign from content perspective. 


CappelenDammECommerce1
CappelenDammECommerce
CD-Carousel
CD-AuthorFocus
CD-AuthorPage
CD-Cards
CD-HeroAndMenu
CD-ValuePropos


Together in a agile team of 8, during an 8 month period, spending 8 hours pr day we developed an MVP that is rapidly adopted by Cappelen Damm publishing house and still continues to be developed while integrating surrounding systems.

We developed everything from scratch, but using some SaaS and PaaS tools to reduce TTM and focus more on business logic and customer oriented functionality, rather than lots of technical complexity. The tech stack consisted of: Vercel, Sanity CMS, Crystallize PIM, React, TypeScript, NextJS and Google Analytics (at the time) for tracking.  I was involved in basicly every aspect of the process, working as a developer and supporting both business, design and the technical team due to my extensive communication with all of them. I developed both AuthorPage, Carousel and lots of other things like development of events for tracking and analyzing the data correctly. This has been a lot of fun, and i also learned a lot! Don't forget to click the link and check out the page :) 



FF-LM-Forside
FF-LM-SeLive
FF-LM-Modal
FF-LM-Delegater


This pages was delivered by me in company with a great team, in relatively short time prior to Fagforbundets national meeting. This meeting spanned over 1 week, and these pages was relevant during that time for the conference to go smoothly, but are also still relevant now as they hold all the videos and other content from that conference.Technology used: Mostly React with API calls, but also a little Optimizely CMS backend in C# and cshtml.



Custom Made Chart Visual for ASSS (2021)


ASSS-HighChart


I implemented a custom visual into an existing chart. That work required extra API call in the frontend, correct calculation for each row depending on the filters and rerendering of the visualisation. This visualisation shows change of current row against previous year; positive, negative or neutral. This new version of the chart is now used across ASSS's whole website.

Read about the chart here.

Try the chart here, by clicking the filters of "Figur 1. Tjenesteprofil eiendomsforvaltning".

You can find all the places where this chart is used, by searching for "tjenesteprofil" on this page, going into any of the results and finding a similar chart on that page.

Technology used: React with API calls and Highcharts.




Private work

1w
2w
3w

Another one of my geekouts(16 hours, Sep 2024), resulting in an app for reading about timelines. Specifically this version focuses on recent Technological evolution. Really recommend to check it out, so that you might learn some things about recent technological history and predictions for the near future.


Hierviz1
Hierviz2

I’m excited to introduce Hierviz, a new AI-powered tool that I developed this summer (1w Aug 2024) to assist with hierarchical visualizations. While it may not be revolutionary, it is a fun and useful tool for creating hierarchical visualizations.

What does it solve for you? Essentially, whatever you can get it to solve! If you need a quick overview of any topic through a hierarchical visualization, Hierviz can do the job efficiently. And the best part? It’s completely free!

You can test the tool and provide feedback if you have any. Don’t worry about privacy—I don’t store your prompts, so feel free to explore any topic, from the themes in the movie Inception to an overview of desserts and their countries of origin. Remember to color-code the nodes, then you'll remember it better.

I built Hierviz using D3.js, Next.js, Auth0, Vercel, and the OpenAI API, along with a lot of creativity. I hope you'll enjoy using it!

Any Conf Network (23/24)

(Use only on desktop for now - and don't use darkmode)
Any Conf Network started as i began to create a list of conferences to pick somewhere to go the coming year. While there was many sites offering information in a flat manner, I had a hard time finding really good overviews and  filterable pages. Therefore I had to create the list myself. I created the database in excel, after scraping 291 conferences of the web. Afterwards i used ChatGPT to write introduction to the conference and used the same AI to autotag the conferences to get filterable thematics values. After doing all that work, I did not feel like making the site easily scrapable, whilst at the same time I wanted to make the page awailable for people to use. To achieve the unscrapable functionality, whils being able to offer the product, and doing everythng on the client, i put the database with functions into a file which I afterwards encoded and scrambled to become unredable for humans. Now the site helps you to find the conference you are looking for, while prohibiting simple scraping. Unfortunately SEO gets damaged by this kind of implementation, and I have yet not put too much into the UI which is why I say it should be used on desktop. But I have tested the filtering on my mobile phone, and it seems the performance is totally acceptable.


Alchemy.no

Alchemy.no started as a summer 2022 project. This project is built with  NextJS and Sanity. As of now (31.07.2022) the most interesting and custom parts are menu bar and products pages. Products pages uses lazy loading of elements(bottomless feed). For now, all products are fetched at once, but rendered(added tobottom) when you approach bottom of page. But to only fetch id´s and fetch the rest of the data for each product only when necessary is simple to implement with this architecture and is on the roadmap.