# Goudarz Jafari (گودرز جعفری) > Software Engineer & Free Software Activist. Crafting fast, accessible, and deeply engineered digital products, and advocating for software freedom. Focused on modern web architecture, automation pipelines, and free software communities. Goudarz Jafari is also written گودرز جعفری in Persian. Works global / remote and is available for collaborations & high-impact projects. ## Profile - Full name: Goudarz Jafari (گودرز جعفری) - Role: Software Engineer & Free Software Activist - Position: Software Engineer at Noavaran Javan - Credential: Official NSR consultant, software engineering - Community: Persian team manager & translator at Mozilla - LUG Shiraz: Member and coordinator of the Shiraz GNU/Linux Users Group - Focus: Web architecture, data pipelines, free software, open map data - Location: Global / Remote - Languages: Persian (native), English - Skills: Rust, Ruby / Ruby on Rails, Python, TypeScript, PHP / WordPress, Astro, Next.js, Jekyll / Hugo, PostgreSQL / SQLite, Docker, Automated Testing, Linux / SysAdmin, Git & CI/CD, Data Architecture, GIS / OpenStreetMap, Tailwind CSS - Email: hi@goudarzjafari.com - Phone: 0917 77 88 155 ## Pages - [English profile](https://goudarzjafari.com/): Portfolio, skills, selected projects and contact - [Persian profile / پروفایل فارسی](https://goudarzjafari.com/fa/): وب‌سایت رسمی گودرز جعفری (Goudarz Jafari)، مهندس نرم‌افزار و فعال نرم‌افزار آزاد. تمرکز بر معماری نرم‌افزار، سیستم‌های مقیاس‌پذیر وب، اتوماسیون داده و پروژه‌های آزاد و متن‌باز. - [Full text for LLMs](https://goudarzjafari.com/llms-full.txt): Complete bilingual content of the site ## Free software Software should respect its users. I build and advocate for free software: programs that give everyone the four essential freedoms. - Freedom 0 (Run): The freedom to run the program as you wish, for any purpose. - Freedom 1 (Study): The freedom to study how the program works and change it. - Freedom 2 (Share): The freedom to redistribute copies to help others. - Freedom 3 (Improve): The freedom to distribute your modified versions to the community. ## Experience Software Engineer at Noavaran Javan (Shiraz, Iran). Designing and building software systems and API services with a focus on stable, maintainable and scalable architecture, and production-hardened services that keep working when things fail. - Ruby on Rails: Building and maintaining Ruby on Rails applications and JSON APIs: MVC, Active Record, service objects and clean domain boundaries. Background jobs and scheduling with Active Job and Sidekiq, caching with Redis, and transactional email. Test-driven development with RSpec and Minitest (unit, request and system tests), factories and CI coverage. Database migrations, eager loading to avoid N+1 queries, and query and index tuning. Code quality and maintenance: RuboCop, code review, Bundler dependency management, security patches and Ruby/Rails upgrades. - Rust: Fast, memory-safe backend services with Tokio and Axum, using Rust’s ownership model to rule out data races. Explicit error handling with Result and typed errors, strong domain types and Serde serialization. Database access with SQLx and SQLite/PostgreSQL, and REST API clients built on reqwest. Command-line and terminal tools with clap, packaged and released through CI. Testing and supply-chain hygiene: unit, integration and property-based tests, Clippy, rustfmt, cargo-audit and cargo-deny. - Backend & architecture: Backend development in Rust, Ruby and TypeScript/JavaScript, with REST API design. Software architecture, domain modelling and business logic, including user management, authentication and role-based access control. PostgreSQL systems: data modelling, migrations, indexing and query optimization. SaaS, commerce, CRM, payment, ordering and digital-service platforms. - Integrations & payments: Connecting systems to third-party APIs and services, including SMS and logistics providers. Iranian and international payment gateways: Shaparak-based Iranian gateways, Stripe, PayPal and Paddle. - Delivery & reliability: Production-hardened, fault-tolerant services designed for security, reliability, scalability, caching and load balancing. Build, test, deployment and release pipelines for development, testing and production, with Git, GitHub, GitLab CI, branching strategies and code review. Docker and containers, configuration and environment management, monitoring, logging, error handling, debugging and performance tuning on GNU/Linux. - Tools, frontend & platforms: Rust tooling: CLI and TUI apps, web crawlers and data-processing pipelines that automate technical workflows. Modern frontend with Astro, Next.js and TypeScript: responsive, PWA, cross-platform, multilingual and BiDi interfaces. PHP platforms (WordPress, Magento, OpenCart) and community platforms (Discourse, Forem): plugin development, optimization and integration. ## Selected projects - [Spoolbox](https://github.com/Goudarz/spoolbox): Email and SMTP testing tool for developers, written in Rust. It captures the mail your application sends, stores every message byte-exact in SQLite with a MIME and full-text index, and acknowledges a message only once it is safely on disk, so an accepted message is never lost. (Rust · SMTP · SQLite, in development) - [kavenegar-rs](https://github.com/goudarz/kavenegar-rs/): An async Rust client for the Kavenegar SMS, OTP and voice-call API: all 32 REST endpoints, typed status codes that keep working when Kavenegar adds new ones, common mistakes caught before a request is spent, rustls by default with no system OpenSSL, and an API key that never leaks into error messages. (Rust · SMS API · MIT) - [Jalali Calendar for Developers](https://github.com/Goudarz/PersianCalendar): A tested, bilingual guide to adding the Jalali (Persian / Shamsi) calendar to software: the astronomical leap-year rule, a complete algorithm, dependency-free code in 14 languages, 8,510 test cases and an evaluation of 23 libraries, verified for every day from 1178 to 3000 AP. (Guide · 14 languages) - [WME Gregorian To Jalali](https://github.com/Goudarz/WME-Gregorian-To-Jalali): Userscript for the Waze Map Editor that converts Gregorian dates to Jalali as the editor renders them: Los Angeles → Tehran time zone and daylight saving conversion, Shadow DOM and live MutationObserver scanning, five output formats and a bilingual settings tab. (Userscript · Waze) - [Tuxly](https://tuxly.ir/): Tuxly (تاکسلی) is the Persian home of free and open source software: daily news, introductions to distributions and desktops, tutorials, and a calendar of open source community events. The site’s own code is free software under the AGPL-3.0. (Website · AGPL-3.0) ## Localization & Open Source Communities Free software belongs to everyone in the world, and everyone should be able to use it easily, in their own language. That is why I translate free software into Persian, review and coordinate translations, and report or fix right-to-left and bidirectional (BiDi) issues myself. - Mozilla: Persian team manager & translator. Manages Mozilla’s Persian (fa) localization on Pontoon: translating and reviewing Firefox, Common Voice, Thunderbird and other Mozilla products, approving translation suggestions, coordinating contributors, and reporting and fixing right-to-left and bidirectional (BiDi) issues across Mozilla projects. Pontoon: 23,000+ translations, 22,000+ approved, 18 Mozilla projects, 2017 year joined. ([Pontoon: Persian team](https://pontoon.mozilla.org/fa/), [Mozilla credits](https://www.mozilla.org/credits/)) - LUG Shiraz: Member & coordinator since 2017. Member of the Shiraz GNU/Linux Users Group (LUG Shiraz) since 2017 and one of its coordinators: organizing and coordinating free software meetups, and promoting and introducing GNU/Linux and free and open source software in Shiraz. ([shirazlug.ir](https://shirazlug.ir/), [LibrePlanet wiki](https://libreplanet.org/wiki/Shiraz_GNU/Linux_and_Open_Source_Software_Users_Group)) - W3C · ActivityPub: Persian translator, web accessibility & RTL. Translated the W3C ActivityPub standard, the protocol behind Mastodon and the fediverse, into Persian. Also helps with web accessibility and reports and fixes right-to-left issues on the web. ([ActivityPub in Persian](http://activitypub.ir/)) - Transifex: Persian translator in 80+ projects since 2012. Persian translator on Transifex for free and open source software, privacy and security tools, mapping tools and education platforms, and coordinator of the Delta Chat Persian team. Pontoon: 80+ projects, 2012 year joined. ([Transifex profile](https://app.transifex.com/user/profile/Goudarz/)) - Weblate: Persian translator in 30+ projects since 2016. Persian translator on Hosted Weblate for free software across the desktop, mobile, privacy and web: from the Tor Project and F-Droid to Thunderbird for Android and the COSMIC desktop of Pop!_OS. Pontoon: 30+ projects, 2016 year joined. ([Weblate profile](https://hosted.weblate.org/user/GoudarzJafari/)) - Delta Chat: Persian team coordinator. Coordinates the Persian translation team of Delta Chat, the decentralized and secure messenger built on email, on Transifex. ([Transifex profile](https://app.transifex.com/user/profile/Goudarz/)) - Tor Project: Persian translator. Translates the Tor Project into Persian: Tor Browser, Tails and Tor VPN. ([Weblate profile](https://hosted.weblate.org/user/GoudarzJafari/), [Transifex profile](https://app.transifex.com/user/profile/Goudarz/)) - Chatwoot: Persian translator & reviewer, RTL/BiDi fixes. Translates and reviews the Persian translation of Chatwoot, the open source customer support platform, and fixes its right-to-left and bidirectional issues. ([Chatwoot on Crowdin](https://chatwoot.crowdin.com/chatwoot#topMember)) - Astro: Persian translator & RTL/BiDi fixes. Contributed Persian translations and right-to-left and bidirectional fixes to Astro and its Starlight documentation framework; credited in the Starlight 0.42 release. ([Starlight 0.42 release](https://astro.build/blog/starlight-042/)) - Mastodon: Persian translation team. Translates Mastodon, the decentralized social network, into Persian; credited in the Mastodon release notes. ([Mastodon 3.2](https://blog.joinmastodon.org/2020/08/mastodon-3.2/), [Mastodon 3.5](https://blog.joinmastodon.org/2022/03/mastodon-3.5/), [Crowdin top members](https://crowdin.com/project/mastodon/reports/top-members)) - HarfRust: Code contributor. Contributes code to HarfRust, the Rust port of the HarfBuzz text-shaping engine that renders Persian, Arabic and other complex scripts, including a fix for variation-selector handling during shaping. ([Repository](https://github.com/harfbuzz/harfrust/), [My commits](https://github.com/harfbuzz/harfrust/commits?author=Goudarz)) - F-Droid: Persian translator & website contributor. Translates F-Droid, the catalogue of free and open source Android apps, into Persian: the client, server, app data and the website’s pages and posts; also helps improve and optimize the website. ([Weblate profile](https://hosted.weblate.org/user/GoudarzJafari/)) - Scratch: Persian translator & reviewer. Translates and reviews the Persian interface of Scratch, MIT’s visual programming environment used by children and schools. ([Scratch Wiki: translators](https://en.scratch-wiki.info/wiki/List_of_Translators#Persian)) - WordPress: Persian team translator. Member of the Persian WordPress Polyglots team, translating WordPress core, plugins and themes. ([WordPress.org profile](https://profiles.wordpress.org/goudarz/)) - GNOME: Persian team translator. Translates the GNOME desktop and its applications as a member of the Persian translation team. ([GNOME Damned Lies profile](https://l10n.gnome.org/users/GoudarzJafari/)) - Xfce: Persian team translator. Translates the lightweight Xfce desktop environment into Persian; listed in the Xfce credits. ([Xfce credits](https://xfce.org/about/credits)) - BigBlueButton: Persian translator & reviewer. Translates and reviews the Persian interface of BigBlueButton, the open source virtual classroom used by universities and schools. - Discourse: Persian translator & reviewer. Translates and reviews the Persian interface of Discourse, the open source community discussion platform. - Ubuntu: Persian team member & translator. Member of the Ubuntu Persian translators team on Launchpad, translating Ubuntu packages and documentation. ([Launchpad team](https://launchpad.net/~ubuntu-l10n-fa-contributors/+members#active)) - Debian: Persian team member & translator. Member of the Debian Persian translation team, translating Debian packages and documentation into Persian. ([Debian Persian l10n status](https://www.debian.org/international/l10n/po/fa)) - PeerTube: Persian team translator. Translates PeerTube, the decentralized, federated video platform, its mobile app and joinpeertube.org into Persian, with 1,600+ translations on Framasoft Weblate; listed in the PeerTube credits. ([PeerTube credits](https://docs.joinpeertube.org/CREDITS), [Framasoft Weblate profile](https://weblate.framasoft.org/user/GoudarzJafari/)) - Manager.io: Persian translation team. Translates Manager, the free accounting software for small businesses, into Persian. ([Manager translations](https://www2.manager.io/translations/)) ## Gists & Snippets - [Adobe Connect HTML5 fix for IAU Vadana](https://gist.github.com/Goudarz/f2f9ed0ed33632e4c3fb2a6a322a6a7c): Islamic Azad University’s Vadana virtual classes ran on Adobe Connect, and its player page pushed students to the retired Flash player or the desktop app. This rule for the Redirector browser extension rewrites the get-player link so every class opens straight in Adobe Connect’s HTML5 client, inside the browser. Import the JSON into Redirector and you are done. (Redirector · 2021) - [Jalali dates in Google Sheets](https://gist.github.com/Goudarz/9487cc9ff8c85d9c2226420b28fc4762): A one-function Apps Script that adds =JALALI() to Google Sheets. It converts any Gregorian date to Jalali (Shamsi) with the built-in fa-IR calendar and returns it with Latin digits, for example 1402/8/1. Paste it into Extensions → Apps Script and save. (Apps Script · 2023) - [WordPress.org connectivity diagnostic](https://gist.github.com/Goudarz/1221e6b81fda7f4641addaf5b85e3d8f): A standalone PHP script for the classic “Unexpected error” when installing plugins, common on shared hosting in Iran where connections to WordPress.org are often filtered. Upload it to the site root and open it in a browser: it checks the PHP environment, DNS, the WordPress HTTP API, the REST API, loopback requests, cURL, fsockopen and IPv6, and shows exactly which connection fails. Delete it after testing. (PHP · WordPress · 2026) ## Open Map Data Ongoing contributor to OpenStreetMap (OSM) and Google Maps: adding and refining geographic data, and mapping streets and urban features. Experienced with map-editing tools, the open geodata ecosystem, standard tagging schemas, vector layer analysis and GIS data structures. ## Credential - Official Consultant, Iran Computer Guild Organization (NSR). Field: Software Engineering. Licensed by the Fars Province Computer Guild Organization. Membership code 71030691. [Verify membership](https://fars.irannsr.org/fa/real_persones/3499006/swd_id/104792/%D8%A7%D8%B9%D8%B6%D8%A7-%D9%85%D8%B4%D8%A7%D9%88%D8%B1%D8%A7%D9%86-%D8%AD%D9%82%DB%8C%D9%82%DB%8C.html) ## Elsewhere - [GitHub](https://github.com/Goudarz) - [LinkedIn](https://linkedin.com/in/goudarzjafari) - [X](https://x.com/GoudarzJafari) - [Mastodon](https://mastodon.social/@Goudarz) - [Telegram](https://t.me/GoudarzJafari)