Open to senior frontend roles

Berlin · --:--

Aryan Moradi, Senior Frontend Engineer in Berlin

Aryan Moradi in a black turtleneck, arms crossed

I build fast, accessible interfaces for data-heavy products: design systems, dashboards and the frontend architecture that keeps them easy to change. 9+ years with React and TypeScript, currently at AgyleOS.

export const aryan = {
  role: 'Senior Frontend Engineer',
  based: 'Berlin, DE',
  stack: ['React', 'TypeScript', 'Next.js'],
  loves: ['design systems', 'fast UIs'],
  shipping: 'TaleSelf', // see below
  coffee: Infinity,
} satisfies Engineer;
  • 9+Years shipping production frontends
  • 400+Companies on the HR platform I build
  • 60%Faster dashboard loads: 3.5 s to 1.4 s
  • 30+Client websites delivered early on

Tools I use: React, TypeScript, Next.js, Node.js, Tailwind CSS, Storybook, React Query, Redux Toolkit, GraphQL, Keycloak, Playwright, Cypress, Jest, Figma, Flutter, PostgreSQL, Vercel.

About

From a lab in Rasht to design systems in Berlin.

I wrote my first real JavaScript in 2013, in a university lab in Rasht, trying to make a button do anything other than submit a form. A few years later I was building WordPress themes for local businesses, more than thirty of them, and learning the hard way that a page that takes six seconds to load is a page nobody reads.

The tools changed since then, from jQuery to React and Next.js, but the job did not: take something complicated and make it feel simple, then make it fast. I have led small teams in Rasht and Istanbul, shipped a student portal used across the UK, and today I work on AgyleOS, an HR platform where I own the design system and the performance of our heaviest dashboards.

Outside work I build TaleSelf, a story game for learning languages, and I am slowly getting better at German. Langsam, aber sicher.

  • 01

    Performance is a feature

    I set a budget before the first component and measure in the field, not only on my laptop. Users feel 2 seconds more than they read any copy.

  • 02

    Systems over screens

    Tokens, components and docs that let a team build the tenth screen faster than the first, and keep it looking like one product.

  • 03

    Accessible by default

    Keyboard paths, contrast and screen reader labels go in the first pull request. Retrofitting WCAG is always the expensive way.

  • 04

    Teams ship, not heroes

    Code reviews that teach, pairing when someone is stuck, and guidelines short enough that people actually read them.

Selected work

Things I built and shipped.

Side project · 2026 · Android, in closed testing

TaleSelf

Learn a language by living inside a story where you are the main character.

Pick a language and a level, then read and listen to a branching adventure written for you. Every choice moves the story; the first player to open a new branch has it written by an LLM, and every player after them reads it with their own name and character. Streaks, chests, weekly leagues and a word ladder keep people coming back.

  • 22languages to learn
  • 9app languages, RTL too
  • 1story, shared by every player
  • Flutter
  • TypeScript
  • Fastify
  • PostgreSQL
  • Drizzle
  • Gemini on Vertex AI
TaleSelf character picker with Kael, Leo, Omar and Noah
TaleSelf home screen: a 7-day streak and the next chapter of The Ember Crown in French A2
Reading a French chapter of The Ember Crown with the narrator character beside the text

Meet the cast

No images here: every character is drawn in code from a look (hair, skin, shirt, eyes). Flutter paints it in the app, SVG draws it on the web. Each one greets in a different language, in the voice the app ships with. Move your pointer, then click one to hear it say hi.

  • Mia
  • Leo
  • Zara
  • Omar
  • Lena
  • Noah
  • Aisha
  • Ravi

More work

  • Design system · HR SaaS

    AgyleOS Design System

    A Storybook-documented component library and token set that every AgyleOS screen is built on. Accessible by default and themeable per tenant.

    −30% UI defects

  • Data-heavy UI · React Query

    AgyleOS Dashboards

    People analytics with large tables and charts. A request cache, prefetching and skeletons that match the final layout made them feel instant.

    1.4 s from 3.5 s

  • Product · Next.js

    Londonist Student Portal

    Rent, bills and shared expenses for students in UK housing. Rebuilt flows, OAuth sign-in and a test suite the team could rely on.

    −20% support tickets

  • E-commerce · Next.js

    mehrtakhfif

    A discount-coupon marketplace. Server-rendered catalogue pages, structured data and faster images lifted organic traffic.

    SSR SEO-first catalogue

