Software Engineer

Woochang Chang

I build full-stack web applications with React, Next.js, APIs, and databases. Lately, most of my work has been around restaurant and POS-related tools, including QR ordering, digital menus, admin dashboards, and payment flows.

Location
Springfield, VA
Degree
M.S. Computer Science
Focus
Web apps + APIs
Woochang Chang

What I Work On

I like making the whole flow work, not just one screen.

My recent work usually sits between the frontend, API layer, database, and the parts of the product staff actually use during a busy day.

MS Computer Science
1.5+ Years experience
UI + API Product flows

About

I care about the details that make web apps feel dependable.

I am a software engineer with hands-on experience building and debugging full-stack web applications. I spend a lot of time on the parts that are easy to miss: API responses, database records, async UI state, edge cases, and performance on mobile or tablet screens.

My recent projects have been close to restaurant technology: digital menus, QR ordering, POS/database integration, and admin tools that staff can use without needing to think about the technical pieces underneath.

Skills

The tools I have been using most often.

JavaScript TypeScript React Next.js HTML CSS Node.js REST APIs Python Java C SQL Microsoft SQL Server Supabase Stripe Git GitHub Linux

Experience

Recent work.

Dec 2025 - Current

Software Engineer · Circle POS

Worked on restaurant-focused web tools, including digital menus, QR ordering flows, API integrations, POS database communication, and performance fixes for mobile and tablet screens.

Mar 2025 - Nov 2025

Software Engineer · World Bankcard Services

Built parts of a Korean taxi dispatch platform with React, Google Maps API, REST APIs, ride tracking, driver matching, and debugging work around async data flow.

Sep 2024 - Nov 2024

Software Engineering Intern · Atom Tech Solutions

Developed a Yelp-like web application using Node.js, Express.js, MongoDB, HTML, CSS, and EJS while implementing backend APIs and improving frontend usability.

Featured Project

Restaurant QR Ordering & Kitchen Printing Platform

A QR ordering system I built to test how a small restaurant could take table orders, accept card payments, manage orders from a dashboard, and send accepted orders to a kitchen printer.

Demo video: QR order, Stripe checkout, admin acceptance, and kitchen ticket output.

Overview

The goal was to make the restaurant flow feel connected.

Customers scan a table QR code, browse the menu, place an order, and pay online. After payment, the order shows up in the admin dashboard for staff to accept or cancel.

When staff accept the order, the app creates a kitchen print job. I wanted this to feel closer to how a small restaurant would actually use it, instead of stopping at a simple demo checkout page.

Problem

Small restaurants do not need more manual steps.

If ordering, payment, order review, and kitchen tickets live in separate places, staff have to fill in the gaps by hand. That gets hard to manage quickly when orders start coming in.

Solution

One web flow from table QR to kitchen ticket.

I connected the steps with Next.js, Supabase, Stripe, and Star CloudPRNT. Each table has its own URL, paid orders show up in the dashboard, and accepted orders are queued for the kitchen printer.

Order Flow

How an order moves through the app.

01

Scan Table QR

Each table uses its own QR link, so the order keeps the table context.

02

Order & Pay

The customer places the order and pays by card through Stripe Checkout.

03

Accept Order

Staff review the paid order in the dashboard and accept or cancel it.

04

Print Ticket

Accepted orders become CloudPRNT jobs for the kitchen printer.

Key Features

The main parts I built.

Table-Specific QR Ordering

Each table has a separate QR link, so the dashboard can show where the order came from.

Stripe Checkout

Customers can complete payment by card before the order goes to the staff dashboard.

Admin Order Dashboard

Staff can accept, cancel, complete, and review orders without touching the database.

Daily Sales History

The history page shows daily revenue and order details by selected date.

Kitchen Printer Dispatch

Accepting an order creates a CloudPRNT job that a compatible kitchen printer can poll.

Production Deployment

The project is deployed on Vercel with a custom domain and server-side API routes.

Project Tech Stack

Tools used in this project.

Next.js React TypeScript Tailwind CSS Supabase PostgreSQL Stripe Star CloudPRNT Vercel GitHub

Contact

I am open to software engineering roles.

I am especially interested in full-stack web applications, API integrations, payment systems, database-backed products, and restaurant/POS technology. You can reach me at woochangchang@gmail.com.

Project Highlight

A restaurant order can move from QR code to kitchen printer without manual copying.