Skip to content
David Koen.
He that breaks a thing to find out what it is has left the path of wisdom. Gandalf the Grey

Tech Enthusiast

David Koen.

I lead delivery without losing the technical thread. I translate between marketing, design and engineering, and I plan work in stages across a project’s full scope.

  • Git
  • GitHub Actions
  • Docker
  • Cloudflare
  • PostgreSQL
  • MongoDB Atlas
  • Firebase
  • Postman
  • Lighthouse CI
  • Figma
  • Jira
  • Monday.com
  • Slack

About

Most projects don’t fail on code. They fail on the handoffs, the brief that lost a requirement, the estimate nobody stress-tested, the dependency nobody flagged until it blocked three people.

I’ve spent years on the building side of those handoffs: agency client work, in-house maintenance cycles, internal frameworks, and a year teaching developers how to structure work they hadn’t met yet. That background means I can read an engineering estimate, ask the question that surfaces the hidden dependency, and explain the answer to a marketing stakeholder without either side losing the thread.

Based in
South Africa
Currently
Web Developer Lead
Professionally in web since
2017

Tech Enthusiast. Coffee Lover. JRR Tolkien Nerd. Book Worm. Cinema Junkie. YNWA.

Skills

Delivery & process

  • Agile delivery and sprint planning
  • Scope definition and estimation
  • Roadmap and release ownership
  • Risk, dependency and blocker tracking
  • Cross-functional stakeholder management

Engineering practice

  • Peer code review and pull request workflow
  • Git branching and merge strategy
  • CI/CD pipelines and automated deployment
  • Automated and manual QA
  • Technical documentation and decision records

Frontend architecture

  • SPA, SSR and static site generation
  • Component-driven architecture
  • Responsive design systems
  • SEO, Core Web Vitals and performance budgets
  • Unidirectional data flow (Flux)

Backend & data

  • RESTful API design
  • Authentication, sessions and access control
  • SQL and NoSQL data modelling
  • Serverless and edge runtimes

Experience

I began my career in web and software development in 2017, starting as a WordPress Developer Intern. Since then, I have worked in a variety of roles, including as a Coding Facilitator position, teaching foundational coding and computer literacy skills to both professionals and aspiring professionals.

I have a strong interest in the continually evolving technology and software ecosystem. This has driven me to build a professional network that keeps me informed of emerging trends and industry best practices.
Through this experience, I have developed a solid understanding of what it takes to build functional digital products and services, along with the ability to translate that technical knowledge for non-technical stakeholders and to lead productive discussions with cross-functional teams.
As AI-driven tools continue to reshape how consumers and professionals work, I’ve embraced this shift while remaining committed to continuous skill development, so that I stay among those directing this technological transformation rather than merely riding its wave.

Work

Through the years I have planned, developed, deployed and maintained countless web-related products. As someone who has a personal passion for art in its many mediums, I find it fascinating and exciting to hone an individual’s identity into their production.

  • Missed Mix is an idea for a music application that encourages people to meet through nothing more, or less, than one another’s music taste.

    The Spotify Web API supplies the catalogue, so a profile is built from real songs, artists and albums. From there a server-side state machine, held in MongoDB and gated by signed sessions, keeps the messaging portal between two accounts sealed until both have made the handshake.

  • Vanessë is a custom, open-source VS Code theme that uses beautiful colour tones to make an IDE that is relaxing to work with.

    Its lemon, lime, violet and blue tones sit on a deep night sky, with 82 matching file icons. Every colour is generated from TypeScript and tested against WCAG AA contrast in CI, so the palette stays easy on the eyes through longer code sprints.

  • Querated is an art gallery browser built on The Metropolitan Museum of Art’s open collection. The idea was a way to query large libraries of content while only paying for the data you actually use.

    A GraphQL server sits in front of The Met’s REST API, so the gallery asks for exactly the fields it shows and nothing more.

  • Deadwax is an idea for an agentic music librarian built with LangChain and Google Gemini. It answers natural-language questions about a personal listening history and assembles playlists against hard constraints.

    It is still a work in progress, and the vision is a platform that builds playlists for users based on their prompts.

Contact

Looking for someone who can hold both sides of the brief?

I bring a strong working knowledge of the requirements and standards needed to deliver a digital product with industry-competitive, technically sound UX. Whether you already have a clear role in mind for me on your project, or you’re looking for guidance on how to get your team or project off the ground, I’d welcome the opportunity to talk through it.

Let’s get in touch
david@koen · cli
About me:
  whoami      who I am and what I do
  skills      what I work with
  experience  how I got here
  contact     how to reach me
  links       where else to find me

Or solve a murder:
  start       open the case of Radagast
  clear       clear the screen

Same commands over HTTP:https://davidkoen.is-a.dev/api/cli?cmd=whoamiANSI text to a terminal, JSON to anything else. A session cookie holds the case open.

Decisions, not defaults

What this site runs on

FrameworkAstro
Every page is prerendered to static HTML at build time, with almost no JavaScript attached. That is what keeps it quick on a weak connection.ADR 0001
StylingTailwind CSS
The styling framework I build with. Utility-first, popular, well documented, and flexible.ADR 0004
MotionCSS animation
Scroll-driven animations written in plain CSS rather than pulled in from a library. They run off the main thread, so scrolling stays smooth and there is nothing extra to download.ADR 0007
3DThree.js
Renders the WebGL scenes. Lazy loaded only once you scroll near it, and skipped entirely on low-memory devices or when reduced motion is set.
APICloudflare Functions
Serverless functions at the edge, powering the terminal behind the other button up there. Nothing to provision, nothing to keep alive. It answers your own terminal too: curl "https://davidkoen.is-a.dev/api/cli?cmd=whoami" reads this same CV.ADR 0011
HostingCloudflare Pages
Static hosting on Cloudflare’s CDN. Assets serve from whichever edge location is nearest, so load times hold up wherever the site is opened from.ADR 0002
LanguageTypeScript
Everything here is written in TypeScript. Static types catch a whole class of mistakes at build time rather than in production.ADR 0006
Quality gatesAutomated checks
Every pull request runs CI before it can merge: formatting, type checks, a Lighthouse audit, and a performance budget that fails the build if the critical path grows past 50 KB.