Skip to content

AMARTUVSHIN

Hi, I'm Amartuvshin.

Welcome to my portfolio.

Software engineering graduate. I build websites, web apps and machine learning tools. Most recently: an app that sorts bug reports by how serious they are, trained on 222,000+ real Firefox bugs.

PORTFOLIO · 2026Scroll
01 — ABOUT ME

Gannon University graduate, now back home in Ulaanbaatar.

GPA · final 4 terms
3.69
Firefox bug reports my capstone learned from
222K+
Terms on the Dean's List
×3
Languages · Mongolian, English
2

I graduated from Gannon University (Erie, Pennsylvania) in May 2026 with a B.S. in Software Engineering. My capstone, Spotfixes, is a live web platform that predicts how serious a software bug is and finds duplicate reports, built on real Mozilla Firefox data with feedback from Firefox developers. I built much of its backend, tenant system and deployment, and led its UI/UX and testing.

I work mostly in Java, Python and React. I like making software that is easy to use, works every time, and gets tested before anyone else finds the bugs. I'm back in Ulaanbaatar, I speak Mongolian and English, and I'm looking for my first full-time job as a software engineer.

About me · 01Software Engineer

Amartuvshin Ganzorig

Full-stack · Machine Learning · UI/UX

FOCUS
Full-stack · ML
MAIN TOOLS
Java · Python · React
DEGREE
B.S. SE · Dean's List ×3
LIVES IN
Ulaanbaatar, MN
Status
OPEN TO ENTRY-LEVEL SOFTWARE ENGINEERING JOBS
OFF HOURSWhat I play when I'm not shipping.
  • Call of Duty
  • Marvel Rivals
  • Cyberpunk 2077
  • Diablo IV
  • Apex Legends
  • Overwatch
03 — Selected work

Work

01Bug-sorting web app · 2026

SPOTFIXES

A live web app that tells you how serious a bug report is and finds duplicates, trained on 222,000+ real Firefox bugs.

02Concept Sites · Coursework · 2026

WEB DESIGN LAB

Two concept websites for fictional brands, KRYOS and VOIDGATE, built for Gannon's website design course.

KRYOS(opens in a new tab)
03Personal Portfolio · 2026

THIS SITE

The site you're on: a portfolio that moves as you scroll, built in Next.js, with an accessibility check on every update.

04What I do

Skills

The tools I use, and where I've used each one.

Tech stack

  • TypeScript
  • JavaScript
  • Python
  • Java
  • React
  • Next.js
  • Tailwind
  • FastAPI
  • PostgreSQL
  • Supabase
  • scikit-learn
  • Docker
  • GitHub
  • TypeScript
  • JavaScript
  • Python
  • Java
  • React
  • Next.js
  • Tailwind
  • FastAPI
  • PostgreSQL
  • Supabase
  • scikit-learn
  • Docker
  • GitHub

B.S. Software Engineering · 137 credits · Dean's List ×3

  1. 01Full-stack WebReact · FastAPI · PostgreSQL · Supabase

    React frontends on FastAPI backends with PostgreSQL (Supabase): for Spotfixes, most of the company and admin API, per-company data tables, and a live Bugzilla sync.

    Studied at Gannon

    • CIS 255Database Management Systems
    • CIS 390Distributed Programming
    • CIS 240Web Design

    Tools

    • React
    • FastAPI
    • PostgreSQL
    • Supabase
    Used inSPOTFIXES
  2. 02Machine Learningscikit-learn · Python · ChromaDB

    Text classification with scikit-learn (TF-IDF + Random Forest) and retrieval-augmented similarity search with ChromaDB.

    Studied at Gannon

    • CIS 457Senior Design 1
    • CIS 458Senior Design 2

    Tools

    • scikit-learn
    • Python
    • ChromaDB
    Used inSPOTFIXES
  3. 03Java & Core ProgrammingJava · Python · JavaScript · C++ · Android

    Java as my strongest language, plus Python, JavaScript, SQL and C++; Android apps in Android Studio.

    Studied at Gannon

    • CIS 182Object-Oriented Programming
    • CSC 220Data Structures & Algorithms
    • CIS 377Mobile App Development II

    Tools

    • Java
    • Python
    • JavaScript
    • C++
    • Android
  4. 04UI/UX & UsabilityUsability testing · Accessibility

    Led UI/UX for Spotfixes; planned and ran usability tests, logged findings, and turned them into fixes.

    Studied at Gannon

    • CIS 239The User Experience
    • CIS 240Web Design

    Tools

    • Usability testing
    • Accessibility
    Used inSPOTFIXES
  5. 05Testing & QATest cases · Defect tracking · SDLC

    Test case design, defect tracking and QA reporting across the software development lifecycle.

    Studied at Gannon

    • SOFT 310Software Testing & QA
    • CIS 326Formal Methods in Software Development
    • CIS 350Requirements & Project Management

    Tools

    • Test cases
    • Defect tracking
    • SDLC
    Used inSPOTFIXES
  6. 06DevOps & SecurityDocker · Ubuntu · Actions · JWT

    Wrote the Spotfixes Docker setup and GitHub Actions CI/CD, deployed it with SSL on Ubuntu, and hardened its API; OAuth2, JWT, MFA and row-level security.

    Studied at Gannon

    • CIS 387System & Network Security
    • SOFT 410Software Maintenance & Deployment
    • CIS 219Linux Programming
    • CSC 330Operating Systems

    Tools

    • Docker
    • Ubuntu
    • Actions
    • JWT
    Used inSPOTFIXES
