Open to work · Junior Fullstack roles

Hi, I'm Devinder Singh
Fullstack Developer

I study at Chas Academy in Stockholm and work part-time as a developer at Flyttsmart. Most of what I build is backend: Fastify APIs, Postgres, RabbitMQ, and the tests around them. I'm looking for a full-time junior role.

production codebases I ship to
2
integration tests in Fakturly
410
written architecture decisions
55
services talking over RabbitMQ
5

About Me

Who I am

I study fullstack development at Chas Academy in Stockholm. I started because I wanted to know how software is built, not just use it. That stuck. Most days I'm somewhere between a React frontend and a Fastify backend, working out the contract between the two.

I took a cybersecurity course next to my main studies. Now I ask one more question about everything I build: could someone break it? In Fakturly that meant identical login errors, 404 instead of 403, and rate limits per account as well as per IP.

I read docs for fun and rebuild things to see how they work. I've worked in Scrum and Kanban teams, and I like standups.

Before I wrote code, I spent six years in logistics, delivering for Budbee and Pressens Morgontjänst. Now I write the code that books PostNord shipments for a subscription business.

Lately the studying has turned into work outside school. I built AI and automation features at SoMe Software, joined a client team whose back-office now runs in production, and solved a technical case for Flyttsmart that became a part-time job. On the side I'm building Studiehjälpen, a RAG assistant, without a framework. I want to understand every step of the retrieval myself.

Education

Chas Academy · Fullstack Developer

Sep 2025 – Jun 2027 · Stockholm

Cybersecurity

Cybersäkerhet för yrkesverksamma

Oct 2025 – Jan 2026 · 25 YH Points

Location

Stockholm, Sweden

Open to full-time · hybrid & remote

Languages

Swedish · English · Punjabi · Hindi

Fluent in Swedish and English

Experience

Where I've worked

  1. Sep 2026 – present

    Fullstack Developer (part-time) · Flyttsmart

    Production platform · TypeScript, React, Node.js

    I got this job by solving their technical case: a TypeScript function that matches a customer's moving data against service offers, explains why each rejected offer fell out, and ranks the rest the same way every time. Now I work across the stack on the production platform, next to my studies.

    Read the case that got me hired →
  2. 2026 – present

    Backend Developer (team codebase) · Hälsogruppen

    Client project · subscription back-office in production

    A back-office that runs a subscription business on its own. A sale lands from Hitrate, and from then on the system handles every delivery and every invoice, month after month.

    • Own the auth layer: role checks for five roles, locked registration, JWT expiry
    • Built the Capway invoicing integration and bulk PostNord label booking
    • Moved our CI end-to-end tests onto S3Mock

    From sale to invoice

    Hitrate sale. A sale is closed in Hitrate, the sales system, and it sends the order to us by webhook.

  3. Jul 2026 – Sep 2026

    AI & Automation Developer (part-time) · SoMe Software

    Social media SaaS with paying customers

    Built AI integrations and n8n automation workflows into the product, and worked directly with the founder on product decisions. It was the first time my code went out to real users.

  4. 2018 – 2024

    Logistics & delivery · Budbee, Pressens Morgontjänst and others

    Before code

    Six years of early mornings, fixed routes and deadlines that don't move. When I build delivery schedules and shipping labels in code now, I already know what happens on the other end.

Work

Things I've built

Completed

Fakturly

An invoicing and payment system built to the rules real financial software follows. Money is stored as whole öre, never floats. The ledger is append-only, and Stripe webhooks are idempotent in three layers. The Swedish parts are all there: VAT per line, SIE export, late interest under räntelagen. Two portals, 410 backend integration tests, plus unit and end-to-end tests.

How it flows

  1. Stripe webhook
  2. Claim event id
  3. Status guard
  4. Ledger row
  5. Paid
BunFastifyPrismaPostgreSQLRedisStripeReact
Completed

QuickBite

