Skip to content

Intricate software from first principles and rigorous rules.

Hi, I'm Mosab. Arabesque Labs is my lab, where I'm crafting a few products carefully, one well-made part at a time. Stay tuned!

This tile is the studio's mark. Everything around it follows from the same rule.

The name is the method

Arabesque patterns look intricate, but they come from a few simple shapes and one rule, repeated with care. No line is there for decoration. Each one is where the geometry puts it.

I build software the same way: small, well-made modules, clear interfaces between them, and a system that stays coherent as it grows.

  1. 1 Tile the plane with simple shapes.

    In software: modules.

  2. 2 From each edge's midpoint, draw two lines at a fixed angle.

    In software: interfaces.

  3. 3 Remove the scaffolding. The pattern holds.

    In software: the system.

How I build

Four stages, repeated as many times as it takes to get something right.

  1. 1

    Discover

    Start with the real problem, not the assumed solution. I take time to understand the constraints before writing a line of code.

  2. 2

    Design

    Structure comes before pixels. I sketch the system's shape, its data, flows and edge cases, so the build has a foundation.

  3. 3

    Build

    Small, deliberate increments instead of big-bang releases. Working software, reviewed and tested at every step.

  4. 4

    Refine

    The first version is rarely the right one. I revisit, simplify and polish until the details hold up.

What I'm making

Each product is built to the same rules, and released when it meets them.

  • Arabesque's showcase: its introduction, and the foundations below Arabesque's showcase: its introduction, and the foundations below

    Arabesque

    Design system

    The tokens, components and rules every Arabesque Labs product is built with. Accessible, and right to left from the start.

  • Hunt's tracking board: applications by stage, with what's next on each (made-up demo data) Hunt's tracking board: applications by stage, with what's next on each (made-up demo data)

    Hunt

    Job application tracker

    Track a job search as a board of hiring processes. Free and open source to run yourself; a hosted version is coming soon.

Earlier projects

Smaller tools from before Arabesque Labs, now looked after here.

  • Power Close's website: its popup closing 4 of 12 open tabs Power Close's website: its popup closing 4 of 12 open tabs

    Power Close

    A browser extension that closes every tab whose address contains a keyword or a domain. For Chrome and Firefox.

  • An album dir2html made from a folder of photos An album dir2html made from a folder of photos

    dir2html

    Turns a folder of images into an HTML photo album. A Python package.

  • Toggl Target in a terminal: hours tracked, and hours still needed each day Toggl Target in a terminal: hours tracked, and hours still needed each day

    Toggl Target

    Works out how many hours you still need to log on Toggl to meet your monthly goal.

More in the making

Hi, I am Mosab, the solopreneur behind Arabesque Labs, where I design, build and support everything.

Questions, ideas, or just want to say hello?

hello@arabesquelabs.com