Skip to main content
Sam in codes — back to top
Open to full-stack and data engineering roles.

Sam Razavi
I build web apps and data-driven systems.

Full-stack developer and data engineer with production-deployed web platforms and end-to-end data pipelines — React + FastAPI, .NET, dbt, BigQuery, and more.

900+Automated tests
11Projects built
7Live demos
2Dev internships
Cartoon portrait of Sam

02.About

Architect turned developer

Full-stack developer based in Stockholm. My background in architecture gave me a structural eye that shapes how I approach software — from system design to UI detail.

I've shipped production systems across React + FastAPI, Angular, .NET, and MERN stacks — including ApplyLuma, an AI job-search SaaS, Rostid, an e-commerce platform with 400+ automated tests, and DeskFlow, an IT helpdesk with SLA tracking and a grounded AI assistant. On the data side, I built liftpipe, a dbt + DuckDB + Dagster pipeline with an in-browser DuckDB-WASM dashboard, and Bostadspuls, a housing market analytics platform on BigQuery. I also integrated Swedish BankID into a recent project — a niche but valuable skill in the Swedish market.

I care about owning problems end-to-end and building things that hold up in production.

  • Languages:Swedish (Fluent)·English (Proficient)·Persian (Native)·Armenian (Advanced)

Core stack

  • TypeScript
  • React
  • Next.js
  • Node.js
  • Python
  • FastAPI
  • PostgreSQL
  • Redis
  • Docker
  • .NET
  • BigQuery
  • Apache Airflow

Also worked with

Languages
JavaScript · C# · HTML5 · CSS3 · SQL
Frontend
Angular · Vue · Vite · Tailwind CSS · Framer Motion · Zustand · React Query · Zod · React Hook Form · Figma
Backend
Express · NestJS · Flask · ASP.NET Core MVC · Pydantic · Celery
Databases
MongoDB · SQL Server · SQLite · SQLAlchemy · Prisma · Alembic
DevOps & Infra
Vercel · Railway · Azure · nginx · GitHub Actions · Linux · Sentry · GitHub · Agile/Scrum · Kanban
Data & Analytics
dbt · DuckDB · Dagster · Polars · Pandera · Soda Core
Security & Auth
JWT · OAuth2 · BankID · TOTP 2FA · RBAC · bcrypt
Testing
Jest · pytest · Vitest · Testing Library · pytest-asyncio · ruff

03.Experience

Where I've built things

  1. Full-Stack Developer Intern @ Fill Technology

    Stockholm, Sweden

    January 2024 – June 2024

    Internship

    Co-led a 4-intern initiative to localise the entire recruiter and admin platform from Swedish to English — scoping 30+ pages, AI chatbot copy, and transactional emails, delivering on time for a customer demo that opened the platform to non-Swedish-speaking markets.

    • Co-led localisation of 30+ platform pages, AI chatbot, and transactional emails across a 4-intern team
    • Delivered frontend and full-stack work across recruiter and admin dashboards in JavaScript, Angular, and Node.js
    • Participated in full Scrum workflow with PR reviews before every merge to the shared development branch

    Stack

    • JavaScript
    • Angular
    • Node.js
  2. Frontend Developer Intern @ Devward

    Lidingö, Sweden

    August 2023 – December 2023

    Internship

    Built React components for Smart RoomHub, an early-stage IoT product for smart-room and device management, working directly with the founding full-stack engineer.

    • Built React components for Smart RoomHub IoT product working directly with the founding engineer
    • Implemented responsive UI across mobile, tablet, and desktop using React, Next.js, and TypeScript
    • Consumed REST endpoints and real-time WebSocket data from a Node.js (NestJS/Express) backend
    • Translated Figma designs into reusable, accessible UI components

    Stack

    • React
    • Next.js
    • TypeScript
    • WebSockets
    • NestJS

04.Projects

A few things I've shipped

Screenshot 1 of 3
ApplyLuma screenshot 1 of 3
Full-Stack SaaS

ApplyLuma

AI-Powered Job Search Platform

