Skip to content

Commit 1f39717

Browse files
committed
📜
1 parent 42e2f84 commit 1f39717

File tree

10 files changed

+263
-18
lines changed

10 files changed

+263
-18
lines changed

_config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ defaults:
5858
type: projects
5959
values:
6060
layout: project
61+
sitemap: false
6162

6263
- scope:
6364
path: googlef0bc3dbe928e1f73.html

_projects/09-astando.md

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
---
22
name: Astando
33
slug: astando
4+
sitemap: true
5+
organization:
6+
location: Stockholm, Sweden
7+
url: https://norconsultdigital.se/
48
roles:
59
- System Developer
610
employer: /employment/12-avega-group-ab
7-
location: Stockholm, Sweden
811
start_date: 2008-02-28
912
end_date: 2009-05-01
1013
skills:
@@ -18,8 +21,39 @@ skills:
1821
- Continuous Integration
1922
summary:
2023
- Client/server application for importing and presenting traffic measurement data for Stockholm and Gothenburg.
24+
#<!--more-->
25+
#Astando is one of the leading companies in the GIS area and in the forefront of the Local Roaddatabase concept (LV).
26+
#LV is the foundation on top of which applications concerning the road network, traffic and road-users are built.
27+
#The assignment involved development of a client/server application for importing and presenting traffic measurement data for Stockholm and Gothenburg.
2128
---
22-
<!--more-->
23-
Astando is one of the leading companies in the GIS area and in the forefront of the Local Roaddatabase concept (LV).
24-
LV is the foundation on top of which applications concerning the road network, traffic and road-users are built.
25-
The assignment involved development of a client/server application for importing and presenting traffic measurement data for Stockholm and Gothenburg.
29+
## Context
30+
Astando (now Norconsult Astando, following acquisition by [Norconsult][norconsult]) is one of Sweden’s leading companies in the GIS domain and a key contributor to the Local Road Database (LV) concept — the national foundation for applications related to road networks, traffic, and road‑user information.
31+
32+
In 2008–2009, I joined Astando as a consultant from [Avega Group AB][avega] to contribute to the continued development of a client/server application used by Stockholm and Gothenburg for importing, processing, and presenting traffic measurement data.
33+
34+
## Problem
35+
Municipal traffic departments needed a reliable way to import large volumes of traffic measurement data from various sensors and systems, normalize it, and present it in a way that supported analysis and operational decision‑making. The existing application was already in use but required ongoing development, refinement, and new capabilities.
36+
37+
## Approach
38+
### Application Development
39+
- Contributed to the continued development of a WinForms‑based client application for visualizing and working with traffic measurement data
40+
- Extended backend components and Windows Services responsible for data import, transformation, and processing
41+
- Implemented data access using Oracle and NHibernate
42+
### Architecture & Engineering Practices
43+
- Used Spring.NET for dependency injection and modularization
44+
- Applied Test‑Driven Development to improve reliability and maintainability
45+
- Participated in early Continuous Integration workflows to ensure stable builds and predictable delivery
46+
### Domain Integration
47+
- Worked with the Local Road Database (LV) model to align traffic measurement data with the national road network
48+
- Ensured compatibility with municipal data formats and operational workflows
49+
50+
## Outcome
51+
- Strengthened and extended a production system used by Stockholm and Gothenburg for traffic data import and presentation
52+
- Improved data processing reliability through automated services and structured data handling
53+
- Enhanced code quality and delivery consistency through TDD and CI practices
54+
55+
## Reflection
56+
This engagement combined desktop application development, backend processing, and GIS‑related domain modeling. It was an early opportunity to work within an established codebase, contribute to a complex data‑driven system, and apply disciplined engineering practices — experience that later helped shape my long‑term relationship with Norconsult Astando.
57+
58+
[avega]: https://avega.se/
59+
[norconsult]: {{ page.organization.url }}

