Projects
Projects I’m building and sharing. Each gets its own write-up as it grows.
BrauzerLab — interactive Playwright trainer
Section titled “BrauzerLab — interactive Playwright trainer”A free, browser-based Playwright course in Azerbaijani. You write real Playwright (JavaScript/TypeScript) in an in-browser editor, watch a simulated page react, and get instant pass/fail feedback — no install, no setup. I built the missions and the validation engine from scratch.
What’s inside:
- 50 hands-on missions across 7 progressive modules
- Locators — roles, text, labels, test-ids, filters, and positional selectors (including Shadow DOM and dynamic IDs)
- Actions & auto-waiting — clicks, typing, forms, drag-and-drop, plus reliable waits without flaky
sleep - Assertions & strict mode — auto-waiting
expectand clean handling of ambiguous locators - Network interception — block, mock, and stub requests with
page.route - In-browser editor — CodeMirror-based, with a custom validation engine for instant feedback
Currently in Azerbaijani; an English version may follow.
Launch BrauzerLab → · More about it →
Universal Appliances Repair — client website
Section titled “Universal Appliances Repair — client website”A static marketing website I built for Universal Appliances Repair, an appliance repair service in Orange County, CA. It’s live in production and shows the testing-and-automation workflow I enjoy: every change ships through a PR gated by automated checks.
What’s inside:
- Multi-page marketing site — home, services, about, contact, FAQ, testimonials, and a blog (hand-built HTML + Tailwind CSS, no framework, no build step)
- Automated tests — an internal link checker and Puppeteer visual screenshot tests that must pass before any merge
- PR-gated workflow — Husky pre-push hooks; no direct commits to
master - Automated SEO content — Claude Code routines research, write, and publish 3 new local-SEO articles every Mon/Wed/Fri, plus a quarterly SEO audit that opens a fix-up PR
Built with HTML + Tailwind CSS.
Visit the site → · View the code →
SDET Interview Trainer
Section titled “SDET Interview Trainer”A practice app for QA and SDET interview prep. I’m getting ready for interviews and wanted a helper I could use anywhere — at my desk or on the go — so I built one and opened it up for anyone in the same spot.
What’s inside:
- Daily Practice — a focused daily plan mixing coding, SQL, Playwright/Selenium, API/CI/AWS, and strategy questions
- Coding Gym — QA-focused tasks to build coding confidence in Python and Java
- Mock Interview — type an answer, reveal a model answer, and self-rate against a checklist
- Progress tracking — completion metrics and a “weak topics” view across ~250 items
For now it runs without a backend, so it’s quick to use on desktop or mobile. It’s an early proof of concept — a starting point I’ll keep building on.
Open the trainer → · View the code →
Study Quiz — exam prep from course materials
Section titled “Study Quiz — exam prep from course materials”A local exam-prep helper I built for my nephew, a software-engineering master’s student in Italy. He’d tried NotebookLM to turn his lecture slides and lab handouts into useful practice quizzes and couldn’t get there — so I parsed the study materials and built a tool that does. It runs entirely on his machine and works as a blueprint he can adapt to any course.
What’s inside:
- Document parsing — pulls structured content from PowerPoint (
.pptx), Word (.docx), and PDF lecture/lab files in a course folder - Revision summaries — short topic recaps with cross-references between related lectures and labs
- Quiz generation — deterministic, topic-focused multiple-choice questions, fully offline by default
- Optional LLM mode — plug in an OpenAI-compatible endpoint for richer questions, with automatic fallback to local generation
- Local web UI — take quizzes in the browser; optionally save results to CSV
Built with Python.
Grade 5 Math — interactive lessons & quizzes
Section titled “Grade 5 Math — interactive lessons & quizzes”A self-contained math app I built for my sister, a (non-technical) math and Russian-language tutor. She — or her students — can download it, unzip, and start it with a double-click; no command line. It covers the Grade 5 mathematics curriculum, in Russian.
What’s inside:
- 57 lessons across 8 chapters — explanations with visual examples
- Tiered quizzes — easy / medium / hard / mixed, with per-mistake feedback
- 1,710 questions — 10 per tier per lesson, randomised each session
- Made for non-technical use — double-click to launch; the script installs what it needs on first run, then opens in the browser
- Tested — unit tests for the quiz logic plus end-to-end browser tests
Built with TypeScript and Next.js (Docker-ready).
Quiz Formatter — PDF-to-quiz study helper
Section titled “Quiz Formatter — PDF-to-quiz study helper”A study helper I built for my niece, a student at UNEC (Azerbaijan) who studies in Russian — so the app is in Russian. Her course materials arrive as PDFs of questions with an answer key; this tool turns them into practice quizzes.
It’s tuned to the specific layout of those UNEC course PDFs — a study tool for that format rather than a general-purpose PDF parser, so other document layouts may need adjusting.
What’s inside:
- PDF parsing — pulls questions and answer choices straight out of the course PDF
- Configurable quizzes — randomized quizzes with a chosen number of questions (
--count) - Instant grading — checks your answers and explains mistakes using the answer key embedded in the PDF
- Saved results — keeps your attempt history between sessions
- Runs anywhere — a terminal, a local web UI, or a standalone Windows
.exe
Built with Python.
Watch the how-to video → · View the code →
RMC Tow — towing company website
Section titled “RMC Tow — towing company website”A small static marketing site I built and handed off for RMC Tow LLC, a towing and roadside-assistance business serving Corona and the Inland Empire, CA.
What’s inside:
- Four pages — home, services, about, contact — hand-built in static HTML
- Conversion-focused — prominent click-to-call CTA and a clear services breakdown (emergency towing, flatbed transport, roadside assistance)
- Mobile-friendly + SEO basics —
tel:links, sitemap, androbots.txt, ready to rank locally
Want to collaborate? rufat@rufatmalikov.com