05Capstone · team of 3

How Spotfixes works

My part: UI/UX lead and testingBased on our final capstone report, spring 2026

  1. 01 / 06 · Report

    A bug report comes in

    A developer types a short description of what went wrong, and Spotfixes sends it to the server to be checked.

    Example report
    Browser tab crashes when uploading a large file
  2. 02 / 06 · Security

    It checks who's asking

    Every request carries a signed login token, and the server turns away fake or expired ones. Each company can only ever see its own bugs.

    Put simplyThink of an apartment building: every company has its own front door, and nobody can walk into someone else's flat.

    • Fake loginsA stolen or forged login token→ Its signature and expiry are checked, over HTTPS only
    • Data leaksOne company seeing another's bugs→ Every row of data is locked to its own company
    • Too much accessA regular user trying admin actions→ The server checks each user's role first
  3. 03 / 06 · Severity

    It rates how serious the bug is

    A machine-learning model scores each word, then hundreds of small decision trees vote on a rating from S1 (most serious) to S4. Words like “crash”, “security” or “leak” always make it S1.

    Put simplyThe model can't read English, so each word gets a score for how much it matters: “crash” scores high, “the” scores zero.

    Word scoresExample
    • browser
    • tab
    • crashes
    • uploading
    • large
    • file
    Tree votesExample
    S2S1S2S3S2S2S1S2S3S2S1S2

    Most votesS2

    Browser tab crashes when uploading a large file

    S2S1Rule · Keyword: “crash”
  4. 04 / 06 · Duplicates

    It finds similar past bugs

    It also searches earlier reports by meaning, not exact wording, so the developer sees likely duplicates before saving a new one.

    Put simply“Freezes” and “hangs” still count as a match.

    Meaning, as numbersExample

    Example from our final presentation

    New bug

    “Browser freezes when opening a PDF with more than 100 pages”

    Matches found before it was saved

    • “App hangs on large PDF documents — memory spike observed”

      92% similar
    • “PDF viewer unresponsive after loading document over 80 pages”

      78% similar
  5. 05 / 06 · Results

    Fast and accurate

    Our goal was an answer in under 5 seconds. On average the rating took 3.4 seconds and the duplicate search 1.2. The model learned from 222,000 real Firefox bug reports, with 20% kept aside for testing.

    Put simplyIn the grid, each row is what a bug really was and each column is what the model guessed. The diagonal is every right answer.

    Severity rating3.4 s
    Duplicate search1.2 s

    Goal < 5 s

    accuracy, final report89%
    Accuracy
    97.6%

    Final presentation: every record scored, training data included

    Predicted →
    Confusion matrix, S1 to S4
    Actual / PredictedS1S2S3S4
    S114,3749911930
    S223617,32719851
    S31,7481,140144,2171,476
    S4883233444,189

    That's why it reads higher than the report's 89%: a model always does better on bugs it has already seen. When an engineer corrects a rating, the correction goes back into training.

  6. 06 / 06 · My part

    My part: design and testing

    I set the design rules every screen follows, so the app feels like one product whoever built each page. Then I ran a usability test with real users and logged every problem by priority until it was fixed.

    GoalResult: Partly met

    A new company admin goes from sign-up to retraining the model in under 8 steps, without being logged out

    of tasks finished without a problem
    60%
    average difficulty
    3.8 / 5

    What got in the way: testers were logged out twice mid-task, and sign-up created a duplicate admin.

    • HighSign-up created a duplicate admin→ Added a check that stops duplicatesFixed
    • HighRetraining stuck at 0%→ The progress bar now shows real progressFixed
    • MediumLanding-page buttons did nothing→ Every button now goes where it saysFixed
    • LowA confusing light/dark switch→ Moved to a normal menu in SettingsFixed
    • CriticalLogged out on the Settings page→ Traced to the serverStill open when the report was written
