From 845af0e8965625920806da848c2b5a2c15883622 Mon Sep 17 00:00:00 2001 From: Emil Bonne Kristiansen Date: Mon, 25 Nov 2024 11:59:05 +0100 Subject: [PATCH] chore: various CV updates --- src/env.d.ts | 1 + .../sections/SectionWorkExperience.astro | 82 +++++++++---------- src/pages/_CV/Page2/Page2.astro | 11 ++- .../Page2/sections/SectionVolunteerWork.astro | 30 ------- .../SectionWorkExperienceContinued.astro | 49 +++++++++++ 5 files changed, 98 insertions(+), 75 deletions(-) create mode 100644 src/pages/_CV/Page2/sections/SectionWorkExperienceContinued.astro diff --git a/src/env.d.ts b/src/env.d.ts index f964fe0..acef35f 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -1 +1,2 @@ +/// /// diff --git a/src/pages/_CV/Page1/sections/SectionWorkExperience.astro b/src/pages/_CV/Page1/sections/SectionWorkExperience.astro index 1d9e893..69bf089 100644 --- a/src/pages/_CV/Page1/sections/SectionWorkExperience.astro +++ b/src/pages/_CV/Page1/sections/SectionWorkExperience.astro @@ -18,81 +18,79 @@ const { class: className } = Astro.props;

- Responsible for the development and optimization of Ember Sword's website, - encompassing key features like authentication, account management, and - game integration. + Worked on the Openframe platform as part of a small product team. My + contributions were new features and large-scale refactors, focusing on + developer experience and application performance.

  • - Architected and built a limited time NFT sale event, creating a - real-time commerce application using React. This event led to $400,000 - in sales inside a week. -
  • -
  • - Optimized the client-side JS bundle size of the company's Next.js - website, achieving a 70% reduction, which substantially improved loading - times and Web Core Vitals for all users as measured by Lighthouse. + Built a file handling feature that allows users to organize files in a + tree structure inside Openframe projects. I contributed to the spec, and + implemented the backend as well as the frontend on my own.
  • - Improved data integrity and developer confidence by introducing schema - validation and GraphQL introspection to the company's application. + Migrated the frontends build system from Webpack to Vite, reducing build + times by 10x and saving the company time and money in CI/CD. I also + migrated the code from TypeScript non-strict to strict mode, which + drastically reduced the number of bugs.
  • - Overhauled DevOps procedures, adding support for multiple environments - in a declarative manner, and enabling the team to deploy to production - with confidence. + Took charge of the company's entire development and infrastructure for 2 + months while the CTO was away on parental leave.
-
+

- Integrated into diverse teams, contributing expertise across various - technology stacks and clients, from public libraries to large financial - institutions. + Worked on the website for company's next generation browser game Ember + Sword as part of a team of just 2. The website functions as a web app and + has authentication, account management and deep integration with the game.

-
  • - Took charge of a self-service platform for Nordic libraries, - successfully enabling digital payments and driving cloud migration for - key web platforms to Azure/AWS. + Architected and built a limited time NFT sale event, creating a + real-time commerce application using React. This event led to $400,000 + in sales inside a week. I was in charge of the very central real-time + map as well as some scraping of blockchain data.
  • - Spearheaded the migration of API specifications to a new gateway, for - more straightforward internal API subscriptions and integrations. + Optimized the client-side JS bundle size of the company's Next.js + website, achieving a 70% reduction, which substantially improved loading + times and Web Core Vitals for all users as measured by Lighthouse.
  • - Joined a task force evaluating the feasibility of Google Cloud for data - ingestion projects, contributing Google Cloud expertise and - certification. + Overhauled DevOps procedures, adding support for multiple environments + in a declarative manner, and enabling the team to deploy to production + with confidence.
