Muath Alsawaier

I build backend systems &

developer tooling that proves itself.

Software Engineering student at Washington State University and SWE intern at Schweitzer Engineering Laboratories, where I build Python libraries and extensions for RTAC and write controller logic in Structured Text. Every demo on this page runs the actual code from its repository.

status repos loc vulns ci
mu8th@portfolio:~
click to type
scroll
01

About Me

[ who i am & what i do ]

Engineering reliable systems with measurable proof.

I'm a Software Engineering student at Washington State University and a software engineering intern at Schweitzer Engineering Laboratories, where I build Python libraries and extensions for the RTAC platform.

My focus is backend systems and developer tooling: APIs whose contracts are tested before they ship, static analysis engines that find flaws before production does, and performance data you can watch while it happens. I care about the unglamorous parts of software: the tests, the gates, the measurements. That's what separates code that works from code that's proven to work.

Internship · Mar 2026 - Present
Software Engineering Intern
Schweitzer Engineering Laboratories

Building Python libraries and extensions for the RTAC platform that ship to production and are used by many SEL clients, including reusable utilities, schema-aware upgrades with tests, and a context manager that made library load and save up to 15x faster.

Internship · May - Dec 2025
Software Validation Engineer Intern
Alturas Analytics

Took technical ownership of validating two regulated laboratory systems backed by SQL Server, in environments with minimal existing documentation: T-SQL checks on data integrity and audit trails, plus automated OQ/UAT test suites in pytest, pyodbc, and pandas built to 21 CFR Part 11 and GDPR.

Education
B.S. Software Engineering, Washington State University
Minor in Mathematics · expected 12/2026
Python C# C / C++ SQL & T-SQL Docker Git
currently learning Rust for systems-level tooling · Kubernetes & Helm · gRPC & Protobuf · AST analysis with tree-sitter
02

Skills

[ technical proficiency ]

PythonBashSQLT-SQLTypeScriptC#C / C++Structured Text (IEC 61131-3)JSONXMLRegular Expressions PythonBashSQLT-SQLTypeScriptC#C / C++Structured Text (IEC 61131-3)JSONXMLRegular Expressions
FastAPISQLAlchemyPydanticREST APIsOpenAPI 3.xWebSocketUvicornSQLitePostgreSQLJSON Schema FastAPISQLAlchemyPydanticREST APIsOpenAPI 3.xWebSocketUvicornSQLitePostgreSQLJSON Schema
pytestruffmypyTDD80%+ CoverageContract TestingUnit & Integration TestsTest AutomationCode ReviewCI Gates pytestruffmypyTDD80%+ CoverageContract TestingUnit & Integration TestsTest AutomationCode ReviewCI Gates
Dockerdocker-composeGitGitHub ActionsLinuxCI/CDShell ScriptingVirtual EnvironmentsReproducible BuildsDependency Auditing Dockerdocker-composeGitGitHub ActionsLinuxCI/CDShell ScriptingVirtual EnvironmentsReproducible BuildsDependency Auditing
Static AnalysisSQLi DetectionXSS DetectionSecrets ScanningProfilingFlame GraphsStructured Text (IEC 61131-3)RTAC Libraries & ExtensionsProtocol TestingRAG PipelinesEmbedding RetrievalLocal LLMs (Ollama) Static AnalysisSQLi DetectionXSS DetectionSecrets ScanningProfilingFlame GraphsStructured Text (IEC 61131-3)RTAC Libraries & ExtensionsProtocol TestingRAG PipelinesEmbedding RetrievalLocal LLMs (Ollama)
03

Projects

[ built, tested & running live ]

These are my own projects, built end to end, and so is this site, which runs on the same Python backend that powers its live demos. Every demo below runs the actual code from the repository behind it.

[ how they get built ]
STEP 01
Write the contract first

An API's spec is the source of truth. OpenAPI contracts are defined before implementation, and every change is scored against them: breaking changes fail loudly instead of surfacing in production.

STEP 02
Test until it's boring

pytest suites run on every commit behind GitHub Actions gates, with ruff and mypy in the loop. The tests encode the contract from step one, so a green build is a statement about behavior, not just about code that runs.

STEP 03
Measure before you optimize

The profiler attaches to real workloads and streams CPU, wall-clock, and memory per call. Flame graphs show where time actually goes first, so optimization targets evidence instead of guesses.

STEP 04
Harden what ships

Every release passes the vulnerability scanner for injection flaws and hardcoded secrets. Findings are tracked over time, so security regressions get caught in CI instead of by users.

flame · live · 60s window offline
hot path: db.query() 38% of wall time
02 / PERFORMANCE-PROFILER

Real-time Performance Profiler

Production-grade Python instrumentation with live metric collection, real-time flame graphs, and hot path detection.

- of CPU on the live hot path
PythonFastAPIWebSocketProfilingFlame Graphs
View on GitHub ->
scan · src/ offline
db.execute(f"SELECT * FROM u WHERE id={uid}") row = conn.execute(query, params).fetchone() html = "<div>" + raw_input session = requests.Session() api_key = "sk_live_9f8a7b6c" cursor.close()
03 / VULNERABILITY-SCANNER

Real-time Vulnerability Scanner

Static analysis engine that detects SQLi, XSS, and leaked secrets, with prioritized, fix-tracked reporting.

- real findings across the repos
PythonStatic AnalysisSecurityFastAPIDocker
View on GitHub ->
rag · ask your codebase offline
how does the retrieval index rank code chunks? retrieval.py:42 · 0.87 embed.py:18 · 0.63 ingestion.py:33 · 0.41 Chunks are embedded and ranked by cosine similarity to the query…
04 / CODE-RAG

Local RAG Code Assistant

Retrieval-augmented code assistant that answers questions about a codebase with grounded, cited answers: per-symbol chunking, cosine retrieval, and local LLM synthesis, plus a zero-model offline mode so the demo runs anywhere.

PythonFastAPIRAGEmbeddingsOllama
View on GitHub ->
04

Contact

[ get in touch ]

Let's talk about what you're building.

A question about one of these projects, an idea worth pressure-testing, or just to trade notes on backend tooling: my inbox is always open!

Get In Touch
Ready to send.