Shashank Agarwal

Staff / Principal Frontend

Ich führe Frontend-Teams und baue die Screens, in denen Menschen den ganzen Tag arbeiten: breite, live aktualisierte Daten, die sich trotzdem sofort anfühlen, oft eingebettet auf fremden Websites.

Shashank Agarwal

Kleiner Hinweis: Deutsch kann ich leider (noch) nicht — Englisch dafür fließend.

Wirkung

Dichte, hochperformante Canvas-UIs

Ich baue die Grids, in denen Menschen ihren Tag verbringen. Die Daten sind breit, live und typisiert, und jede Interaktion fühlt sich trotzdem sofort an.

  • Für iAnalyse habe ich eine eigene Angular-Pivot geschrieben. Analysten konnten auf beiden Achsen gruppieren und mit 60 FPS durch tausende einklappbare Zeilen und dutzende Spalten scrollen.
  • Im Butlerapp Dashboard rendert ein vollständig backend-gesteuertes Grid Inseln aus Widgets und Formularfeldern. Die Inseln reagieren auf Änderungen der Formularfelder und passen sich einem konfigurierbaren, responsiven Layout an.
  • TaylorDb brauchte ein Canvas-Datagrid, von Grund auf für seine Performance-Anforderungen gebaut: ein Live-Grid mit zehntausenden Zeilen, gespeist über GraphQL auf WebSockets. Zellen gehen über Text und Zahlen hinaus: Listen, Avatare, Checkboxen, Chips oder Dateien. Inline-Änderungen und Interaktionen kommen mit Optimistic Updates und globalem Undo und Redo.

Einbettbare, modulare UI

Ich liefere UI, die andere Sites und andere Produkte einbauen und um die sie herumbauen können.

  • Das Butlerapp Booking Form ist eine Suite aus Web Components, die Buchungen ins Butlerapp Dashboard bringt. Es läuft auf mehr als zweihundert Kunden-Websites und bringt tausende Buchungen im Monat. Hosts können Buchungsformular, Terminkalender, Angebotskarten, Angebots-Akkordeons, eine Angebotstabelle, einen Warenkorb und Login-Widgets einbetten.
  • Interne Produkte von Webbee laufen auf react-native-molecules, einem Komponenten-Kit, das ich entworfen habe, während ich TaylorDb geleitet habe.
  • json-schema-form trägt dieselbe Idee in Open Source: Gültigkeit und Layout getrennt beschreiben und einen eigenen Renderer nur dort schreiben, wo die Defaults nicht reichen.

UI-Planung

Ich kläre früh, was die Oberfläche selbst berechnen muss, damit das Produkt nur verspricht, was es halten kann.

  • Ich habe die Frontend-Architektur von TaylorDb zukunftssicher angelegt: Ein fertiges Plugin-System lädt Plugins nach, die erst zur Laufzeit bekannt sind, sodass neue Fähigkeiten ausgeliefert werden, ohne den Kern anzufassen.
  • SchnellTestButler hat die Verfügbarkeit selbst berechnet: Zwei-Minuten-Slots, Rücken an Rücken, über Arbeitstage von fünfzehn Stunden, mit Feiertagen, ausgebuchten Fenstern und überlappenden Arbeitszeiten. Im Peak nutzten das 1.500 Testzentren. Dazu haben wir eine React-Native-Check-in-App ausgeliefert, eine frühe Version eines Ticketing-Produkts.

Projekte

shashankagarwal.devshashankagarwal.devdieses Projekt

Astro · Puppeteer · TypeScript · CSS Grid

Dieser Lebenslauf: drei Sprachen, ein drucktreues Layout und das PDF zur Build-Zeit erzeugt.

json-tree-editorNebenprojekt

SolidJS · TypeScript · Web Component

JSON-Tree-Editor für Solid und als Web Component für jeden anderen Stack. Der Source-String bleibt das Dokument; der Tree wird nie eine zweite Wahrheit.

json-schema-formNebenprojekt

React · JSON Schema · UI Schema · TypeScript