- +
diff --git a/src/pages/_CV/Page2/Page2.astro b/src/pages/_CV/Page2/Page2.astro index 2edf123..36be3dc 100644 --- a/src/pages/_CV/Page2/Page2.astro +++ b/src/pages/_CV/Page2/Page2.astro @@ -5,10 +5,12 @@ import SectionOtherSkills from "./sections/SectionOtherSkills.astro"; import SectionPersonalProjects from "./sections/SectionPersonalProjects.astro"; import SectionVolunteerWork from "./sections/SectionVolunteerWork.astro"; import SectionInterests from "./sections/SectionInterests.astro"; +import SectionWorkExperienceContinued from "./sections/SectionWorkExperienceContinued.astro"; --- + @@ -20,20 +22,23 @@ import SectionInterests from "./sections/SectionInterests.astro"; display: grid; grid-template: "head head head head head" 20mm - ".... ......... ......... ............ ...." 15mm - ".... volunteer ......... other-skills ...." auto + ".... .... ......... ............ ...." 15mm + ".... work ......... other-skills ...." auto ".... volunteer ......... ............ ...." var(--pageSeparator) ".... volunteer ......... interests ...." auto ".... ......... ......... ............ ...." var(--pageSeparator) ".... personal personal personal ...." auto ".... signature signature signature ...." 8mm ".... ......... ......... ............ ...." 1fr - "... ......... ......... ............ ...." var(--pagePadding) + "... .......... ......... ............ ...." var(--pagePadding) / var(--pagePadding) auto var(--pageSeparator) 50mm var(--pagePadding); } .page-2 > .header { grid-area: head; } + .page-2 > .work-experience-continued { + grid-area: work; + } .page-2 > .volunteer-work { grid-area: volunteer; } diff --git a/src/pages/_CV/Page2/sections/SectionVolunteerWork.astro b/src/pages/_CV/Page2/sections/SectionVolunteerWork.astro index 599e84f..a8e2ea8 100644 --- a/src/pages/_CV/Page2/sections/SectionVolunteerWork.astro +++ b/src/pages/_CV/Page2/sections/SectionVolunteerWork.astro @@ -45,35 +45,5 @@ const { class: className } = Astro.props; - -
- -

- Oversaw and optimized the organization's website, including migration to - a cost-effective hosting solution. Set up a small webshop for selling - merchandise and built a dedicated site for a high school PE program. -

-
    -
  • - Orchestrated the migration of the website to a more cost-efficient - hosting provider, achieving significant cost savings for the - organization. -
  • -
  • - Launched a webshop to diversify revenue streams through merchandise - sales. -
  • -
  • - Developed a specialized website to support a high school PE program, - extending the organization's reach into educational settings. -
  • -
-
diff --git a/src/pages/_CV/Page2/sections/SectionWorkExperienceContinued.astro b/src/pages/_CV/Page2/sections/SectionWorkExperienceContinued.astro new file mode 100644 index 0000000..3cf4fe4 --- /dev/null +++ b/src/pages/_CV/Page2/sections/SectionWorkExperienceContinued.astro @@ -0,0 +1,49 @@ +--- +import HeadlineSection from "../../HeadlineSection.astro"; +import Section from "../../../../components/ui/elements/Section.astro"; +import Article from "../../../../components/ui/elements/Article.astro"; +import HeadlineArticle from "../../HeadlineArticle.astro"; +import P from "../../../../components/ui/elements/P.astro"; +import Ul from "../../../../components/ui/elements/Ul.astro"; +import Li from "../../../../components/ui/elements/Li.astro"; +import ChipList from "../../ChipList.astro"; +interface Props { + class?: string; +} +const { class: className } = Astro.props; +--- + +
+ + +
+ +

+ As a consultant I joined various teams that needed extra resources and + help them work on their product. +

+ +
    +
  • + Worked as a backend developer for Danske Bank, where I contributed to + their Forex trading platform, mostly on infrastructure projects. I + helped the team with a large internal migration to a new API gateway. +
  • +
  • + Joined the product team at Bibliotheca where I took ownership of their + nordic library self service platform. As the only developer left on the + team I was responsible for the entire codebase there. I designed and + implemented a MobilePay integration and oversaw its introduction into + 100s of danish libraries. +
  • +
+ +
+