Production-deployed full-stack SaaS platform that helps candidates discover job matches, analyze CVs with AI, generate tailored cover letters, track applications, and explore job-market analytics through a responsive dashboard.

  • Self-deployed to production (Railway + Vercel)
  • Custom data pipeline with Airflow + dbt
  • AI resume analysis via OpenAI API
  • Browser extension for job saving
  • FastAPI
  • React
  • TypeScript
  • PostgreSQL
  • Redis
  • Docker
  • Airflow
  • dbt
  • OpenAI API
  • Stripe
  • Vercel
Screenshot 1 of 4
Rostid screenshot 1 of 4
Full-Stack E-Commerce

Rostid

Specialty Coffee E-Commerce Platform

Full-stack e-commerce platform for a premium Stockholm coffee brand. Features Stripe checkout, recurring subscriptions, loyalty points, gift cards, discount codes, and a comprehensive admin dashboard — wrapped in an editorial storefront with a shared, reduced-motion-aware animation system.

  • Stripe webhooks as source of truth for orders
  • Atomic Prisma transactions for checkout
  • 400+ automated tests with CI coverage gate
  • JWT with silent refresh via httpOnly cookies
  • React
  • TypeScript
  • Node.js
  • Express
  • Prisma
  • PostgreSQL
  • Stripe
  • JWT
  • Zustand
  • Framer Motion
  • Docker
Screenshot 1 of 4
DeskFlow screenshot 1 of 4
Full-Stack ITSM

DeskFlow

IT Helpdesk & Asset Management Platform

A small ServiceNow-style service desk: tickets with a status workflow and SLA timers, a hardware inventory, a Markdown knowledge base with Postgres full-text search, an append-only audit log, and an optional AI assistant that only answers from published articles. Angular front end, async FastAPI back end and a background worker, containerised and deployed on Railway.

  • SLA engine: per-priority response/resolution targets, clock paused while Pending, worker flags at-risk and breached tickets
  • Single source of truth for SLA rules — API, dashboard, filters and worker can't disagree
  • Grounded AI assistant (Claude): retrieves only published articles, cites them, drops answers that cite nothing
  • Postgres full-text search (tsvector + GIN) with ranking, stemming, phrases and highlighted snippets
  • Angular
  • Angular Material
  • TypeScript
  • FastAPI
  • SQLAlchemy
  • PostgreSQL
  • Redis
  • Alembic
  • Claude API
  • Docker
  • nginx
  • Railway
  • GitHub Actions

Opens signed in as a demo agent. No sign-up needed.

Screenshot 1 of 3
liftpipe screenshot 1 of 3
Data Engineering

liftpipe

Strength-Training Data Pipeline & Analytics

An end-to-end, free-to-run data pipeline: it ingests Hevy workout exports and Apple Health data, models them with dbt on DuckDB, orchestrates everything as one Dagster asset graph, and serves a static dashboard that queries the marts in the browser with DuckDB-WASM. Visitors can upload their own Hevy CSV and see their own dashboard in seconds.

  • Layered dbt models (raw → staging → intermediate → marts) with 75 data tests and unit tests
  • One Dagster lineage graph from file to dashboard — every dbt test becomes an asset check
  • Idempotent, incremental loads keyed on natural keys and file hashes
  • Streaming Apple Health XML parser: 27 MB memory on a 109 MB export vs 1 GB for a full parse
  • Python
  • dbt
  • DuckDB
  • Dagster
  • Polars
  • Pandera
  • FastAPI
  • React
  • DuckDB-WASM
  • Docker
  • Vercel
  • Railway
Screenshot 1 of 3
Nordic Digital Solutions screenshot 1 of 3
Group Project · Backend Lead

Nordic Digital Solutions

Swedish UNESCO Heritage Discovery Platform

A newspaper-embedded widget for discovering Swedish UNESCO World Heritage sites by geolocation. Users authenticate via email/password or Swedish BankID, subscribe for premium access, and unlock an AI heritage guide, multi-language translation across 100+ languages, and location-based SMS/email notifications.

