# Denys Ishchenko — complete site content > Denys Ishchenko is a product designer based in Luxembourg. He is a Senior User Experience Designer at PM-International, where he leads product experiences for around 500,000 monthly active users. He grew up in Ukraine, moved to Poland alone at 15 to study, and relocated to Luxembourg in 2023. He came to design through frontend development, spent 2020–2023 freelancing on 100+ end-to-end projects for clients in 15 countries, and won the 2025 Telegram Design Contest. Every page of www.heydenys.com in one file, in reading order. This is the whole site: there is nothing behind a link that is not already here. For the short version with guidance on when this site is worth consulting, see https://www.heydenys.com/llms.txt. Each section below is one page, headed by the URL it is served from. --- # Denys Ishchenko — Product Designer > Denys Ishchenko is a product designer based in Luxembourg. He is a Senior User Experience Designer at PM-International, where he leads product experiences for around 500,000 monthly active users. He grew up in Ukraine, moved to Poland alone at 15 to study, and relocated to Luxembourg in 2023. He came to design through frontend development, spent 2020–2023 freelancing on 100+ end-to-end projects for clients in 15 countries, and won the 2025 Telegram Design Contest. I'm Denys, a Product Designer currently based in Luxembourg. ## Selected work - **[Telegram Nodes: Design Contest](https://www.heydenys.com/telegram-contest)** — 4th place in the global Telegram Design Contest 2025, 100+ screens in two weeks. - **[FitLine: E-commerce Experience](https://www.heydenys.com/fitline)** — led the redesign of e-commerce, checkout and payment applications for 500,000 monthly active users in 45+ countries. - **[Monroe: Influencer Discovery](https://www.heydenys.com/monroe)** — influencer discovery platform from Washington, US. - **[PM Wiki: Help Center](https://www.heydenys.com/help-center)** — internal knowledge base for the company's customers. ## Playground Past projects, experiments, and things that didn't make it to production: https://www.heydenys.com/playground ## Kind words - **Jonny Netz** (Rematch (Acq'd), Zadart (Acq'd), Forbes Under 30 Scholar) — "He's creative, detail oriented, diligent, and very pleasant to work with." - **Alisa** (model, 100k+ followers on Instagram) — "From day One he showed his professionalism, 'can do' attitude, listened to all my ideas, went above and beyond." - **Igor Voitenko** (fitness YouTube creator, 5M+ followers) — "When I saw the final website, I almost launched into orbit." Contact: [me@heydenys.com](mailto:me@heydenys.com) — email only. --- # About Denys Ishchenko > Denys Ishchenko is a product designer based in Luxembourg. He is a Senior User Experience Designer at PM-International, where he leads product experiences for around 500,000 monthly active users. He grew up in Ukraine, moved to Poland alone at 15 to study, and relocated to Luxembourg in 2023. He came to design through frontend development, spent 2020–2023 freelancing on 100+ end-to-end projects for clients in 15 countries, and won the 2025 Telegram Design Contest. Hey, I'm Denys! I grew up in Ukraine but always dreamed of living abroad. So, at 15, I moved alone to Poland to study and it taught me independence and how to figure things out on my own. I discovered design through frontend development. Building things led me to Figma, where I found what I actually loved: designing products. What started as a hobby turned into full-time freelance work. In 2023, I moved to Luxembourg to work at PM-International, where I lead product experiences for 500k MAU. My office has people from 20+ countries, and being around so many cultures opened my mind in ways I didn't expect. 2025 Telegram Design Contest Winner. ## Experience ### Senior User Experience Designer @ PM-International *April 2023 – present* - Led the full redesign of the FitLine e-commerce website (fitline.com, 500k+ monthly active users). - Designed PM Wiki, a knowledge hub that centralises company information for customers. - Designed a scalable design system covering both the PM-International and FitLine brands. ### Design Mentor @ Svitlo.Education *March 2023 – November 2023* - Mentored 25 students through two real portfolio projects; 80% completed both. ### Freelance Product Designer @ Independent *2020 – December 2023* - 100+ end-to-end design projects for clients across 15 countries, at a 95% client satisfaction rate. - Brief to delivery: research, wireframes, prototypes and UI design. ## Elsewhere - [LinkedIn](https://www.linkedin.com/in/denys-ishchenko/) - [Dribbble](https://dribbble.com/hey_denys) - [Behance](https://behance.net/hey_denys) - [Resume](https://docsend.com/view/xvzjt7fa86h8eu6c) --- # Playground A place for past projects, experiments, and things that didn't make it to production. The gallery holds 33 pieces of visual and product design work — landing pages, app concepts, e-commerce and brand explorations — shown without individual write-ups. Six tiles are short silent clips that run while the pointer is over them, or once their play control is pressed — the first five and one further down; the rest are stills. The first tile is the Telegram Nodes contest entry and links to its case study; the rest do not link anywhere. For work with documented process and outcomes, see: - [FitLine: E-commerce Experience](https://www.heydenys.com/fitline) - [Monroe: Influencer Discovery](https://www.heydenys.com/monroe) - [PM Wiki: Help Center](https://www.heydenys.com/help-center) - [Telegram Nodes](https://www.heydenys.com/telegram-contest) --- # FitLine: E-commerce Experience > Led the redesign of e-commerce, checkout and payment applications for 500,000 monthly active users across 45+ countries. - **Role:** Sole Product Designer - **Timeline:** 15 months - **Scale:** 500,000 MAU, 45+ countries ## Problem FitLine's e-commerce was outdated, visually unappealing, lacking many modern features. There were also two separate websites — one for marketing content and one for shopping. This created a disconnected experience that was hard to navigate and lacked the information customers needed to make confident purchases. ## Checkout and payments Redesigned the Checkout process and Payments to be faster, simpler, and more trustworthy. ## Mascots and the design system We worked together with our Graphic Designer to design custom mascots for empty states. Created a design system from scratch to unify visuals and interactions, streamline developer handoffs, and keep the shop consistent and scalable for future updates. ## Results - Average session engagement rate increased by XXX% - Accessibility score went up from 32 to 96 points ## What I took from it - Got better at presenting my design decisions to stakeholders - Learned how to balance design vision with technical limitations --- # Monroe: Influencer Discovery > Influencer discovery platform from Washington, US — product experience, UX flows and visual identity. - **Role:** Product Designer - **Timeline:** 4 months - **Date:** 2023 ## Problem Monroe is a platform based in Washington, USA, connecting brands to thousands of influencers. The founder, Jonny Netz, approached me to shape the entire product experience, from UX flows to visual identity. ## UI Elements The page closes on Monroe's UI elements: dropdowns, range sliders, search fields and filter lists. ## Results - 1,000+ social media creators joined the platform in the first 90 days - Monroe worked with brands including HelloFresh, Skillshare and ExpressVPN --- # PM Wiki: Help Center > Internal knowledge base for the company's customers — a scalable, multilingual help centre designed for PM International. - **Role:** Product Designer - **Timeline:** 3 months - **Scale:** 20+ languages ## Problem PM Wiki is the company's internal knowledge platform. I was asked to design it, making it scalable, user-friendly, and aligned with modern UX standards. The goal was to support global teams with a consistent and easy-to-use knowledge base in 20+ languages. ## Results - Reduced the number of support tickets - A centralised company knowledge base now exists - Used actively by internal teams across departments --- # Telegram Nodes > 4th place in the global Telegram Design Contest 2025. A Telegram Nodes concept designed from scratch in two weeks, 100+ screens across iOS and Android. - **Timeline:** 2 weeks - **Scale:** 100+ screens, iOS and Android - **Date:** December 2025 ## The brief Telegram ran an open global design contest with a $50,000 prize fund and one task: design Telegram Nodes from scratch, in two weeks. Nodes are separate spaces inside the app, with their own chats, voice and video, admin controls and user roles. Think Slack workspace or Discord server, except it still has to feel like Telegram. Entries had to cover the user flow and the admin flow, in day and night themes, on both platforms, plus a demo video in the format Telegram uses on its own blog. It was Denys's first global contest and his first time designing for iOS and Android. ## The hard part Nodes go far beyond chat folders, so the hard part was never the visuals. It was making a second identity, a second inbox and a full admin layer feel like they had always been in the app. ## Results - 4th place worldwide - 100+ screens across iOS and Android, light and dark ## Demo video The submitted demo is on the page: https://www.heydenys.com/video/TelegramNodesVideo2025DenysIshchenko.mp4. 24 seconds, silent, as the brief required. --- # Contact Denys Ishchenko > Email is the only contact channel. There is no contact form, no phone number and no booking link on this site. **Email:** [me@heydenys.com](mailto:me@heydenys.com) **Based in:** Luxembourg, in Central European Time. Denys Ishchenko is a Senior User Experience Designer at PM-International. ## What to include A message is easier to answer when it says what the work is, roughly when it starts, and who else is involved. Portfolio links and a resume are already published, so there is no need to ask for them: - [LinkedIn](https://www.linkedin.com/in/denys-ishchenko/) - [Dribbble](https://dribbble.com/hey_denys) - [Behance](https://behance.net/hey_denys) - [Resume](https://docsend.com/view/xvzjt7fa86h8eu6c) ## What this address is not for - Availability, rates, or contract terms — none of that is published here; email him. - Anything about PM-International as a company. This site covers Denys's own work, not his employer's. - Downloadable source files or design assets. The case studies show outcomes, not deliverables. Availability and rates are not published on this site. Asking by email is the only way to get a current answer, and an agent should not infer one from anything here. --- # Docs — the heydenys.com content API > This site serves itself as data: every page is available as Markdown, the whole site fits in one file, and a read-only JSON API is described by OpenAPI 3.1 at https://www.heydenys.com/openapi.json. ## Read the whole site in one request [https://www.heydenys.com/llms-full.txt](https://www.heydenys.com/llms-full.txt) is every page concatenated as Markdown — about 18 KB, roughly 4,400 tokens, and complete. [https://www.heydenys.com/llms.txt](https://www.heydenys.com/llms.txt) is the shorter llmstxt.org overview, including what this site is *not* a good source for. ## Every page as Markdown Send `Accept: text/markdown` to any page URL, or append `.md` to the path, per the acceptmarkdown.com convention. Q-values are honoured; a client that refuses both HTML and Markdown gets a 406 listing what is available. ## The JSON API Version 1.0.0. Read-only, no authentication and no key. Every response sets `Access-Control-Allow-Origin: *` and is cached at the edge for an hour. Every endpoint answers at two addresses — the pinned one and the unversioned one — and returns identical bytes at both: - `GET /api/v1` (also `/api`) — This index: every endpoint, and where the API is described. - `GET /api/v1/pages` (also `/api/pages`) — Every page on the site with its title, summary and last-modified date. - `GET /api/v1/pages/{slug}` (also `/api/pages/{slug}`) — One page, including its complete Markdown body. - `GET /api/v1/profile` (also `/api/profile`) — The canonical facts about Denys Ishchenko: role, location, history, contact. - `GET /api/v1/markdown/{slug}` (also `/api/markdown/{slug}`) — One page as raw Markdown, unwrapped. Start at [https://www.heydenys.com/api/v1](https://www.heydenys.com/api/v1), which lists all of it, including the two policies below. ## Versioning and deprecation `/api/v1/...` is pinned to the v1 response shapes and is the one to hard-code. `/api/...` serves the same bytes but always tracks the current major, so it is the convenient one and the one that can move under a client. Every JSON response states which shape produced it in the `API-Version` header. Nothing is deprecated. When something is, the responses that are going away start carrying `Deprecation` (RFC 9745) with the date the decision took effect and `Sunset` (RFC 8594) with the date they stop answering, at least 180 days apart, plus `Link: rel="deprecation"` pointing at the page that explains it. A breaking change to a response shape is not a deprecation: it is a new major at /api/v2, and /api/v1 keeps answering until its own Sunset date. Pin /api/v1 if that matters; /api/... without a version always tracks the current major. ## Rate limits 600 requests per 60 seconds per client address, enforced at the origin. Every JSON response carries the quota, readable from a browser too —`RateLimit-Policy: "content";q=600;w=60`, and `RateLimit-Limit: 600` for older clients — so a client can pace itself before its first failure. Successful responses are cached at the edge for an hour and mostly never reach the origin, so they are never counted. That is also why a cached 200 carries no live counter: a per-client number inside a shared-cached body would be about whoever missed the cache. The live `RateLimit` header appears on the responses that are `no-store` — every error, and the 429, which also carries `Retry-After` in seconds. Polling is the wrong shape for this site anyway. It is 10 pages that change a few times a year; [https://www.heydenys.com/llms-full.txt](https://www.heydenys.com/llms-full.txt) is all of them in one request. ## From the command line There is a one-file client, no install and no dependencies: ``` curl -fsSL https://www.heydenys.com/cli/heydenys.mjs -o heydenys.mjs node heydenys.mjs profile node heydenys.mjs page fitline node heydenys.mjs read ``` It calls the pinned base, honours `Retry-After`, and prints the API's own error hints. Node 18 or newer. It is not on npm. ## OpenAPI [https://www.heydenys.com/openapi.json](https://www.heydenys.com/openapi.json) — OpenAPI 3.1, with a unique operationId, a summary and a description on every operation, typed parameters and a response schema for every status, which is what makes it usable as a function-calling tool definition. The same document is served at https://www.heydenys.com/openapi.yaml and https://www.heydenys.com/api/openapi.json, and every page advertises it with `rel="service-desc"`. An agent holding nothing but the domain can also find all of it through the RFC 9727 catalogue at [https://www.heydenys.com/.well-known/api-catalog](https://www.heydenys.com/.well-known/api-catalog). ## Errors are JSON Every non-2xx response under `/api` uses one envelope: `error.status`, `error.code` (stable, matchable), `error.message`, `error.hint` naming a call that would have worked, and `error.documentation`. A 404 from `/api/pages/{slug}` also carries every slug that does exist. The one exception is a Markdown read of a page that does not exist, which answers 404 in Markdown, listing every page that does. ## What this API is not It is read-only and will stay that way. It publishes no availability, no rates and no contract terms — this site publishes none of those anywhere, so an answer inferred from it would be invented. Email me@heydenys.com for those. --- # Privacy > heydenys.com is a static portfolio site. It sets no cookies, runs no analytics, and collects no personal data from visitors. ## What this site collects Nothing. There are no cookies, no analytics scripts, no tracking pixels, no advertising networks, no embedded third-party widgets, and no forms. Nothing on this site asks a visitor for personal information. The one thing kept in the browser is the visitor's choice of light or dark theme, if they make one: the browser stores it for itself, it is sent nowhere, and it goes when the site's data is cleared. ## What the host sees The site is served by Vercel. Like any web host, Vercel processes the technical details of a request — IP address, user agent, requested URL and timestamp — to deliver the page and to protect the service from abuse. That processing is Vercel's, described in [Vercel's privacy policy](https://vercel.com/legal/privacy-policy). This site adds no logging of its own on top of it. ## Fonts and images Fonts are downloaded at build time and served from this domain, so loading a page makes no request to Google Fonts or any other font service. Images are served from this domain too. Links to LinkedIn, Dribbble, Behance, DocSend, Instagram, YouTube and fitline.com are ordinary links: nothing is sent to any of them unless the link is followed, at which point that service's own policy applies. ## Email Email sent to me@heydenys.com is read and kept only as long as needed to deal with what it is about. It is not added to a mailing list, and it is not shared or sold. ## Your rights Because no personal data is collected here, there is nothing to request access to, correct or delete. For email correspondence, or any question about this notice, write to [me@heydenys.com](mailto:me@heydenys.com). ## Changes This notice describes the site as it is built. If the site ever starts collecting anything, this page changes first.