React-Formulare aus JSON Schema. Ein UI-Schema übernimmt das Layout, eigene Renderer springen nur ein, wo die Defaults nicht reichen.

react-native-moleculesmit Webbee

React Native · TypeScript

React-Native-Komponentenbibliothek, die zum internen Design System von Webbee wurde, während ich TaylorDb geleitet habe.

DashboardHobby, in Arbeit

SolidJS · TanStack Query · Router

Ein Hobby-Builder für Dashboards und Workflows auf den eigenen Daten. Noch nicht ausgeliefert.

Berufserfahrung

Lead Frontend Engineer · Webbee GmbH

Aug 2020 – Heute

Minsk, Belarus

Ich verantworte das Frontend für zwei Produkte: Butlerapp, einen Buchungsmanager mit CRM, und TaylorDb, einen KI-App-Builder. Architektur, Lieferung und das Team, das ausliefert.

  1. Butlerapp Booking Form

    React · TypeScript · Redux Toolkit Query · Einbettbare Widgets

    Eine React-App, die auf 200+ Host-Websites läuft und den ganzen Buchungsweg trägt: Angebotssuche, ein konfigurierbarer Buchungsablauf und Buchungsverwaltung. Sie bringt jeden Monat Buchungen im Wert von tausenden Euro.

    • Widgets zur Angebotssuche fügen sich in jede Host-Site ein. CSS-Variablen übernehmen den Großteil des Themings, sodass Hosts ihre Marke treffen, ohne unseren Code anzufassen.
    • Dasselbe Projekt läuft im Butlerapp Dashboard als Micro-Frontend, mit Logik nur für Mitarbeitende, die hinter dem authentifizierten Bereich liegt.
  2. Butlerapp Dashboard

    React Native · Expo · NativeBase · Widget Systems

    Die zentrale Schaltstelle für den Betrieb von Butlerapp: Buchungen, Kundenkommunikation, Angebote, Rabatte, Zahlungsarten, Lokalisierung und mehr.

    • Das klassenbasierte React-Dashboard in eine hybride React-Native-App auf Expo und NativeBase überführt und den Umzug für eine komplette UX-Überarbeitung genutzt.
    • Das View-System entworfen. Operatoren speichern Filter, Sortierung und Layout einmal und öffnen sie mit einem Klick, statt sie jeden Morgen neu zu bauen.
    • Große Tabellen auf Autodesk BaseTable umgestellt, Filter zu gerankten Filter-Chips umgebaut und das backend-gesteuerte Grid gebaut: Inseln aus Widgets und Formularfeldern in einem responsiven Layout, das das Backend definiert.
    • GitHub Actions für CI/CD aufgesetzt, sodass Tests und Deployments automatisch laufen.
  3. SchnellTestButler

    React Native · Expo · NativeBase

    Butlerapp, zugeschnitten auf COVID-Tests in hohem Volumen: Buchungen, Warteschlangen-Timing und Ergebnisübergabe.

    • Die Verfügbarkeitslogik im Frontend gebaut. Zwei-Minuten-Slots über 15-Stunden-Tage, mit Feiertagen, ausgebuchten Fenstern und überlappenden Schichten direkt im Kalender.
    • Eine React-Native-Field-App mit QR-Check-in und Multi-Account-Zugang im App Store und bei Google Play ausgeliefert. Im Peak lief sie in 1.500 Testzentren in ganz Deutschland.
  4. TaylorDb — KI App Builder

    React Native · GraphQL · WebSockets

    Ein KI-App-Builder: eine No-Code-Plattform, intern gebaut für schnelle Anwendungsentwicklung.

    • Das Frontend geführt, während TaylorDb von einer smarten Datenbank zum App-Builder und dann zum KI-App-Builder wuchs.
    • Das Canvas von Grund auf gebaut: ein Live-Grid mit zehntausenden Zeilen und 20+ typisierten Spalten, mit Inline-Editing, Optimistic Updates und globalem Undo/Redo.
    • Die Datenschicht für ein Produkt entworfen, das alles über GraphQL auf WebSockets streamt: eine Ladeschicht und ein Subscription-System, die den Client-State konsistent halten, während Events um die Wette eintreffen.
    • Die Engineers im Team zu eigenständigen Seniors gecoacht und die PRDs für react-native-molecules geschrieben, heute das interne Design System.