Built for a system-level QA course, where the event flow was the whole point. An API gateway sits in front of four services: menu, order, kitchen and notification. Each owns its own Postgres database, and they only talk through RabbitMQ. Orders leave through a transactional outbox. A failing handler retries with backoff before it lands in a dead-letter queue. The tests run against real infrastructure, no mocks.

How it flows

  1. Order API
  2. Outbox
  3. RabbitMQ
  4. Kitchen
  5. Notification
BunFastifyRabbitMQPostgreSQLRedisDockerNginx
Completed

Flyttsmart case

The technical case that got me hired. A TypeScript function takes a customer's moving data and a batch of service offers, then answers three questions. What can this customer get? Why did the other offers fall out? In what order should the matches be shown? Same input, same answer, every time. 33 tests and no runtime dependencies.

How it flows

  1. n8n payload
  2. Shape checks
  3. pass / fail / unknown
  4. Buckets
  5. Ranked list
TypeScriptNode.jsJestn8n
Ongoing

Studiehjälpen

A RAG assistant for Swedish bureaucracy questions about CSN, Försäkringskassan and Skatteverket. Answers come from official documents, and every answer cites its source. Search is hybrid, vector plus keyword, over pgvector. I'm building it without a RAG framework, so when retrieval goes wrong I'm debugging my own chunker.

Planned flow

  1. Question
  2. Embed
  3. Vector + keyword
  4. Fuse rankings
  5. Cited answer
BunFastifyGraphQLPostgreSQLpgvectorClaude API

More projects

  • Snap

    Ongoing

    A Snapchat-style app. Photo snaps open once and disappear after 24 hours, and there's chat and live pushes over WebSockets. It runs end to end on one server today. The next step is several servers behind nginx, with RabbitMQ carrying live events between them. The plan is written step by step, and the build follows it.

    ExpoBunFastifyPostgreSQLAWS S3Socket.ioRabbitMQ
  • AI Prompt Manager

    Completed

    My backend architecture foundation project. A layered Bun and Fastify API, split into routes, services and repositories, with JWT auth and Zod validation. The React 19 frontend uses TanStack Query and organizes AI prompts into collections.

    BunFastifyMongoDBJWTReact
  • SocialApp

    Completed

    Started from my instructor's Bun and Fastify scaffold for the QA course, which had auth and a bare post model. I built the rest: likes, threaded comments, search, paginated feeds, rate limiting, a custom React frontend and the Docker setup. The README marks exactly which parts are mine.

    BunFastifyPostgreSQLAWS S3ReactDocker
  • Mitt Djur

    Completed

    Team project run with Scrum. I owned the backend: architecture, API design and the whole data layer. Everyone in the group had opinions about the code, which turned out to be good practice.

    ReactBunFastifyScrum
  • Chat App

    Completed

    Built to understand WebSockets from scratch. Real-time rooms and instant messaging, TypeScript throughout. You can tell it works the moment the first message appears.

    TypeScriptSocket.ioNode.js
  • AI Assistant App

    Completed

    I fed it my own study notes and it turned them into quiz questions. I built it to help me study. It taught me more about the Gemini API than anything else.

    ReactTypeScriptGemini API

Skills

What I work with

Backend

Node.jsBunFastifyExpressRESTGraphQLPrisma

Frontend

ReactNext.jsTypeScriptTailwind CSSViteExpo

Data & Messaging

PostgreSQLRedisMongoDBRabbitMQBullMQpgvector

Infra & DevOps

DockerNginxGitHub ActionsAWS S3PM2Vercel

Testing

bun:testVitestJestPlaywrightCypressTestcontainers

AI & Integration

Anthropic APIRAGVoyage AIn8nMCPOpenAI

Security

JWT + refresh rotationArgon2idRate limitingZod validationGDPR / NIS2

Contact

Let's talk

Hiring a junior fullstack developer? Send a message here or email me directly. I reply within a day.