Skip to content
Madyan.Full-stack product engineer

London, UK/Since 2018

I build the thing that moves the business forward.

Hi, I’m Madyan, a full-stack product engineer in London. I work with founders and small teams to build useful software, from the interface to the backend and the AI features in between.

Editorial portrait illustration
Frontend to backend.
Happy to get stuck in.

Teams I’ve worked with

OciergeJust Eat for BusinessFeedrAgreFestEducationCity

Selected work

Things I’ve helped build.

Ocierge
Ocierge mobile app: guests browse propertiesOcierge mobile app: property details and host chat

Ocierge

CTO & co-founder · 2 years

I co-founded Ocierge, a product connecting hotel teams with their guests. I built and ran the full stack over two years.

Hotel dashboard & guest apps
Built the dashboard for hotel teams to manage requests, the guest mobile apps, and the backend behind both.
Real-time chat
Added real-time messaging so guests and hotel teams could talk directly in the app.
$150k in cloud credits
Completed the Microsoft for Startups Founders Hub application and secured $150k in Azure credits.
Just Eat for Business
Just Eat for Business restaurant search and food-ordering interface

Just Eat for Business

Full-stack engineer · 2 years

I worked across the food-ordering platform, including customer features, restaurant systems and the tools used by our operations team.

A day of admin down to an hour
Automated weekly bulk-order work, giving the operations team most of that day back.
A smoother day for developers
Upgraded infrastructure and built developer tools to make everyday work quicker.
Less downtime
Introduced stricter typing and linting standards that helped reduce downtime.
Feedr
Feedr marketing website

Feedr

Full-stack engineer · 2 years

I worked across Feedr’s food-ordering platform, building features with the product team and supporting colleagues in marketing and engineering.

Payments delivered in time
Led delivery of the Stripe payment system, narrowing the scope to meet a legal deadline and keep the business accepting payments.
Marketing could make its own changes
Worked with marketing to build the website in Storyblok, so they could update pages and run experiments without waiting for a developer.
A shared design system
Led the design system team. I also regularly helped teammates with TypeScript, GraphQL and functional programming.
AgreFest
AgreFest landing page design with event photography and programme navigation

AgreFest

Web design & development · CMS website

I designed and built the landing page for AgreFest, an event bringing together agriculture and gastronomy.

Programme, speakers & event details
Organised the content and photography so visitors could get a feel for the event and find the details they needed.
English & Turkish
Built the English and Turkish pages with layouts that work across screen sizes.
Pages the organisers could update
Set up Pages CMS so the organisers could change event details themselves, without editing code.
Visit the website
Listings
Research
ShortlistFor review

AI agent · Private client

A helping hand with lead research.

I built an AI agent to research leads for a luxury car-auction operator. It prepares a shortlist for the operator to review and decide what’s worth following up.

How I think about agent reliability
Console+ showing TypeScript autocomplete and an invalid property error in DevTools

Open source · Developer tools

Console+: TypeScript in your browser.

I kept copying scripts between my editor and the browser. So I built Console+ to write and run TypeScript right in DevTools. A small annoyance that became an open-source project.

View Console+ on GitHub

My approach

How I build.

Coding agents need a little context.

I give agents repo instructions, examples and checks they can run. They follow the team’s conventions, and I review the changes before they go in.

The code should sound familiar.

If the team calls it a booking, so does the code. I model the business rules with TypeScript and functional programming, so they’re easier to follow and harder to break.

TypeScriptEffectFunctional programming

Interfaces in more than one language.

I’ve built interfaces in Spanish, Portuguese, Arabic and Turkish, including right-to-left layouts. I account for local formats and labels that need a little more room.

Infrastructure that fits the business.

I weigh up cost, reliability and where data is stored. I use Pulumi to define infrastructure in typed code, so changes are easier to check and review.

  • AWS
  • Google Cloud
  • Azure
  • Scaleway
  • Cloudflare

Working together

I care like it’s mine.

Because for a while, it sort of is.

I’ll do the unglamorous bits.

The CSV import. The script that saves someone hours. Useful work doesn’t need to be a big feature.

I make time to help.

I’ll pair on a stubborn bug or talk through an unfamiliar bit of code. Nobody should have to stay stuck alone.

I’ll help work out what can wait.

When time is tight, I’ll help find a smaller version that still solves the problem. Then we can build from there.

I brought Madyan a half-formed idea. He helped me work out what mattered and where to start.
Alex MorganFounder · B2B startup
His work was easy to pick up. And if I had a question, he always made time to talk it through.
Sam TaylorEngineering lead · Product team
When the plan changed, Madyan helped us find a way forward. I always felt comfortable asking him for help.
Jamie LeeProduct lead · Startup
A relaxed portrait by a sunny window

About me

Hi, I’m Madyan.

I like getting to know the people behind the product.

The person using it, the person answering support questions, the teammate who knows why that bit is awkward. Those conversations help me build something that actually makes their day easier.

Based in London
Master’s · King’s College London
TypeScript mostly. Very fond of functional programming.

I get a little excited about an elegant type system. Happy to explain. Equally happy to spare you.

Blog

My thoughts on things.

Things I’ve learned, tried, and am still thinking about.

Get in touch

What are you working on?

Looking for someone to join the team, or help with a project? Tell me a little about it. If you’re still working out what you need, I’m happy to talk it through.

Send me an email

A few rough notes are plenty to start with.