About me

I'm a mobile-first software engineer with nearly 5 years building and shipping production apps end to end — from backend and APIs to the screens users touch. iOS, web, backend — I move between all three and try to do each one well.

I care as much about why we're building something and how it feels to use as the code itself. I design for the user experience, not just a clean UI, and do my best work in the space between product, design and engineering.

At Karage I shipped two live App Store apps (one serving 5,000+ users), built an iPadOS point-of-sale system from the ground up, mentored developer teams, and used analytics to steer marketing and growth decisions. Independently, I've built fullstack products like Jamaatna — an events platform with digital invitations, one-tap RSVP and a live attendance dashboard.

Strong in Swift and SwiftUI, and comfortable across Next.js, TypeScript, Node.js and PostgreSQL — with the judgment to know which problem to solve, connect with people, and get users to the goal.

Off the clock, I'm a bit of a Mac productivity nerd — I automate anything repetitive, love owning the tools I work in, and build my own when the ones out there don't cut it.

What I bring

  • Solutions Thinking

    I start from the problem and the business goal, not the code — then build the simplest thing that actually works.

  • UX, Not Just UI

    I design for how a product feels to use and whether it gets the user to their goal, partnering closely with design and product.

  • Business Understanding

    Comfortable with product, growth and customer context — I instrument analytics that inform marketing and growth decisions.

  • Ownership & Judgment

    I see things through — from a ground-up POS to leading an Apple Developer account migration — and use AI to move fast while owning the outcome.

Curious how I actually work day to day? Read my personal guide to working with me.

Skills

Tools & technologies

  • Swift / SwiftUI
  • TypeScript
  • Next.js
  • React
  • Node.js
  • C# / .NET
  • PostgreSQL
  • Supabase
  • Docker
  • Git & GitHub
  • CI/CD & Testing
  • i18n (EN / AR)

Proficiency

  • Primary

    • Swift / SwiftUI
    • iOS & iPadOS
    • TypeScript / Next.js
  • Strong

    • Node.js
    • ASP.NET Core
    • REST APIs
    • PostgreSQL / Supabase
  • Working knowledge

    • Docker
    • CI/CD & testing
    • i18n (EN / AR)

Projects

  • My Karage iOS app

    My Karage

    iOS · 5,000+ users

    Customer-facing iOS app with booking and payments, integrating REST APIs and secure storage. Grew to 5,000+ users with measurable gains in booking experience.

  • Karage Kash iPadOS POS app

    Karage Kash

    iPadOS · Point of sale

    An iPadOS point-of-sale app built in Swift and SwiftUI, focused on reliability and accessibility for day-to-day store operations.

  • Jamaatna event platform

    Jamaatna

    Fullstack · Events platform

    An all-in-one platform to run weddings and events from the invite to the door — elegant digital invitations, one-tap RSVP, QR entry codes, and a live attendance dashboard. Arabic & English (RTL).

  • MyVenue venue booking app

    MyVenue · قاعتي

    Fullstack · Venue booking

    An Airbnb-style marketplace for booking event venues in Riyadh, Saudi Arabia — map search, categories (halls, chalets, farms, majlis), ratings, favorites and bookings. Arabic-first with English.

  • Invoicing and reporting dashboard

    Invoicing & Reporting Dashboard

    Web · Next.js

    A Next.js & TypeScript dashboard for a car-services business. I supported building it and built the invoicing system inside it — ZATCA-style simplified & A4 tax invoices, quotations and reporting.

  • 4service.co car service center website

    4service.co

    Web · Car-service center

    A bilingual (Arabic & English, RTL) marketing site for a car-service center in Saudi Arabia — maintenance, inspection and detailing services, a services gallery, customer reviews and one-tap WhatsApp contact. Vanilla HTML/CSS/JS, hosted on GitHub Pages.

  • Salih Bawarith portfolio — bilingual roast-curve career timeline

    Salih Bawarith

    Web · Personal portfolio

    A bilingual (Arabic & English, RTL) personal-brand portfolio for a Riyadh F&B operations manager, specialty-coffee expert and Arabic calligrapher. Its signature is a “roast-curve” career timeline with braided lanes for concurrent roles, plus calligraphy and work/events galleries with lightboxes. Vanilla HTML/CSS/JS, no build step, hosted on GitHub Pages.

  • Gold Price Raycast extension

    Gold Price

    Raycast extension · TypeScript

    A Raycast extension showing daily gold prices per gram (24K/22K/21K/18K) for Gulf markets, with 1, 3, 6 and 12-month averages, a karat selector and a selectable display currency. Built in TypeScript on the metals.dev API.