06Where I've been

Journey

Ulaanbaatar, Mongolia

  1. 2020 – 2021
    Education

    Mongolian University of Science and Technology

    MUST · Ulaanbaatar

    Started university in Ulaanbaatar and completed 21 credits before moving to the US to study software engineering.

    The orange-and-white Building VI of the Mongolian University of Science and Technology under a blue sky in Ulaanbaatar.
    MUST · Building VI

UlaanbaatarErie, PA· Jan 2022 · ≈ 9,980 km

Erie, Pennsylvania, USA

  1. January 2022
    Education

    Began B.S. Software Engineering

    Gannon University · Erie, PA

    First semester in Erie: problem solving and programming, an introduction to networks, and Calculus 1.

    The gold GANNON UNIVERSITY lettering on a black iron arch, brick campus buildings behind it and trees overhead.
    Gannon University · the arch
  2. Summers 2022 & 2023
    Work

    Summer Student Conference Assistant

    Auxiliary Services · Gannon University

    Got residence halls ready for summer conferences and helped guests, keeping track of the work in Excel and Word.

    Downtown Erie from the air, with the bay and Presque Isle beyond it.
    Erie, Pennsylvania
  3. Aug 2023 – May 2024
    Work

    Front Desk Student Attendant

    Office of Residence Life · Gannon University

    Kept student housing records up to date in StarRez and answered residents' questions by phone, email and in person.

    A red-stone Gannon University building behind the GANNON sign and three flags in Erie.
    Gannon University · Erie
  4. Spring 2024
    Project

    Android Apps · Mobile App Development II

    Gannon University · Coursework

    Built Android apps in Android Studio, tested on simulated phones, using live data from APIs.

    Zurn Science Center at Gannon University, with an autumn tree in front.
    Zurn Science Center · Gannon
  5. Fall 2024
    Project

    Test Suite · Software Testing & QA

    Gannon University · Coursework

    Wrote and ran tests for a Java calculator app, then fixed the bugs they found with my team on GitHub.

    Gannon's I-HACK building, the Institute for Health and Cyber Knowledge, seen from below against a blue sky.
    I-HACK · Gannon
  6. May 2025 – Apr 2026
    Work

    Foodservice Student Worker

    Metz Culinary Management · Chick-fil-A

    Prepared food and restocked supplies during the busiest hours, following food safety rules.

    The Chick-fil-A cow in a red jersey outside the campus Chick-fil-A in the snow.
    Chick-fil-A · on campus
  7. Aug 2025 – May 2026
    Project

    Spotfixes · Senior Design Capstone

    Gannon University · Team of 3

    A live web app that rates how serious a bug report is, trained on 222,000+ real Firefox bugs. I built much of the backend and deployment, and led the design and the testing.

    A dark Gannon University tower seen through yellow autumn leaves.
    Gannon University · autumn
    ACCURACY
    89%
    BUG RECORDS
    222K+
    PREDICTION
    3.4s
  8. Graduated May 2026
    Education· Graduated

    B.S. Software Engineering

    Gannon University

    137 credits. Dean's List, College of Engineering and Business, in Fall 2024, Spring 2025 and Spring 2026.

    Victor, Gannon's golden-knight mascot, holding a sword and a pom-pom on the football field.
    Victor · Gannon's mascot
    GPA · final 4 terms
    3.69/4
    GPA · overall
    3.32/4
    Coursework
    • SOFT 320Software Architecture
    • SOFT 310Software Testing & QA
    • CIS 387System & Network Security
    • CSC 330Operating Systems
    • CIS 390Distributed Programming
    • SOFT 410Software Maintenance & Deployment
    • CIS 350Requirements & Project Management
    • CSC 220Data Structures & Algorithms
    • CIS 255Database Management Systems
    • CIS 239The User Experience

Erie, PAUlaanbaatar· Jun 2026 · ≈ 9,980 km

Ulaanbaatar, Mongolia

  1. Jun – Sep 2026
    Work

    Corporate Logistics Coordinator

    Oyu Tolgoi LLC · Contractor, Ulaanbaatar

    The main contact for shipping and transport between the Ulaanbaatar head office and the mine site, working with many teams and contractors. I tracked logistics data to find slow or wasteful routes, under strict safety rules.

    The glass Monnis Tower in Ulaanbaatar against a blue sky.
    Monnis Tower · Ulaanbaatar
07 — CONTACT

Get in touch

Hiring for an entry-level software role, or want to talk about a project? Email me.

Email

  • Open to work
  • Replies within 48 hours
  • Ulaanbaatar, Mongolia · GMT+8