Skip to content

Commit

Permalink
rix1dotdev: update about.md
Browse files Browse the repository at this point in the history
  • Loading branch information
rix1 committed Mar 10, 2024
1 parent fd1d2c0 commit 0d27c8b
Show file tree
Hide file tree
Showing 2 changed files with 185 additions and 129 deletions.
37 changes: 21 additions & 16 deletions apps/rix1.dev-lume/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,39 @@ title: Hi, I'm Rikard 👋
layout: layouts/center-content.tsx
---

I've found my home in product community of Oslo, in the intersection of technology, design, and sustainable energy solutions. After I joined [Otovo](https://otovo.com/) as their fourth engineer, I've helped grow the company from a small team to where we are today. We have installed solar power in tens of thousands of homes across 13 European countries. And we're [not done](https://twitter.com/rix1/status/1688663122385457153) yet.
I've found my home in product community of Oslo, in the intersection of technology, design, and sustainable energy solutions. After I joined [Otovo](https://otovo.com/) in 2016 as one of their first employees, I've helped grow the company to where we are today: Hundreds of employees, precence in 13 markets and tens of thousands of homes with solar panels on their roofs
(and we're [not done](https://twitter.com/rix1/status/1688663122385457153) yet).

Life's path is never straight. During my informatics studies at NTNU in Trondheim, [my partner](https://github.com/sirihol) and I spent a year on exchange at UCT in Cape Town. When we weren’t studying, visiting vineyards or at the beach, I worked for a Norwegian startup, [CosyTech](https://www.crunchbase.com/organization/cosytech). We [won a few competitions](https://twitter.com/Torildnm/status/617090179862523908), but never found product-market fit. No customers means no revenue, so we decided to close down after 10 months. [Andrroy](https://github.com/andrroy) and I proceeded to freelance together for the remainder of our formal studies.
I come from a life of priviledge, there's no doubt about that. I've probably been given more opportunities than most, but I also believe in making my own luck. I've come to understand that both history and life is only as straight as the stories we tell. So here's mine:

An unexpected turn of events while writing my [master's thesis](https://ntnuopen.ntnu.no/ntnu-xmlui/handle/11250/2403242), lead me to cancel my contract with [BEKK](https://www.bekk.no/), where I was supposed to start as a full-time consultant later that year. Instead, I accepted an offer from [DNB](https://www.dnb.no/), Norway's largest bank. This was thanks to <s>productive procrastination</s> a hackathon that [went surprisingly well](https://www.dnb.no/dnbnyheter/no/din-okonomi/dnb-utfordrer-studenter-til-a-vise-seg-frem).
During my informatics studies at NTNU in Trondheim, [my partner](https://www.instagram.com/siriholtnaes/) and I spent a year on exchange at UCT in Cape Town. When we weren’t studying, visiting vineyards or at the beach, I worked remote for a Norwegian startup, [CosyTech](https://www.crunchbase.com/organization/cosytech). This was my first real job in the world of product. After [winning a few competitions](https://twitter.com/Torildnm/status/617090179862523908), Visa invited us to wine and dine at at their HQ in London – a weird but fun trip. CosyTech however, never found product-market fit. No customers meant no revenue, so we decided to close shop after ~12 months.

I was a bit hesitant to joining such a large organisation, but the folks at DNB convinced us to spend two weeks at the bank to get a feel for it. It was an exciting experience; we started what eventually would morph into their [Open Banking platform](https://developer.dnb.no/). However, my feets were still a bit cold. After a lot of back and forth, I ended up cancelling my second contract in just 3 weeks.
[Andrroy](https://github.com/andrroy) and I then proceeded to freelance part-time together for the remainder of our formal studies. We built an e-commerce site for [wedding dresses](https://whitestory.no/), we MVP'd an [online learning platform](https://twitter.com/corsane_com), and spent about a year working on a "game" that was played in an [fMRI machine](https://www.biorxiv.org/content/10.1101/2020.05.11.084202v1.abstract) as part of a research project. We had no idea what we were doing back then, but we were good enough that people paid us to play and have fun.

That morning, I walked back into the office of a client I had been working with for the past 6 months – the newly [founded solar startup, Otovo](https://www.dn.no/solenergi/grunder/energi/selger-teslaen-for-a-folge-i-elon-musks-fotspor/1-1-5560478). Although they were surprised to see me, they got really excited when I asked if I could get a full-time job.
In an unexpected turn of events while writing my [master's thesis](https://ntnuopen.ntnu.no/ntnu-xmlui/handle/11250/2403242) lead me to break my upcoming full-time position at [BEKK](https://www.bekk.no/), and accept a job offer from [DNB](https://www.dnb.no/), Norway's largest bank. This was thanks to <s>productive procrastination</s> a hackathon in 2016 that [went surprisingly well](https://www.dnb.no/dnbnyheter/no/din-okonomi/dnb-utfordrer-studenter-til-a-vise-seg-frem).

After a quick chat with [Simen](https://twitter.com/simenfur) and [Andreas](https://twitter.com/athornor), I signed a contract for a engineering position with Otovo. 2016 was a crazy year. Now, eight years and countless experiences later, I'm still having fun chasing the sun together with Otovo from our [office in Torggata](https://maps.app.goo.gl/QVtntdVEEdDjDazK7).
I was a bit hesitant to joining such a large organisation, but the kind folks at DNB convinced us to spend two weeks at the bank to get a feel for it. It was an exciting experience: We started what eventually would morph into their [Open Banking platform](https://developer.dnb.no/). However fun, my feets were still a bit cold. After a lot of back and forth, I ended up cancelling my second contract in just 3 weeks.

> ### I never worked a day in my life, I just laid back and let the big beat lead me
>
> [Fatboy Slim's remix of Jungle Brothers](https://soundcloud.com/theclassicmixcdseries/on-the-floor-at-the-boutique-fatboy-slim)
That morning, I walked back into the office of a client Andrroy and I had been working with for the past 6 months – the newly [founded solar startup, Otovo](https://www.dn.no/solenergi/grunder/energi/selger-teslaen-for-a-folge-i-elon-musks-fotspor/1-1-5560478). Beliving they had lost me to the bank, [Andreas](https://twitter.com/athornor) and [Simen](https://twitter.com/simenfur) were surprised to see me. The surprise turned into excitement when I asked if I could join full-time. I signed and started my first full-time postition as a software engineer that day, and never looked back.

2016 was a crazy year. Now, eight+ years and countless experiences later, I'm still having fun chasing the sun together with Otovo.

These experiences were never strategic career moves for me. They were lessons in navigating uncertainty and the importance of having fun while placing bets on who to surround yourself with.
As you might figure, these experiences were never strategic career moves for me. However, I learned some important lessons in:

Away from the <kbd>keyboard</kbd>, I find cooking extremely interesting. Ideally for larger crowds - as I come from a big family. I have fun when I can be curious, have attention to detail, do _just enough™_ planning and focus on <mark>playful execution</mark>.
1. Navigating uncertainty.
2. The importance of having fun.
3. Placing bets on who to surround yourself with.

I'm definitively a dog person, as I've had two Belgian shepherds since 2007. Dogs are pretty great. They not only provide unconditional love, but are also a daily reminder that patience, commitment and consistency go a long way.
> ### I never worked a day in my life, I just laid back and let the big beat lead me
>
> [Fatboy Slim - Because I Got It Like That (remix) ](https://soundcloud.com/theclassicmixcdseries/on-the-floor-at-the-boutique-fatboy-slim)
Life is better with music, which is why I listen to it [pretty much all day](https://www.last.fm/user/rikardeide). Long distance running and tap dancing are my go-to activities for a mental and physical balance.
Away from the <kbd>keyboard</kbd>, I like to cook. Ideally for larger crowds - either for a bunch of kids at [Feriekolonien](https://www.feriekolonien.no/), or for my large family. I have fun when I can be curious, have attention to detail, do _just enough™_ planning and focus on <mark class="playful">playful execution</mark>.

In conclusion, I approach work as I do life\* – with a blend of ambition, inspiration and a hands-on attitude. Whether I'm leading product people at Otovo, planning a mission as a squad leader in the [Norwegian Army Reserves](https://www.forsvaret.no/heimevernet) or cooking for children at [Feriekolonien](https://www.feriekolonien.no/), I like mixing theory and practice. I care about about making an impact, not just making noise.
I think dogs are pretty great. We've had three Belgian shepherds since 2007: [Sam & Tiva](https://s3.eu-north-1.amazonaws.com/rix1.dev/dogs/sam-tiva-bamble.jpg) and most recently [Yoda](https://s3.eu-north-1.amazonaws.com/rix1.dev/dogs/yoda-oslo.jpg) 🫶. A constant source of unconditional love, but also a daily reminder that patience, commitment and consistency go a long way.

<small>\*I don't think about it that differently to be honest</small>
Life is better with music, which is why you'll always find me [listening to it](https://www.last.fm/user/rikardeide). Semi-long distance running and dancing are my go-to activities for keeping in shape.

That should do it for now. If you still haven't gotten enough, [here's some content](https://old.rix1.dev/posts) from my old site that still haven't been ported.

_Cheers - Rix1_
Cheers, Rix1 ✌️
277 changes: 164 additions & 113 deletions apps/rix1.dev-lume/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -3,176 +3,227 @@
@tailwind utilities;

:root {
--scale-timing: 0.15s;
--image-size: 280px;
--scale-timing: 0.15s;
--image-size: 280px;
}

html,
body {
padding: 0;
margin: 0;

font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
padding: 0;
margin: 0;

font-family:
-apple-system,
BlinkMacSystemFont,
Segoe UI,
Roboto,
Oxygen,
Ubuntu,
Cantarell,
Fira Sans,
Droid Sans,
Helvetica Neue,
sans-serif;
}

* {
box-sizing: border-box;
box-sizing: border-box;
}

mark {
background-color: hsl(333, 71%, 90%);
color: #db2777;
padding: 0 0.25rem;
border-radius: 2px;
background-color: hsl(333, 71%, 90%);
color: white;
font-size: 95%;
padding: 0.3rem 0.4rem 0.4rem;
line-height: 1;
border-radius: 6px;

--tw-gradient-from: #ea5634;
--tw-gradient-to: #db2777;
--tw-gradient-stops: var(--tw-gradient-from),
var(--tw-gradient-to, rgba(234, 86, 52, 0));
background-image: linear-gradient(
to right,
var(--tw-gradient-stops)
) !important;
display: inline-block;
}

mark.playful {
transform: rotate(-1deg);
transition: transform 0.3s ease;
}

mark.playful:hover {
animation: wobble 0.5s ease-in-out;
}

@keyframes wobble {
0%,
100% {
transform: rotate(-2deg);
}
25% {
transform: rotate(2deg);
}
50% {
transform: rotate(-2deg);
}
75% {
transform: rotate(2deg);
}
}

a:not(.clear) {
--tw-gradient-from: #ea5634;
--tw-gradient-to: #db2777;
--tw-gradient-stops: var(--tw-gradient-from),
var(--tw-gradient-to, rgba(234, 86, 52, 0));
background-image: linear-gradient(
to right,
var(--tw-gradient-stops)
) !important;
background-clip: text !important;
color: transparent !important;

&:hover {
--tw-gradient-from: #fca5a5;
--tw-gradient-to: #f87171;
}
--tw-gradient-from: #ea5634;
--tw-gradient-to: #db2777;
--tw-gradient-stops: var(--tw-gradient-from),
var(--tw-gradient-to, rgba(234, 86, 52, 0));
background-image: linear-gradient(
to right,
var(--tw-gradient-stops)
) !important;
background-clip: text !important;
color: transparent !important;

&:hover {
--tw-gradient-from: #fca5a5;
--tw-gradient-to: #f87171;
}
}

#blobby-avatar {
width: var(--image-size);
height: var(--image-size);
width: var(--image-size);
height: var(--image-size);

background-image: url(https://s3.eu-north-1.amazonaws.com/rix1.dev/first-thursday-450x450.jpg);
background-size: contain;
background-position: center;
background-repeat: no-repeat;
background-image: url(https://s3.eu-north-1.amazonaws.com/rix1.dev/first-thursday-450x450.jpg);
background-size: contain;
background-position: center;
background-repeat: no-repeat;

animation-name: floating;
animation-duration: 15s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-name: floating;
animation-duration: 15s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;

mask-image: url(assets/blob.svg);
mask-size: var(--image-size);
mask-repeat: no-repeat;
mask-position: center;
mask-image: url(assets/blob.svg);
mask-size: var(--image-size);
mask-repeat: no-repeat;
mask-position: center;
}

@keyframes floating {
0% {
transform: translate(0, 0px);
}
50% {
transform: translate(0, -12px);
}
100% {
transform: translate(0, -0px);
}
0% {
transform: translate(0, 0px);
}
50% {
transform: translate(0, -12px);
}
100% {
transform: translate(0, -0px);
}
}

#blur {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: fixed;
backdrop-filter: blur(75px);
z-index: -1;
width: 100%;
height: 100%;
top: 0;
left: 0;
position: fixed;
backdrop-filter: blur(75px);
z-index: -1;
}

#blob {
position: absolute;
inset: 10% 22%;
background: linear-gradient(135deg, #00eaff, #ff00ab, #ff7b00);
opacity: 0.7;
border-radius: 50%;
z-index: -10;
animation: move 8s linear infinite, rotate 12s linear infinite;
position: absolute;
inset: 10% 22%;
background: linear-gradient(135deg, #00eaff, #ff00ab, #ff7b00);
opacity: 0.7;
border-radius: 50%;
z-index: -10;
animation:
move 8s linear infinite,
rotate 12s linear infinite;
}

@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
}

@keyframes move {
0% {
transform: translateY(0rem);
border-radius: 50%;
}
25% {
border-radius: 40% 60% 50% 50% / 60% 40% 60% 40%;
}
50% {
transform: translateY(1rem);
border-radius: 50% 50% 40% 60% / 40% 60% 40% 60%;
}
75% {
border-radius: 40% 60% 50% 50% / 60% 40% 60% 40%;
}
100% {
transform: translateY(0rem);
border-radius: 50%;
}
0% {
transform: translateY(0rem);
border-radius: 50%;
}
25% {
border-radius: 40% 60% 50% 50% / 60% 40% 60% 40%;
}
50% {
transform: translateY(1rem);
border-radius: 50% 50% 40% 60% / 40% 60% 40% 60%;
}
75% {
border-radius: 40% 60% 50% 50% / 60% 40% 60% 40%;
}
100% {
transform: translateY(0rem);
border-radius: 50%;
}
}

[data-pos="center"] {
top: -50px;
left: calc(50% - 100px);
min-width: 200px;
min-height: 200px;
position: absolute;
pointer-events: none;
top: -50px;
left: calc(50% - 100px);
min-width: 200px;
min-height: 200px;
position: absolute;
pointer-events: none;
}

[data-pos="center"] > #blob {
inset: 0 0;
inset: 0 0;
}

.share-icons > a > svg {
transition: all var(--scale-timing) ease-out;
transition: all var(--scale-timing) ease-out;
}

.share-icons > a > small {
opacity: 0;
transform: scale(0.5) translateY(-0.5rem);
color: #db2777;
transition: all var(--scale-timing) ease-out;
font-size: 12px;
opacity: 0;
transform: scale(0.5) translateY(-0.5rem);
color: #db2777;
transition: all var(--scale-timing) ease-out;
font-size: 12px;
}

/* only target svgs with stroke property */
.share-icons > a > svg[stroke] {
fill: transparent;
fill: transparent;
}

.share-icons > a:hover > small {
opacity: 1;
transform: scale(1) translateY(0);
transition: all var(--scale-timing) ease-out;
opacity: 1;
transform: scale(1) translateY(0);
transition: all var(--scale-timing) ease-out;
}

.share-icons > a:hover > svg[stroke] {
transform: scale(1.2) translateY(-0.5rem);
stroke: #db2777;
transition: fill var(--scale-timing) ease-out,
transform var(--scale-timing) ease-out;
transform: scale(1.2) translateY(-0.5rem);
stroke: #db2777;
transition:
fill var(--scale-timing) ease-out,
transform var(--scale-timing) ease-out;
}

.share-icons > a:hover > svg:not([stroke]) {
transform: scale(1.2) translateY(-0.5rem);
fill: #db2777;
transition: fill var(--scale-timing) ease-out,
transform var(--scale-timing) ease-out;
transform: scale(1.2) translateY(-0.5rem);
fill: #db2777;
transition:
fill var(--scale-timing) ease-out,
transform var(--scale-timing) ease-out;
}

0 comments on commit 0d27c8b

Please sign in to comment.