Experience

9 years, four teams, one craft.

  1. Senior Frontend Engineer at AgyleOS

    · Remote · Berlin since Dec 2024

    HR platform used by 400+ customers. I own large parts of the frontend architecture.

    • Built the caching layer and custom hooks behind data-heavy HR dashboards, cutting load time from 3.5 s to about 1.4 s.
    • Designed and built the component library and design system (Storybook, Tailwind CSS); UI defects dropped by 30%.
    • Integrated Keycloak SSO with role-based access control for enterprise tenants.
    • Hold the line on WCAG and work with design in Figma; usability tests showed higher task success.
    • Mentor engineers in an 8-person team through structured reviews and pair programming.
    • React
    • TypeScript
    • React Query
    • Storybook
    • Tailwind
    • Keycloak
  2. Senior Frontend Engineer & Team Lead at Londonist

    · Istanbul, Türkiye

    Led the Student Portal for property and expense management, used by thousands of UK students.

    • Reworked the core UX flows; support tickets fell by about 20%.
    • Led 3 engineers in a 30-person company and wrote the architecture and code review guidelines.
    • Built OAuth flows and the CI/CD pipeline that made weekly releases routine.
    • Introduced Jest and Cypress standards, cutting regressions by 30 to 40%.
    • Integrated B2B partner APIs such as ingresso.co.uk and public GraphQL APIs for tourism listings.
    • Next.js
    • TypeScript
    • OAuth2
    • Cypress
    • Jest
    • GraphQL
  3. Frontend Team Lead at G Corporation

    · Rasht, Iran

    Led the frontend team for mehrtakhfif, a discount-coupon marketplace.

    • Built the consumer site in React and Next.js and ran the team’s code reviews.
    • Wrote Node.js, Express and Next.js API endpoints alongside the backend team.
    • Improved page performance and SEO across the e-commerce catalogue with reusable components.
    • React
    • Next.js
    • Node.js
    • Express
    • SEO
  4. Frontend Developer at Eris Rayanesh Afzar

    · Rasht, Iran

    Agency work: 30+ client websites, from brief to launch.

    • Built custom WordPress themes and JavaScript components for 30+ clients.
    • Shipped responsive, cross-browser layouts with a focus on page speed and SEO.
    • Worked directly with clients to turn loose requirements into finished sites.
    • JavaScript
    • WordPress
    • SCSS
    • Page speed

Education

B.Sc. Software Engineering, Ahrar University, Rasht · 2013 – 2018

Languages

English professional · Persian native · German A1, learning

Work permit

EU Blue Card, no sponsorship needed

What I bring

Senior means the whole picture.

Pixels are the visible part. Most of the value is in the decisions around them.

  • 01

    Frontend architecture

    Folder structure, data flow, rendering strategy and the boring decisions that keep a codebase easy to change in year three.

  • 02

    Design systems

    Tokens, accessible components, Storybook docs and a release process designers and engineers both trust.

  • 03

    Performance work

    Caching, code splitting, render profiling and Core Web Vitals. I like a chart that goes down and to the right.

  • 04

    Auth & enterprise

    SSO with Keycloak or OAuth2, role-based access and multi-tenant UIs that hide what people should not see.

  • 05

    Testing culture

    Unit, component and end-to-end tests that catch real regressions without slowing every pull request.

  • 06

    Leading & mentoring

    Reviews, pairing, onboarding docs and hiring loops. Most of my best work is code other people wrote.

Frontend
  • React
  • Next.js
  • TypeScript
  • HTML & CSS
State & data
  • React Query
  • Redux Toolkit
  • GraphQL
  • REST
  • Caching
Backend
  • Node.js
  • Express
  • Fastify
  • Next.js API routes
  • PostgreSQL
Auth
  • Keycloak
  • OAuth2
  • SSO
  • RBAC
Testing
  • Jest
  • Cypress
  • Playwright
  • Testing Library
Design
  • Design systems
  • Storybook
  • Tailwind CSS
  • Figma
  • WCAG
Contact

Let’s build something people enjoy using.

Open to senior and lead frontend roles in Berlin or remote across the EU. Also happy to talk design systems, performance, or a product that needs a sharp frontend.

aryanmoradi74@gmail.com