UX Lead · Zycus India Pvt. Ltd.

Jan 2018 – Jul 2020

Mumbai, India · React · Angular 8

Zycus baut eine Source-to-Pay-Plattform für den Einkauf. Ich habe das Frontend über die Produktmodule hinweg geführt, zwei davon von Legacy-Stacks geholt und ein Team aus fünf Frontend-Engineers geleitet.

  1. iAnalyse & CRMS

    Angular 8 · Highcharts

    • Den Frontend-Rewrite von CRMS und iAnalyse von getrennten PHP/jQuery- und Java/jQuery-Stacks auf Angular 8 geführt, als Zycus auf eine UX-Plattform standardisiert hat.
    • Ein COVID-Spend-Analyse-Dashboard in etwa einer Woche von einem zweitägigen Hackathon-POC in Produktion gebracht. Es verglich die Ausgaben eines Unternehmens mit der Branche, damit Einkaufsteams Ausreißer schnell erkennen.

Software Engineer II · Omnichanneler Technologies Pvt. Ltd.

Apr 2017 – Nov 2017

Bangalore, India · React · Backbone.js

Retail-POS und Multi-Channel-Inventar für Händler, die online und offline verkaufen.

  • Die Inventar-UI für Händler gebaut, die über Shopify, Amazon, Flipkart und den eigenen Laden verkaufen, dazu den B2B-Ablauf für Großbestellungen.
  • QuickBooks- und Tally-Onboarding ins Setup eingebunden, sodass Ladenbesitzer ihre Buchhaltung in einem Schritt anbinden.
  • Den Neubau zentraler Screens von Backbone.js nach React geführt: schneller und leichter zu warten.

Assistant Project Manager · Unlock Technologies Pvt. Ltd.

Sep 2013 – Apr 2017

Mumbai, India · jQuery · AJAX · HTML5 · CSS3 · Ionic

Dienstleister für Corporate Sites, E-Commerce und Mobile Apps. Ich habe die Mobile-Produktlinie eröffnet und die Arbeitsweise des Teams modernisiert.

  • Die ersten Mobile Apps des Unternehmens in Ionic gebaut: das PayPointZ Wallet und eine E-Auktions-App für ein Auktionshaus in Dubai, was einen neuen Strom an Kundenumsatz eröffnet hat.
  • Production-Sites und Web-Apps von den Wireframes bis zur Auslieferung gebaut und wiederverwendbare Storefront-Templates für Unlock Commerce erstellt.
  • Kunden-Onboarding und Schulungen geleitet und Ziele für funktionsübergreifende Delivery-Teams gesetzt.
  • Git anstelle von VSS eingeführt und den Entwicklungs-Workflow gestrafft.

Fähigkeiten

Kern
  • React
  • React Native
  • SolidJS
  • TypeScript
  • JavaScript
  • Node.js
Architektur
  • Geschichtete, domänengetrennte Codebasen
  • Wiederverwendbare UX-Muster
  • Web Components & Micro-Frontends
  • Plugin-Architekturen
  • SPA / SSR / SSG
  • Performance-Profiling
Status & Daten
  • Redux
  • GraphQL
  • TanStack Query
  • TanStack Router
  • React Router
Styling
  • CSS-in-JS
  • Tailwind
Qualität
  • Test-Driven Development
  • Vitest
  • Playwright
  • Unit- / Integrations- / E2E-Tests
  • Storybook
  • Debugging
Plattformen
  • Next.js
  • Expo
  • Reanimated / Gesture Handler
Soft Skills
  • Mentoring
  • Code Review
  • KI-gestützte Technik

Gesprochene Sprachen

Ausbildung

Bachelor of Science in Informationstechnologie

University of Mumbai, Mumbai, Indien

2009
Schnacken?