My Karage

iOS · Swift & SwiftUI · 5,000+ users · 2022–2026

  • Swift
  • SwiftUI
  • Combine
  • URLSession
  • REST API
  • OAuth2
  • Moyasar
  • APNs
  • AppsFlyer
  • Smartlook
  • Deep Linking

Overview

A customer-facing iOS app for anyone who owns a car and wants to keep it maintained. It stores each car's maintenance history and invoices, maps a full network of relevant garages, surfaces offers, and handles booking and payments end to end. It grew to 5,000+ users.

My role

I owned the entire app end to end — architecture, UI/UX and every feature in Swift & SwiftUI — talking to a backend built in ASP.NET by the backend team.

What I built

  • Maintenance history & saved invoices — every service and receipt kept per car.
  • Garage network — browse and search a full network of relevant garages.
  • Offers feed — promotions and discounts surfaced to users.
  • Payment flow via Moyasar, with OAuth2 auth and login.
  • Push notifications, deep linking and a referral flow.
  • Image upload/download and in-app PDF generation.
  • Profile, settings and full Arabic/English localization.
  • Analytics and session tracking with AppsFlyer and Smartlook.
  • Prototyped an internal AI assistant with car context (not shipped).

Highlights

I designed and shipped the whole app in 2021–2022, before AI coding tools existed. Adding deep linking and push notifications was a major piece of work that meant refactoring and reworking the app end to end.

Status

First shipped in 2022; maintained and updated through 2026.

Screens

Karage Kash iPadOS point-of-sale app — App Store screenshots

Karage Kash

iPadOS · Swift & SwiftUI · Point of sale · 2025

  • Swift
  • SwiftUI
  • iPadOS
  • ASP.NET
  • REST API
  • Epson

Overview

An iPadOS point-of-sale app for car-service stores. The cashier rings up services, builds the cart and issues the invoice — all from a single, always-visible screen built for speed and reliability at the counter.

My role

A v1 already existed; I came in and built v2 — restructuring it for cleaner code, a new design, faster launch and load times, and a better UI/UX with new features. Another developer later joined on smaller features; I led the team and managed the GitHub repo.

What I built

  • Rebuilt the app end to end for v2 — architecture, design and performance.
  • Cart and checkout for day-to-day car-service sales.
  • Invoice creation and receipts from a single screen.
  • Receipt printing via Epson printers (integrated with a teammate).
  • Faster launch and load times, and a refreshed UI/UX over v1.

Highlights

The hardest part was keeping the whole flow on one screen. Building an invoice and cart is a long, multi-step process, so I designed it to stay on a single page the entire time — the cashier never loses context mid-sale.

Status

Built in about three months and shipped in 2025; in production use.

Jamaatna — run your event from the invite to the door

Jamaatna · جمعتنا

Fullstack · Next.js · Supabase · Events platform · 2026

  • Next.js
  • Supabase
  • Node.js
  • Realtime
  • QR
  • Netlify
  • Cloudflare

Overview

Jamaatna (جمعتنا) is an all-in-one platform to run weddings and events from the invite to the door — elegant digital invitations, one-tap RSVP, QR entry codes and a live attendance dashboard. Fully bilingual Arabic & English (RTL).

My role

This is my own startup. I do everything — product design, frontend, backend, localization, business and marketing.

What I built

  • Elegant digital invitations with one-tap RSVP.
  • QR entry codes and a scanner check-in flow.
  • Live attendance dashboard that updates in real time.
  • Guest-list and seating management.
  • Multiple event types with a host dashboard.
  • Payments, analytics and automated reminders.
  • Full Arabic/English (RTL) localization.

Highlights

The check-in is the flashy part: scan a guest's QR at the door and the live attendance dashboard updates in real time — no refresh, everyone watching sees the count move.

Status

Live — launched in 2026.

Screens

MyVenue — venue booking app with map search and listings

MyVenue · قاعتي