My role: Backend lead — email/password auth, JWT tokens, Swedish BankID (device + mobile QR), TOTP 2FA, user profile management, FastAPI app architecture (77 of 195 total commits)

  • Swedish BankID integration — device and mobile QR code flow (HMAC-SHA256 animated QR, 2s polling)
  • TOTP two-factor authentication compatible with Google Authenticator and Authy
  • AI heritage guide chatbot powered by Anthropic Claude Haiku
  • Location-based SMS/email notifications with 30-day/7-day anti-spam cooldowns
  • FastAPI
  • PostgreSQL
  • SQLAlchemy
  • BankID
  • Stripe
  • Claude API
  • Google Cloud Translate
  • Leaflet.js
  • JWT
  • TOTP
  • GitHub Actions

More projects

  • Auth Service preview
    Backend Microservice

    Auth Service

    Reusable Authentication Microservice

    Production-ready standalone authentication microservice designed for reuse across multiple applications. Features JWT rotation, OAuth2, RBAC, and comprehensive security hardening.

    Try the live demoOpens signed in to a demo account. No sign-up needed.

    Read the case study
    • FastAPI
    • PostgreSQL
    • Redis
    • JWT
    • OAuth2, Docker, pytest, structlog
  • Bostadspuls preview
    Data Engineering

    Bostadspuls

    Swedish Housing Market Analytics Platform

    End-to-end data engineering platform that ingests housing data from SCB and Booli APIs, transforms it through a dbt star schema, and exposes interactive analytics through a Vue 3 dashboard with price trends, regional comparisons, and a choropleth heatmap of Sweden.

    • Python
    • Polars
    • BigQuery
    • dbt
    • Dagster, FastAPI, Vue 3, ECharts, Docker, Railway
  • Migrationsassistenten preview
    Full-Stack AI Tool

    Migrationsassistenten

    AI Document Drafting Assistant

    Full-stack AI-powered tool that helps individuals structure formal Swedish migration court appeal documents. Includes AI generation, section revision, version history, deadline tracking, and PDF export.

    • FastAPI
    • React
    • TypeScript
    • SQLAlchemy
    • Anthropic Claude API, WeasyPrint, Alembic
  • Memory Game preview
    .NET / C#

    Memory Game

    Multiplayer Turn-Based Web Game

    Two-player turn-based memory card game with session authentication, lobby system, AJAX-based real-time turn synchronization, and a custom ADO.NET data access layer without ORM.

    • ASP.NET Core MVC
    • C#
    • SQL Server
    • ADO.NET
    • Bootstrap 5, AJAX, Azure
  • Guess the Music preview
    Real-Time Multiplayer

    Guess the Music

    Real-Time Party Music Quiz

    Multiplayer music-guessing game for game nights: the TV shows the video, everyone buzzes in from their own phone, and the host runs the round from a control panel. Built with Node, Express and Socket.IO, with English/Farsi (RTL) support and a set of optional game modes. Built with Claude Code; I directed the design, played it with friends and family, and made the product and architecture decisions.

    • Node.js
    • Express
    • Socket.IO
    • JavaScript
    • YouTube Data API, PWA, pm2
  • Ziafat-e Akhar preview
    Real-Time Multiplayer

    Ziafat-e Akhar

    Farsi/English Murder-Mystery Party Game

    Social-deduction murder-mystery game for 4–12 players: one shared TV, everyone else plays on their own phone. Two game modes, two stories, an animated narrator, and bots for small groups. A hobby project built with Claude Code and steered by conversation and playtesting; I designed the game and decided how it should play and feel.

    • Node.js
    • Express
    • Socket.IO
    • JavaScript
    • SVG, jsdom

05.Open source

Fixes merged into libraries other developers depend on

hustcc/echarts-for-react

The React wrapper for Apache ECharts

