← Back to site
DE

Idris Ay

Full-Stack Engineer

Zurich, Switzerland · Swiss B Permit · idrisaydev@gmail.com · +41 77 257 21 36
idrisay.ch · github.com/idrisay · linkedin.com/in/idris-ay

Profile

I ship production web applications end to end — from design hand-off through deployment and monitoring. Six years across React, TypeScript, PHP/Laravel and Node.js, currently building core learning, billing and localisation features at Evulpo inside a 30+ person product team with 10+ engineers. Outside client work I design and ship my own products: Kovan, a macOS app that shows which pull requests and tickets are blocked on you and hands them to coding agents, and VoiceSmith, an open-source macOS dictation app written in Swift.

Skills

Languages
TypeScript · JavaScript · Swift · PHP · Python · HTML5 · CSS3 · SASS
Frontend
React · Next.js · React Native · Electron · SwiftUI · Tailwind CSS · Material-UI · Storybook
Backend
Laravel · Livewire · Node.js · Django · Flask · REST APIs
Databases
PostgreSQL · MySQL · MongoDB · SQLite
DevOps & Tools
Docker · Jenkins · AWS · Git · Sentry · Stripe · Firebase · Postman
AI Tooling
Claude Code · Codex · Cursor · GitHub Copilot · ChatGPT
Methodologies
Agile · Scrum · Kanban

Experience

Full-Stack Software Engineer — Evulpo

Mar 2022 – Present

Full-stack feature work on an e-learning platform inside a 30+ person product team with 10+ engineers — PHP, Laravel, Livewire and Tailwind CSS.

  • Ship backend services and frontend features for core learning, content delivery and account flows as one of 10+ engineers in a 30+ person product team.
  • Integrated Stripe to power subscription billing and recurring payments across the platform.
  • Built an automated content-translation pipeline on DeepL's neural translation API to localise learning material across multiple languages.
  • Designed and shipped REST API endpoints consumed by the mobile app and partner integrations.
  • Use AI tooling (Cursor, Claude, GitHub Copilot) daily to integrate features faster without lowering the quality bar.

Frontend Engineer — Inveon

Jun 2021 – Mar 2022

Built React and Next.js features for e-commerce platforms serving major brands including Columbia Sportswear and KOM.

  • Built production frontend in TypeScript with Material-UI, focused on reusable, type-safe components.
  • Authored a shared component library documented in Storybook and published to npm for reuse across client projects.
  • Led the Sentry.io integration after evaluating error-tracking options, improving production observability and bug triage.
  • Shipped through Jenkins CI/CD, Jira and GitHub workflows alongside cross-functional teams.

Frontend Team Lead · React Developer — Nioya Tech

Oct 2020 – Jun 2021

Led a frontend team of 5 on an EU-funded project, coordinating delivery and code quality across the team.

  • Led a team of 5 using GitLab and ClickUp for code review, planning, and delivery.
  • Translated Figma designs into production-ready, responsive React components.

Full-Stack Instructor — Clarusway

Jan 2020 – Jun 2021

Designed and delivered the full-stack curriculum for an intensive developer bootcamp.

  • Taught HTML, CSS, JavaScript, React, Vue, and Node.js to 4 cohorts (250+ students).
  • Built reference projects using Material-UI, Bootstrap, Chart.js, Firebase, and third-party APIs to anchor each module.
  • Analysed market demand to shape course content toward employability, and ran workshops on frontend topics.

Web Developer — Freelance

Dec 2019 – Oct 2020
  • Built e-commerce tooling for product tracking and operational efficiency.

Projects

Kovan — See what's blocked on you. Hand it to an agent.

2026

A macOS menu bar app that watches GitHub pull requests, Jira tickets and Sentry errors, shows which ones are waiting on you and why, and hands any of them to Claude Code, Codex or OpenCode running in a real terminal beside it.

  • Polls GitHub, Jira and Sentry from the Electron main process, groups pull requests by who they're blocked on (conflicts, failing checks, changes requested) and sends a notification only when something changes.
  • Runs coding agents in real terminals through node-pty; sessions survive quitting the app, report their own state, and leave a run archive with the prompt, report and screenshots.
  • Built-in workspace with a CodeMirror editor, diffs and file search, plus on-device dictation through a small Swift helper.
  • No account and no server: tokens are encrypted with the macOS Keychain, and prompts reach the agent as a single argument, never as shell code.
  • 42k lines of TypeScript · 3 coding agents · 3 integrations — kovan.idrisay.ch · github.com/idrisay/kovan-releases

Stack: TypeScript · Electron · React · node-pty · xterm.js · CodeMirror · Swift · Vitest

VoiceSmith — Speak naturally. Write beautifully.

2026

A macOS menu bar app that turns dictation into finished writing. Double-tap Shift in any application, speak, double-tap again — the transcript is cleaned up and written straight into the field you were already typing in.

  • Fifteen speech and text backends behind two Swift protocols — Apple Speech, Whisper.cpp and Ollama run entirely on-device; OpenAI, Anthropic, Groq and others use your own key.
  • Global double-tap hotkeys and text insertion through the macOS Accessibility API, with dictated to-dos parsed into Apple Reminders via EventKit.
  • No account, no backend, no telemetry — keys live in the Keychain and requests go straight to the provider.
  • Universal binaries built, packaged and released by a GitHub Actions workflow.
  • 7.6k lines of Swift · 15 AI providers · 99 languages — voicesmith.idrisay.ch · github.com/idrisay/VoiceSmith

Stack: Swift 6 · SwiftUI · AppKit · SwiftData · AVFoundation · Speech · EventKit · GitHub Actions

Education

B.Sc. Electrical and Electronics Engineering

Sep 2011 – Jun 2015

Graduated 2nd in class · 3.67 / 4.0 GPA

Languages

Turkish — Native · English — C1 · German — A2