Fullstack · Replit · Mapbox · Venue booking · 2026 (MVP)

  • Replit
  • Mapbox
  • Fullstack
  • RTL

Overview

An Airbnb-style marketplace for booking event venues in Riyadh — map search, categories (halls, chalets, farms, majlis), ratings, favorites and bookings. Arabic-first with English.

My role

A freelance build for Howamesh — I built both the frontend and backend on Replit. It's an MVP.

What I built

  • Map-based search with venue categories (halls, chalets, farms, majlis).
  • Venue detail pages with photos, ratings and reviews.
  • Booking flow, favorites and a host listing flow.
  • Admin and payments.
  • Arabic-first UI with English.

Highlights

Map search over Mapbox with an Arabic-first, RTL layout — browsing venues on the map the way locals actually search.

Status

Built in 2026 as an MVP.

Invoicing and reporting dashboard — simplified and A4 tax invoice previews

Invoicing & Reporting Dashboard

Web · Next.js · ZATCA Phase 2 · 2025

  • Next.js
  • TypeScript
  • ASP.NET
  • OAuth2
  • ZATCA Phase 2

Overview

A Next.js & TypeScript dashboard for a car-services business, used by owners and garages. I supported the wider dashboard and built the invoicing system inside it — ZATCA Phase 2 tax invoices (simplified & A4), quotations and reporting.

My role

I owned the invoicing system's UI and UX inside the dashboard. The rest of the dashboard — reporting, analytics, customer management, inventory and staff — I supported.

What I built

  • Invoicing UI/UX for simplified and A4 tax invoices.
  • ZATCA Phase 2 compliant tax invoices.
  • Quotations flowing into invoices.
  • Supported the wider dashboard: reporting, analytics, customers, inventory and staff.

Highlights

The invoicing had to be ZATCA Phase 2 compliant — the Saudi e-invoicing standard — rendering correct simplified and A4 tax invoices that owners and garages rely on daily.

Status

Built in 2025; in use through 2026. Private company project.

4service.co car-service center marketing site

4service.co

Web · Vanilla HTML/CSS/JS · Car-service center · 2025

  • HTML
  • CSS
  • JavaScript
  • RTL
  • SEO
  • GitHub Pages

Overview

A bilingual (Arabic & English, RTL) marketing site for a car-service center in Saudi Arabia — maintenance, inspection and detailing services, a services gallery, customer reviews and one-tap WhatsApp contact.

My role

A freelance client project — I designed and built the whole thing from scratch.

What I built

  • Bilingual Arabic/English with full RTL.
  • Services sections, a gallery and customer reviews.
  • One-tap WhatsApp contact.
  • SEO work and custom-domain setup.
  • Built from scratch in vanilla HTML/CSS/JS on GitHub Pages.

Highlights

Built from scratch with no framework — just vanilla HTML, CSS and JS — fully bilingual with RTL and one-tap WhatsApp deep-linking, plus SEO and a custom domain.

Status

Shipped in 2025.

Screens

Salih Bawarith portfolio — bilingual roast-curve career timeline

Salih Bawarith

Web · Vanilla HTML/CSS/JS · Personal-brand portfolio · 2026

  • HTML
  • CSS
  • JavaScript
  • RTL
  • Bilingual
  • SEO
  • GitHub Pages

Overview

A bilingual (Arabic & English, RTL) personal-brand portfolio for Salih Bawarith — a Riyadh-based F&B operations manager, specialty-coffee expert and Arabic calligrapher. The site frames his career as a coffee “roast curve”: a scroll-drawn profile with braided lanes for the several roles he ran at once, alongside galleries of his calligraphy and his work & events.

My role

I designed and developed the whole site — the “roast-curve” concept, the bilingual RTL layout and the galleries. All content lives in one JavaScript data file, so Salih can update his timeline, photos and calligraphy without touching HTML.

What I built

  • A “roast-curve” career timeline — a scroll-drawn profile with braided lanes for concurrent roles.
  • Fully bilingual Arabic/English with a language toggle and complete RTL mirroring.
  • A calligraphy gallery and a work & events album gallery — grid + lightbox, with on-demand image and video loading.
  • Category filters and “show more” pagination so the galleries scale.
  • A data-driven architecture — all content in one JS file, so it updates without editing HTML.
  • Built from scratch in vanilla HTML/CSS/JS with no build step, plus SEO and a custom domain on GitHub Pages.