_projects/17-plejmo.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
name: Film2Home/Plejmo
33
slug: film2home
4+
sitemap: true
5+
teaser: Delivered backend, frontend, and DevOps improvements across the Film2Home and Plejmo platforms, including API design and automated deployment.
46
group: projects
57
roles:
68
- Fullstack Developer, DevOps
@@ -79,3 +81,58 @@ competencies:
7981
tech:
8082
- Octopus Deploy
8183
---
84+
## Context
85+
Film2Home was originally a standalone Video‑on‑Demand company owned by Bonver. After the company went bankrupt, it was acquired by Magine TV, who continued operating and evolving the platform under both the Film2Home and Plejmo brands.
86+
87+
From 2014 to 2017, I worked as a Fullstack Developer and DevOps engineer on these services. The platform combined ASP.NET MVC applications, EPiServer‑based content management, and a growing set of backend services supporting catalog, payments, user accounts, and content metadata.
88+
89+
The work spanned full‑stack development, system integration, and DevOps in an environment where rapid iteration, stability, and deployment reliability were equally important.
90+
91+
## Problem
92+
The existing system faced several challenges typical of maturing VOD platforms:
93+
94+
- A traditional n‑tier architecture that struggled with performance under load
95+
- Manual deployments that were slow, error‑prone, and difficult to coordinate
96+
- Increasing complexity around third‑party integrations (payments, metadata providers, etc.)
97+
- A need for a more modern API surface as new clients and web applications were introduced
98+
99+
The goal was to improve performance, reduce operational friction, and support the evolution of the platform without destabilizing ongoing operations.
100+
101+
## Approach
102+
My work combined architectural refactoring, backend development, frontend improvements and DevOps automation. Key areas included:
103+
### Architecture
104+
- Introduced CQRS patterns to separate reads from writes and improve scalability
105+
- Refactored parts of the system toward a service‑bus‑driven architecture using Azure Service Bus
106+
- Created microservices for third‑party integrations to reduce coupling and improve reliability
107+
- Enabled rapid experimentation by decoupling components, making it straightforward to plug in new features and services
108+
### Backend Development
109+
- Built and maintained ASP.NET MVC and ASP.NET Web API applications
110+
- Designed and implemented version 1 of Plejmo’s REST API
111+
- Developed domain logic using C#, .NET Framework, NHibernate, and SQL Server
112+
- Built a proof‑of‑concept gamification service (levels, achievements, etc.) that integrated cleanly thanks to the new service‑bus architecture
113+
### Frontend Development
114+
- Implemented UI features using JavaScript, jQuery, and KnockoutJS
115+
- Improved client‑side performance and responsiveness
116+
- Collaborated with designers and content teams working in EPiServer
117+
### System Integration
118+
- Built and maintained integrations with external metadata and payment providers
119+
- Developed and maintained REST and WCF services for internal and external consumers
120+
### Automation & DevOps
121+
- Configured automated builds and deployment pipelines using Octopus Deploy
122+
- Reduced deployment time from roughly one hour to a few minutes
123+
- Eliminated manual deployment errors through automation and environment consistency
124+
- Managed IIS configurations and site setup across multiple environments
125+
126+
## Outcome
127+
- Delivered the Film2Home and Plejmo web platforms across multiple markets
128+
- Designed and shipped Plejmo’s first REST API, enabling new clients and integrations
129+
- Reduced deployment time dramatically and improved operational stability through automation
130+
- Increased system performance by refactoring from a traditional n‑tier architecture to a service‑bus‑oriented approach
131+
- Improved scalability and reliability by isolating third‑party integrations into dedicated services
132+
- Demonstrated the architectural flexibility of the new system through a gamification proof of concept that could be added with minimal friction
133+
134+
## Reflection
135+
This project highlighted the value of combining full‑stack development with DevOps discipline. Many of the most impactful improvements came from simplifying architecture, reducing deployment friction, and clarifying system boundaries.
136+
Working on a consumer‑facing VOD platform also reinforced the importance of performance, stability, and predictable delivery — especially when customers expect instant access to content.
137+
138+

_projects/19-norconsult-astando.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
name: Norconsult Astando
33
slug: norconsult-astando/2018
4+
output: false
45
roles:
56
- Fullstack Developer, DevOps
67
employer: /employment/17-self-employed
@@ -20,4 +21,4 @@ skills:
2021
- WCF
2122
- NHibernate
2223
- C#
23-
---
24+
---

_projects/21-open-payments.md

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
name: Open Payments
33
slug: open-payments
4+
sitemap: true
45
client: true
56
organization:
67
url: https://openpayments.io
@@ -45,11 +46,47 @@ competencies:
4546
weight: .3
4647
tech:
4748
- Azure DevOps
49+
# Open Payments provides a PSD2-compliant platform letting FinTech,
50+
# E-commerce businesses etc integrate with European banks through
51+
# a single unified API - the Open Payments Platform.
52+
#
53+
# Much of my focus lay on implementing automated onboarding in the client's Customer Portal - a single page React application with a .Net Core backend integrating with a Dynamics CRM and a variety of Azure resources.
4854
---
49-
<!--more-->
55+
## Context
56+
Open Payments provides a PSD2‑compliant platform that allows FinTech companies, e‑commerce businesses, and other financial actors to integrate with European banks through a single unified API.
5057

51-
Open Payments provides a PSD2-compliant platform letting FinTech,
52-
E-commerce businesses etc integrate with European banks through
53-
a single unified API - the Open Payments Platform.
58+
Between late 2019 and mid‑2020, I worked as a Fullstack Developer on the Customer Portal — the interface through which clients onboard, configure access, and manage their integrations. The portal consisted of a React single‑page application backed by an ASP.NET Core API, with deep integration into Dynamics CRM and multiple Azure services.
5459

