Bern, Switzerland

Hi, I'm

Setthawut
Jedsadaviriya

Application DeveloperBWD Bern

I build full-stack web apps with React, Next.js and MongoDB. This site is one of them: its own login with 2FA, its own CMS, two languages, three themes.

Connect
Setthawut Jedsadaviriya

Status

Actively Learning

Education

BWD Bern

Location

Bern, CH

Email

info@setthawut.ch

6+

Projects

3

Languages

CH

Bern Area

JavaScriptHTML/CSSReactNode.jsPythonSQLGit
01

Selected Projects

Client work, school projects and experiments. The best three live here, the rest are one click away.

View All Projects →
02

About Me

I'm Setthawut, an IMS student at BWD Bern on the application development track. I wrote my first line of code in 2023, and since then JavaScript has grown from a school subject into what I do after school too: React and Next.js up front, Node.js and MongoDB behind it.

The proof is in the projects. I've built a booking app, a school management system, a mobile todo app in React Native, and this portfolio itself: a full-stack Next.js app with credential login, two-factor authentication, a MongoDB admin CMS and bilingual content.

In 2015 I moved from Thailand to Switzerland without a word of German. Today I work in three languages, and I know from experience that I can learn anything with enough time and stubbornness. German pronunciation took five years; React state management went a lot faster.

When I'm stuck, I read the error message twice before asking one good question. Once I commit to a decision I follow through, and I change course just as quickly when the evidence says I'm wrong.

Values & Work Ethic

Give me the hardest part of the problem first; momentum comes from beating it early. I prefer direct feedback to polite silence, I ask questions early instead of guessing quietly, and I write code as if the next person to read it is a tired version of me.

Beyond the Code

Away from the keyboard I jog, game and keep a steady routine. The blog on this site documents a 30-day back-to-basics challenge where I rebuilt my fundamentals one day at a time. I like figuring out what makes people and systems tick; both are easier to debug when you actually listen.

The short version

  1. 2015

    Moved from Thailand to Switzerland, started primary school at Räbli

  2. 2020

    Moved on to secondary school at OSZ Orpund

  3. 2023

    First line of code, started at BWD Bern (IMS)

  4. 2025

    Finished the BM (Berufsmatura) part of IMS at BWD Bern

04

Tools I Use

From daily drivers to tools I've shipped at least one project with. Flip the cards.

Front-end

HTML
HTML
CSS
CSS
JavaScript
JavaScript
React
React
Tailwind CSS
Tailwind CSS
Next.js
Next.js

Back-end

Node.js
Node.js
Python
Python
Java
Java
DOTNET
DOTNET
CSharp
CSharp

Databases

MySQL
MySQL
MariaDB
MariaDB
MongoDB
MongoDB
Redis
Redis
Neo4j
Neo4j

Cloud & DevOps

Docker
Docker
AWS Cloud
AWS Cloud
Azure
Azure
Vercel
Vercel

Version Control & Collaboration

Git
Git
GitHub
GitHub
GitLab
GitLab

Programming Languages

JavaScript
JavaScript
Java
Java
CSharp
CSharp
Python
Python
Haskell
Haskell

IDE & Development Tools

VS Code
VS Code
Visual Studio
Visual Studio
Figma
Figma
Drawio
Drawio

Under the hood

05

How this site works

This portfolio is not a template. It's a small full-stack app, and it's my best proof of work. The architecture, openly documented:

Project write-ups and the document vault are access-gated for privacy; everything else about the stack is documented in the open.

Auth & 2FA

Credentials login via NextAuth, hardened with time-based one-time codes (TOTP) for the admin account.

MongoDB CMS

Projects, blog posts, documents and site settings live in MongoDB and are edited live. Changing content never needs a redeploy.

Admin dashboard

A protected dashboard with full CRUD for projects, posts, guest accounts and documents. The whole site is manageable from the browser.

Cloudinary uploads

Images and PDFs go straight from the dashboard to Cloudinary and are served optimized.

Custom i18n

German and English through a hand-rolled, cookie-based i18n layer. The server renders the right language on first paint, no flash.

Let's talk

A project, a question, or feedback on this site: my inbox is open and I answer quickly.

Setthawut Jedsadaviriya · Application Developer