UX decisions

  • Framing the career as a “roast curve” instead of a bullet list — you read momentum rising over time, not just dates.
  • Braided lanes so concurrent roles are legible at a glance rather than flattened into one column.
  • Galleries load images and video posters on demand, with “show more” paging, so a large archive stays fast on mobile.
  • Every screenshot and photo opens in a full-screen lightbox you can swipe through.
  • Keyboard- and screen-reader-accessible (focus management, Escape to close, ARIA labels), with all motion gated behind prefers-reduced-motion.

Analytics

Umami (privacy-friendly and cookieless) with a custom tracking layer I wrote: named events for every click and for scroll depth, plus a visibility “heartbeat” that sends periodic pageviews so a single-page site still reports real visit duration. Every call is guarded, so a blocked or slow tracker never breaks the page.

Highlights

The idea I like most is the “roast curve” — reading a career like a coffee roast profile, with time along the bottom and momentum rising, and braided lanes showing the roles that overlapped. It turns a plain CV into a story, in two languages, with zero framework or build step.

Status

Shipped in 2026, live at salihbawarith.com.

Screens

Gold Price Raycast extension — gold prices per gram

Gold Price

Raycast Extension · TypeScript · Gulf gold prices

  • TypeScript
  • Raycast API
  • React
  • metals.dev API
  • Caching

Overview

A Raycast extension that puts daily gold prices one keystroke away. It shows live prices per gram for the 24K, 22K, 21K and 18K karats commonly quoted in Gulf markets, the daily change versus the previous close, and 1, 3, 6 and 12-month averages from real daily closes — all in the currency of your choice.

My role

My own project — I designed and built the whole extension in TypeScript on the Raycast API, and submitted it to the official Raycast store.

What I built

  • Live spot prices per gram for 24K, 22K, 21K and 18K.
  • Daily price change versus the previous close.
  • Period averages — 1, 3, 6 and 12 months — from real daily closes.
  • Karat selector to switch which karat's averages are shown.
  • Selectable display currency: SAR, AED, KWD, QAR, BHD, OMR, USD, EUR, GBP.
  • Quota-friendly caching to stay within the free metals.dev API tier.

Highlights

The interesting constraint was the free API tier — only 100 requests a month — so I built quota-friendly caching that serves fresh prices and month-long averages without ever blowing the budget.

Status

Source is public on GitHub and it's submitted to the Raycast store — pull request #29634 is in review.

Screens

Resume

Download CV (PDF)

Experience

  1. Freelance Software Engineer

    Open to opportunities Jun 2026 — Present

    Building personal projects and taking on freelance work across iOS, web and backend — and open to new opportunities. Recent independent work includes Jamaatna, a fullstack events platform.

  2. Software Engineer — Karage

    Dec 2021 — Jun 2026

    Shipped two App Store apps (My Karage, 5,000+ users; Karage Kash, a ground-up iPadOS POS). Built a Next.js/TypeScript reporting dashboard on Node.js and Supabase, enhanced ASP.NET Core microservices, and instrumented analytics that steered marketing and growth. Mentored the team, led code reviews and ~80% test coverage, and led the Apple Developer account migration.

  3. Volunteer Mentor Lead — LabLab MENA

    May 2023 — Jul 2023

    Mentored hackathon teams on technical execution, architecture and deployment; ran workshops and provided developer support to raise project quality.

  4. Website Developer — Marn

    Sep 2021 — Dec 2021

    Built Webflow CMS solutions and collaborated with designers to deliver responsive web experiences.

Education & Certifications

  1. B.Sc. Software Engineering — University of the People

    Graduated Jun 2025

    Bachelor of Science in Software Engineering.

  2. IELTS Academic — Band 7

    Certification

    Professional English proficiency.
    Arabic — native.

  3. Prompt Engineering — DeepLearning.AI

    Certification

    Applied prompt engineering for AI-assisted development workflows.

  4. 100 Days of SwiftUI & iOS Bootcamp

    Certification

    Hacking with Swift (Paul Hudson) and the iOS & Swift Bootcamp (Dr. Angela Yu).