55-
Much of my focus lay on implementing automated onboarding in the client's Customer Portal - a single page React application with a .Net Core backend integrating with a Dynamics CRM and a variety of Azure resources.
60+
## Problem
61+
The onboarding process for new customers involved several manual steps across CRM, internal systems, and Azure resources. This created friction for both customers and internal teams:
62+
63+
- onboarding required manual verification and configuration
64+
- functional tests depended on manual setup, slowing down delivery
65+
- deployments were slower than necessary due to test bottlenecks
66+
67+
The goal was to automate onboarding, reduce manual intervention, and improve the reliability and speed of the delivery pipeline.
68+
69+
## Approach
70+
My work focused on full‑stack development, system integration, and improving test automation.
71+
### Backend Development
72+
- Built and maintained ASP.NET Core APIs supporting the Customer Portal
73+
- Integrated backend services with Dynamics CRM and Azure resources
74+
- Implemented business logic for onboarding flows and customer configuration
75+
### Frontend Development
76+
- Developed features in the React SPA using TypeScript, Redux, and modern React patterns
77+
- Improved UX around onboarding and configuration flows
78+
### System Integration
79+
- Connected the Customer Portal to Dynamics CRM for customer data and onboarding state
80+
- Integrated with Azure Functions and other Azure services used by the platform
81+
### Automation
82+
- Improved functional and integration tests to reduce manual setup
83+
- Enabled faster deployments by making tests more reliable and self‑contained
84+
- Contributed to CI/CD workflows in Azure DevOps
85+
86+
## Outcome
87+
- Delivered an automated onboarding flow that reduced manual work and improved customer experience
88+
- Improved test automation, reducing the need for manual intervention and increasing deployment speed
89+
- Strengthened the Customer Portal through full‑stack contributions across backend, frontend, and integrations
90+
91+
## Reflection
92+
This project highlighted the value of combining full‑stack development with thoughtful automation. By reducing manual steps in both onboarding and testing, the team could deliver changes faster and with greater confidence. It also reinforced the importance of clear integration boundaries when working with CRM systems and cloud‑based services.

_projects/22-norconsult-astando-2020.md

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
name: Norconsult Astando
3-
slug: norconsult-astando/2020
3+
slug: norconsult-astando
4+
sitemap: true
45
client: true
56
organization:
67
url: https://www.norconsultastando.se
@@ -46,3 +47,57 @@ competencies:
4647
- TeamCity
4748
- Octopus Deploy
4849
---
50+
## Context
51+
My relationship with Norconsult Astando goes back to 2008–2009, when I worked with them as a consultant from Avea Group AB. Nearly a decade later, after seeing on [LinkedIn](https://www.linkedin.com/in/prettygoodprogrammer) that I had started freelancing, they reached out and asked if I was available for a new engagement. I returned in 2018 to modernize deployment workflows, and again in 2020 to support full‑stack development and legacy modernization.
52+
53+
Norconsult Astando develops GIS‑driven solutions for municipalities and infrastructure organizations. The systems I worked on were primarily built on ASP.NET Core, ASP.NET Web API, and WCF services, with frontend components in JavaScript/TypeScript and KnockoutJS. Deployments were handled through TeamCity and Octopus Deploy.
54+
55+
## 2018 Engagement — DevOps & Backend Engineering
56+
### Problem
57+
The IsyRoad project suffered from slow, manual, and error‑prone deployments. Each deployment took around 45 minutes per application instance, and the process introduced frequent human‑related errors.
58+
59+
### Approach
60+
61+
#### Automation & DevOps
62+
- Introduced automated deployment pipelines using Octopus Deploy
63+
- Integrated TeamCity build steps with deployment workflows
64+
- Standardized configuration and environment handling
65+
66+
#### Backend Development
67+
- Contributed to ASP.NET Web API and .NET Core services
68+
- Improved maintainability and reliability of backend components
69+
- Worked with NHibernate and WCF‑based integrations
70+
71+
### Outcome
72+
- Deployment time reduced from ~45 minutes to ~5 minutes per instance
73+
- Deployment‑related errors reduced by nearly 100%
74+
- A more predictable and maintainable delivery pipeline for the team
75+
76+
77+
78+
## 2020 Engagement — Fullstack Development & Legacy Modernization
79+
80+
### Problem
81+
Several legacy systems required new functionality, improved readability, and better testability. Deployment automation also needed refinement to support ongoing development.
82+
83+
### Approach
84+
85+
#### Backend Development
86+
- Implemented new features in ASP.NET Core and ASP.NET Web Forms applications
87+
- Improved structure and clarity in existing codebases
88+
- Enhanced testability through clearer separation of concerns
89+
#### Frontend Development
90+
- Delivered new UI functionality using TypeScript, JavaScript, and KnockoutJS
91+
- Improved maintainability of legacy frontend components
92+
#### Automation
93+
- Extended and refined deployment automation using Octopus Deploy
94+
- Contributed to TeamCity build pipelines
95+
#### Outcome
96+
- Delivered new functionality across several legacy systems
97+
- Improved code readability and testability, reducing friction for future development
98+
- Strengthened deployment automation for ongoing work
99+
100+
101+
## Reflection
102+
Across all three periods — 2008, 2018, and 2020 — the work combined pragmatic engineering with meaningful improvements to delivery workflows.
103+
The long‑standing relationship with Norconsult Astando reflects a pattern of trust built over time: solve real problems, improve the systems that matter, and make life easier for the teams who maintain them.

0 commit comments

Comments
 (0)