Samuel Plumppu
Samuel Plumppu

Hey! I'm Samuel.

System Developer & Sustainability Entrepreneur

Since 2015, I've worked with early stage startups and non-profits to create a future where both humanity and the living planet thrive together. I'm a curious and reflective person who enjoy learning, writing and building projects.

I primarily work with fullstack TypeScript and Rust, and have used a wide range of technologies over the years.

Beyond programming, I combine tech, systems thinking and Doughnut design for business to create a positive impact. With a strong passion for how libre software and co-operatives can help create an economy that is regenerative and distributive by design, I'm currently the Founder & Lead Developer at Greenheart Co-operative.

Let's co-create a sustainable future!

Email me
Matrix.org logo GitHub Mastodon LinkedIn

Featured blog posts


How I like to contribute

I want the digital experiences and solutions we create to truly bring value to people and society. Technology is exciting, but never the end goal. This desire to take a holistic approach helps me contribute more than just code to help the team succeed.

  • Product Strategy
  • Attention to Detail
  • Intercultural Collaboration
  • Mentorship & Team Growth
  • Feedback & Learning Culture
  • Improved Development Practices
  • Project Management
  • Stakeholder Communication
  • Systems Thinking
  • UI/UX Design
  • Humane Tech & Ethical Design
  • Design Systems

My beliefs

  • People

    I believe everyone can teach you something, no matter their experience, job title or background. This approach is especially useful in cross-functional teams with people from development, design, product and business.

  • Leadership

    Good leadership to me is like coaching, creating a learning culture where the team continuously improves their technical capabilities and collaboration skills.

  • Curiosity

    I'm driven by curiosity and a strong learning mindset and generally try to see challenges and problems as learning opportunities. These are some of the most important qualities I look for in people I collaborate with.

  • Quality

    I believe testing (mostly integration) is fundamental to quality software, especially for large projects that are going to be used and developed for many years.

  • Ownership

    I enjoy taking ownership for the products, services and features I work on, ensuring we're meeting the needs of people using them, and delivering accessible, performant solutions.

  • Systems Thinking

    Instead of working around symptoms, I often try exploring the systems perspective to find underlying causes. I've found that "solving a problem" usually means updating the solution - but not always. Sometimes you need to ask different questions, and redefine the problem.


Unique experiences

  • I founded a co-operative system development agency, managing teams, projects and clients. Doubling the annual yearly revenue two years in a row while reinvesting all surplus to enable social impact projects and speed up the transition to a regenerative and distributive economy.
  • I've worked at several early-stage startups and impactful non-profits. I'm used to working in resource-constrained environments where every technical, human and financial resource needs to be used wisely.
  • Every year since 2021, I've had the privilige to hold guest lectures at Chalmers University of Technology for the course Social innovation and social entrepreneurship. My goal is to showcase how to use Doughnut Economics and Doughnut design for social enterprises. I also hope to inspire more young people to learn about co-operatives and how they enable transformative change. (slides).
  • I've worked in highly international, diverse teams since 2019, which has taught me a lot about intercultural collaboration and made me more humble and considerate.

Technologies I work with

I primarily use fullstack TypeScript for web, mobile and backend development. Currently, I enjoy learning Rust and low level systems programming. I have been programming daily since 2013 and have worked with a wide range of technologies.

I'm comfortable with learning new programming languages and technologies whenever I need them. Rather than chasing the next shiny thing, I value picking tools based on the problem space, project goals and team experience.

Skills are sorted based on proficiency(from 5 to 1):

Programming languages

  • TypeScript (5)
  • JavaScript (5)
  • Rust (3)
  • Python (3)
  • C# (2)
  • PHP (2)

Web development

  • HTML (5)
  • CSS (4)
  • Svelte (4)
  • SvelteKit (4)
  • React (4)
  • Astro (3)
  • Playwright (3)
  • Vitest (3)
  • Storybook (2)
  • Next.js (2)
  • Angular (2)

Backend development & APIs

  • REST (4)
  • OpenAPI (4)
  • Node.js (4)
  • Fastify (4)
  • Express (4)
  • BullMQ (4)
  • OpenSearch (3)
  • GraphQL (2)
  • Elasticsearch (2)
  • Meteor (2)

Databases & ORMs

  • PostgreSQL (4)
  • Redis (4)
  • Valkey (4)
  • SQLite (3)
  • Prisma (3)
  • Drizzle (3)
  • Database Design (3)
  • Mongo DB (2)

Servers & containers

  • Linux (4)
  • Podman (4)
  • Docker (4)
  • Kubernetes (2)
  • Flux (2)
  • Ansible (1)

Mobile development

  • React Native (4)
  • Android (3)
  • iOS (2)

CMS

  • Keystatic (4)
  • Decap (3)
  • Strapi (3)
  • WordPress (2)

Other tech skills

  • Testing (4)
  • Accessibility (3)
  • Privacy (3)
  • Cryptography (3)
  • Shell Scripting (3)
  • CI/CD (3)
  • Data Pipelines (3)
  • OCR (2)
  • Local-first (2)
  • CRDT (2)
  • Phaser (2)

Here are some of the most notable projects I've worked on so far. Most of my code is libre software and you're welcome to get involved!

E-commerce system for local bakery

-
TypeScriptNode.jsSvelte

Fullstack e-commerce system for a local bakery with backend, API, public frontend and admin dashboard. Focus on comprehensive testing and delivering a simple but effective solution that is easy to self-host and maintain.

Automatic OpenAPI documentation generated from the backend code, always in sync with the implementation. This in turn enables type safety for the clients via openapi-fetch and simple refactoring, allowing the project to change and grow to handle new requirements. Also featuring a minimal dependency injection solution that gives 80% of the benefits with only 20% of the code compared to other third-party packages.

Klimatkollen: Data pipeline & API for sustainability

-
TypeScriptNode.jsData Pipelines

Garbo is powered by LLMs to fetch and extract self-reported GHG emissions data from companies. It automates the process of data extraction, evaluation, and formatting, providing a streamlined workflow for handling environmental data.

I mainly worked on implementing the data pipeline, creating the initial database design and a self-documenting REST-API for both internal and external use. I also worked on frontend development for presenting the resulting emissions, trying to make it easy to understand the complex data.

LifeWheel: Local-first reflection app

-
TypeScriptSvelteWeb Crypto API

Reflect on Your Life Balance. Local-first, privacy-friendly web app for your personal well-being. Built for the SvelteHack 2023, and developed since then. Using this regularly with friends and family.

Unique features include a backwards compatible, optionally end-to-end encrypted data format, cross-device sync and merging of sessions from different devices. Data can be synced via files, links, and even by scanning a QR code. Seamlessly keep your personal and sensitive information safe.

PageCrypt: Password protected HTML files

-
TypeScriptWeb Crypto APINode.jsHTML

Password protected Single Page Applications and HTML files, built using the Web Crypto API. Originally a rewrite of a similar project back in March 2021, I made significant improvements to create a smaller, simpler tool. At the time, this was the first public open source project to use the Web Crypto API for password protected HTML files. Since 2021, several other similar projects have borrowed significant parts of the code I wrote, thereby making sure this improved solution reaches many more users and developers.

This project has been a great learning opportunity to work with encryption, creating a minimal solution and pushing the boundaries of the web platform. This knowledge has been useful in many projects since then.

Show code (Git)Explore more of my public projects