SPOTFIXES
A live web app that tells you how serious a bug report is and finds duplicates, trained on 222,000+ real Firefox bugs.
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.
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.
Amartuvshin Ganzorig
Full-stack · Machine Learning · UI/UX
My code, my work history, and the app my team launched.
A live web app that tells you how serious a bug report is and finds duplicates, trained on 222,000+ real Firefox bugs.
Two concept websites for fictional brands, KRYOS and VOIDGATE, built for Gannon's website design course.
The site you're on: a portfolio that moves as you scroll, built in Next.js, with an accessibility check on every update.
The tools I use, and where I've used each one.
Tech stack
B.S. Software Engineering · 137 credits · Dean's List ×3
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
Tools
Text classification with scikit-learn (TF-IDF + Random Forest) and retrieval-augmented similarity search with ChromaDB.
Studied at Gannon
Tools
Java as my strongest language, plus Python, JavaScript, SQL and C++; Android apps in Android Studio.
Studied at Gannon
Tools
Led UI/UX for Spotfixes; planned and ran usability tests, logged findings, and turned them into fixes.
Studied at Gannon
Tools
Test case design, defect tracking and QA reporting across the software development lifecycle.
Studied at Gannon
Tools
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
Tools
My part: UI/UX lead and testingBased on our final capstone report, spring 2026
A developer types a short description of what went wrong, and Spotfixes sends it to the server to be checked.
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.
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.
Most votesS2
Browser tab crashes when uploading a large file
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.
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”
“PDF viewer unresponsive after loading document over 80 pages”
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.
Goal < 5 s
Final presentation: every record scored, training data included
| Actual / Predicted | S1 | S2 | S3 | S4 |
|---|---|---|---|---|
| S1 | 14,374 | 99 | 119 | 30 |
| S2 | 236 | 17,327 | 198 | 51 |
| S3 | 1,748 | 1,140 | 144,217 | 1,476 |
| S4 | 88 | 32 | 334 | 44,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.
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
What got in the way: testers were logged out twice mid-task, and sign-up created a duplicate admin.
MUST · Ulaanbaatar
Started university in Ulaanbaatar and completed 21 credits before moving to the US to study software engineering.

UlaanbaatarErie, PA· Jan 2022 · ≈ 9,980 km
Gannon University · Erie, PA
First semester in Erie: problem solving and programming, an introduction to networks, and Calculus 1.

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

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.

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

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

Metz Culinary Management · Chick-fil-A
Prepared food and restocked supplies during the busiest hours, following food safety rules.

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.

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

Erie, PAUlaanbaatar· Jun 2026 · ≈ 9,980 km
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.

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