5.0k stars on GitHub3 merged pull requests

  1. Exports map so bundlers load the ESM build

    Merged 8 Nov 2026PR #631Fixes #619

    Under Vite 8, imports of echarts-for-react/lib/* resolved to the CommonJS build and crashed with “Element type is invalid”, an issue where the maintainer had invited outside help. Added a package exports map that sends bundlers to the ESM build while keeping CommonJS and types for Node and TypeScript; tested across Vite 7 and 8, webpack 5, esbuild, Node 22 and TypeScript, and refined it after the maintainer's review.

    • npm packaging
    • ESM/CommonJS
    • Vite
    • webpack
  2. Declare tslib as a runtime dependency

    Merged 7 Nov 2026PR #630Fixes #512

    Strict package installs failed with “Cannot find module 'tslib'”, an issue open since 2022: the build imports tslib helpers at runtime but never declared the package. Reproduced it by packing the library and installing it with pnpm without hoisting, then verified the fix in the same setup.

    • npm packaging
    • pnpm
    • Node.js
  3. React 19 type compatibility

    Merged 6 Nov 2026PR #629Fixes #628

    The published type declarations used the global JSX namespace, which @types/react 19 removed, so React 19 projects failed to type-check. Changed render()'s return type to React.ReactElement and verified it against a React 19 project, with the library's build, lint and tests passing and the compiled JavaScript unchanged.

    • TypeScript
    • React

petyosi/react-virtuoso

Virtualized lists, tables and grids for React

6.5k stars on GitHub1 merged pull request

  1. Virtualized lists inside CSS zoom

    Merged 9 Nov 2026PR #1559Fixes #1495

    Lists inside an element with CSS zoom rendered growing blank space and stopped loading items, because getBoundingClientRect() is scaled by the zoom while scrollTop is not. Converted measured sizes to scroll pixels across Virtuoso, TableVirtuoso and VirtuosoGrid, with 5 Playwright tests that failed before the fix and pass after. Merged together with a follow-up commit by the maintainer.

    • React
    • TypeScript
    • Playwright
    • DOM geometry

06.Education

The paper trail

  1. Stockholm UniversityCurrent

    Bachelor of Science in Computer and Systems Sciences

    Expected December 2026180 ECTS

  2. Dalarna UniversityCompleted

    Higher Education Diploma in Informatics — Digital Services

    Thesis: The relationship between students' use of AI tools and their perceived competence for the job market

    August 2024 – June 2026120 ECTS

  3. IT-Högskolan, Stockholm

    Higher Vocational Education Diploma — JavaScript Developer

    August 2022 – June 2024400 YH credits (EQF level 5)

  4. KTH Royal Institute of Technology

    Bridging Programme for Architects with Foreign Qualifications

    2017 – 2019

  5. NUACA, Yerevan

    Bachelor of Architecture (4-year programme)

    2009 – 2014

Certifications17

Microsoft Certified: Fabric Data Engineer AssociateProctored exam · DP-700

Microsoft · 2026Show credential

Data Engineering

  • Google Data Analytics Professional Certificate

    Google / Coursera · 2026Show credential

  • IBM Data Engineering Professional Certificate

    IBM / Coursera · 2026Show credential

  • Snowflake Data Engineering Professional Certificate

    Snowflake / Coursera · 2026

  • Microsoft Power BI Data Analyst Professional Certificate

    Microsoft / Coursera · 2026Exam prep · PL-300

  • Databricks Data Engineering Specialization

    Databricks / Coursera · 2026

Cloud

  • Microsoft Azure Developer Associate

    Microsoft / Coursera · 2026Exam prep · AZ-204

  • Microsoft 365 & Agent Administration Professional Certificate

    Microsoft / Coursera · 2026

  • AWS Cloud Solutions Architect Professional Certificate

    AWS / Coursera · 2026

Security

  • Junior Cybersecurity Analyst Career Path

    Cisco Networking Academy · 2026

  • Cybersecurity – Fundamentals and Awareness

    Linköping University · 2024

  • Microsoft Cybersecurity Analyst Professional Certificate

    Microsoft / Coursera · 2026

DevOps & AI

  • AI – Organisation, Value and Implementation

    AI Sweden · 2024

  • Elements of AI

    University of Helsinki & MinnaLearn · 2024

  • IBM Applied DevOps Engineering Professional Certificate

    IBM / Coursera · 2026

IT Fundamentals

  • Google IT Support Professional Certificate

    Google / Coursera · 2026Show credential

  • Microsoft IT Support Specialist Professional Certificate

    Microsoft / Coursera · 2026Show credential

07.Contact

Let's talk

Let's build something together.

I'm open to full-stack and data engineering roles, freelance work, and the occasional good-cause collab. Email is the fastest way to reach me, or use the form.

Location
Stockholm, Sweden
Availability
Available full-time, starting now
Work authorisation
Swedish citizen · EU work authorisation