[{"data":1,"prerenderedAt":397},["ShallowReactive",2],{"ideas-index":3,"cv":48,"taxonomy":198},[4,17,29,37],{"path":5,"slug":6,"title":7,"summary":8,"date":9,"area":10,"topics":11,"kind":15,"maturity":16},"\u002Fideas\u002Ffunction-approximation","function-approximation","Machine learning is function approximation","A model is a function you cannot write down, so you build one out of simple parts and tune it until it fits. An interactive walk through the standard parts, and what each is good and bad at.","2026-10-16","ai",[12,13,14],"ml-fundamentals","math","explainers","research","budding",{"path":18,"slug":19,"title":20,"summary":21,"date":22,"area":23,"topics":24,"kind":27,"maturity":28},"\u002Fideas\u002Fleaving-jetbrains","leaving-jetbrains","Leaving JetBrains","My internship on MCP Steroid has ended. What I learned at JetBrains, who I learned it from, and what comes next.","2026-10-12","career",[25,26],"internships","developer-tools","linkedin","evergreen",{"path":30,"slug":31,"title":32,"summary":33,"date":34,"area":23,"topics":35,"kind":27,"maturity":28},"\u002Fideas\u002Fjoining-jetbrains","joining-jetbrains","Joining JetBrains","Starting in the Agentic Experience & Tools team, on MCP Steroid and local AI.","2026-06-17",[25,36,26],"llms",{"path":38,"slug":39,"title":40,"summary":41,"date":42,"area":43,"topics":44,"kind":27,"maturity":28},"\u002Fideas\u002Fsoqra-school-visit","soqra-school-visit","Taking Soqra to a classroom","A school visit with 10th graders, and what 93% of them said about learning maths with AI.","2026-05-11","startups",[45,46,47],"soqra","edtech","schools",{"id":49,"education":50,"experience":64,"extension":132,"meta":133,"profile":134,"skills":145,"stem":196,"__hash__":197},"cv\u002Fcv.yml",[51,58],{"id":52,"degree":53,"school":54,"start":55,"end":56,"note":57},"edu-1","BSc, Computer Science and Artificial Intelligence","Neapolis University Pafos","2025-10","2029-06","A program designed and delivered by JetBrains.",{"id":59,"degree":60,"school":61,"start":62,"end":63},"edu-2","Specialist degree (unfinished), Computer and Information Systems Security","Higher School of Economics","2021-09","2023-05",[65,78,93,105,115,124],{"id":66,"role":67,"org":68,"location":69,"start":70,"bullets":71,"areas":76},"exp-1","Full Stack Engineer","Soqra","Pafos, Cyprus","2026-02",[72,73,74,75],"Built Soqra, a full-stack AI-powered platform connecting students and teachers for maths problem solving.","Designed and implemented a real-time WebSocket API (FastAPI, Python) with a stop and cancel protocol, integrating the team's multi-step LangGraph pipelines (OpenAI) for hint generation, solution grading and LaTeX-formatted task creation.","Owned the whole frontend (Nuxt 4, Vue 3, TypeScript, Tailwind CSS), including a real-time chat UI with optimistic updates and a four-state machine, AI-assisted task generation, a criteria and scoring editor, and a teacher dashboard for classrooms and contests.","Worked end to end across the stack, including PostgreSQL schema design, async SQLAlchemy, REST and WebSocket API design, and reactive Vue composables.",[43,77],"engineering",{"id":79,"role":80,"org":81,"location":82,"start":83,"end":84,"bullets":85,"areas":92},"exp-2","Software Engineer Intern","JetBrains","Paphos, Cyprus","2026-06","2026-10",[86,87,88,89,90,91],"Worked on MCP Steroid in the Agentic Experience & Tools team, an official JetBrains incubator project that connects AI coding agents to JetBrains IDEs through the Model Context Protocol.","Shipped an IDE-side onboarding and configuration experience for devrig, with installation from the IDE settings, actionable notifications and setup paths for Claude Code, Codex, Gemini and other MCP clients.","Built shared cross-platform installation infrastructure in Kotlin for macOS, Linux and Windows, covering OS-specific launchers, path quoting, PowerShell fallbacks, cancellable background execution and coordination between concurrent installer processes.","Separated devrig installation from AI-agent registration, so no third-party configuration file is changed implicitly and every registration step is explicit and idempotent.","Designed a Claude Code marketplace plugin with MCP configuration, lifecycle hooks, setup, status, help and uninstall commands, and Gradle-based package and manifest validation.","Prototyped automatic project routing from MCP workspace roots, and hardened MCP and CLI boundaries with input validation and contract tests that keep schemas, documentation and behaviour from drifting apart.",[77,10],{"id":94,"role":95,"org":96,"start":97,"end":98,"bullets":99,"areas":104},"exp-3","Chief Technology Officer","Unchaind (formerly EXQ)","2024-03","2025-07",[100,101,102,103],"Grew a crypto analytics startup from inception to a team of 15, delivering trading tools.","Led cross-functional product teams of developers and designers, driving the roadmap and agile workflow through custom task tracking.","Built real-time analytics products, including a live spot arbitrage bot and a whale tracker, and optimised data pipelines to process more than 500 million events a day with sub-second latency using Deno and TypeScript.","Designed the infrastructure (MongoDB, cloud servers) for 99.9% uptime under high-frequency trading load.",[43,77],{"id":106,"role":107,"org":108,"start":109,"end":110,"bullets":111,"areas":114},"exp-4","Frontend Web Developer","SMS Aero","2022-04","2024-04",[112,113],"Led frontend development for smsaero.ru (Nuxt 2), working with the backend teams on API integrations.","Delivered responsive UI and UX improvements.",[77],{"id":116,"role":117,"org":118,"start":119,"end":120,"bullets":121,"areas":123},"exp-5","Frontend Developer","GetGo","2020","2022",[122],"Built Vue.js and Nuxt applications for enterprise clients, focused on performance and cross-browser compatibility.",[],{"id":125,"role":126,"org":127,"start":128,"end":119,"bullets":129,"areas":131},"exp-6","Freelance Frontend Developer","Freelance","2017",[130],"Designed and deployed more than 20 client websites with modern JavaScript frameworks.",[],"yml",{},{"name":135,"headline":136,"location":82,"summary":137,"links":138},"Grigory Gulyuk","Software engineer, AI tooling and full-stack products","Software engineer working on AI tooling and full-stack products. Until October 2026 I was a software engineer intern at JetBrains, on MCP Steroid, an official JetBrains incubator project that connects AI coding agents such as Claude Code, Codex and Gemini to JetBrains IDEs through the Model Context Protocol. My work there spanned the IntelliJ Platform plugin, the Kotlin-based devrig CLI and MCP server, cross-platform installation flows and automated testing. Alongside it I work as the full-stack engineer at Soqra, an AI-powered platform for mathematics education: a real-time backend with FastAPI, Python and PostgreSQL, and a frontend with Nuxt 4, Vue 3 and TypeScript. I study Computer Science and Artificial Intelligence at Neapolis University Pafos, in a program designed and delivered by JetBrains. I like working close to the product, where backend architecture, developer tooling, AI systems and user experience come together, and I am looking for my next internship.",[139,142],{"label":140,"url":141},"LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fgulyuk",{"label":143,"url":144},"GitHub","https:\u002F\u002Fgithub.com\u002FBraindeadDogge",[146,156,166,179,188],{"id":147,"group":148,"items":149,"areas":155},"skills-ai","AI tooling",[150,151,152,153,154],"Model Context Protocol","Claude Code plugins","LangGraph","OpenAI API","agent contract testing",[10],{"id":157,"group":158,"items":159,"areas":165},"skills-tools","Developer tools",[160,161,162,163,164],"Kotlin","IntelliJ Platform","Gradle","cross-platform installers","test-first development",[77],{"id":167,"group":168,"items":169,"areas":178},"skills-back","Backend",[170,171,172,173,174,175,176,177],"Python","FastAPI","PostgreSQL","SQLAlchemy","REST","WebSockets","Deno","MongoDB",[77],{"id":180,"group":181,"items":182,"areas":187},"skills-front","Frontend",[183,184,185,186],"Nuxt","Vue 3","TypeScript","Tailwind CSS",[77],{"id":189,"group":190,"items":191,"areas":195},"skills-lead","Leadership",[192,193,194],"Technical leadership","roadmap planning","agile delivery",[43],"cv","-Ace7m26x6uLDSF7VwKPh171hsOKRSnhFkx6B6KLuqA",{"id":199,"areas":200,"extension":132,"meta":394,"stem":395,"__hash__":396},"taxonomy\u002Ftaxonomy.yml",[201,237,271,295,323,349],{"id":10,"label":202,"about":203,"topics":204},"AI & ML","How learning systems work. Explainers, experiments, papers and the maths underneath.",[205,208,212,215,219,223,226,229,233],{"id":12,"label":206,"about":207},"ML fundamentals","Loss, training, approximation and generalisation.",{"id":209,"label":210,"about":211},"deep-learning","Deep learning","Networks, architectures and training tricks.",{"id":36,"label":213,"about":214},"LLMs & agents","Language models, agents, MCP and prompting.",{"id":216,"label":217,"about":218},"evaluation","Evaluation","Metrics, benchmarks and how not to fool yourself.",{"id":220,"label":221,"about":222},"data","Data","Datasets, labelling, cleaning and synthetic data.",{"id":13,"label":224,"about":225},"Maths","The mathematics behind the models.",{"id":14,"label":227,"about":228},"Interactive explainers","Things you can play with to understand an idea.",{"id":230,"label":231,"about":232},"papers","Papers & reading notes","Notes on research papers and talks.",{"id":234,"label":235,"about":236},"ai-ethics","Responsible AI","Safety, ethics and using AI well.",{"id":77,"label":238,"about":239,"topics":240},"Engineering","Building software. Tools, web, backend and the craft around them.",[241,245,249,251,255,259,263,267],{"id":242,"label":243,"about":244},"web","Web & frontend","Nuxt, Vue, CSS and the browser.",{"id":246,"label":247,"about":248},"backend","Backend & APIs","Servers, databases and real-time systems.",{"id":26,"label":158,"about":250},"IDEs, command-line tools, plugins and workflows.",{"id":252,"label":253,"about":254},"infrastructure","Infrastructure","Hosting, deploys, DNS and CI.",{"id":256,"label":257,"about":258},"testing","Testing & quality","Tests, reviews and reliability.",{"id":260,"label":261,"about":262},"architecture","Architecture","Design decisions and their trade-offs.",{"id":264,"label":265,"about":266},"design-engineering","Design engineering","Interaction, motion, accessibility and craft.",{"id":268,"label":269,"about":270},"open-source","Open source","Contributing, maintaining and licences.",{"id":43,"label":272,"about":273,"topics":274},"Startups","Building companies and products, including Soqra.",[275,277,281,284,288,291],{"id":45,"label":68,"about":276},"The AI maths-learning platform I build.",{"id":278,"label":279,"about":280},"product","Product","Deciding what to build, and shipping it.",{"id":46,"label":282,"about":283},"EdTech","Technology for teaching and learning.",{"id":285,"label":286,"about":287},"user-research","User research","Pilots, interviews and feedback.",{"id":289,"label":190,"about":290},"leadership","Running a team and setting technical direction.",{"id":292,"label":293,"about":294},"lessons","Lessons learned","What worked and what did not.",{"id":296,"label":297,"about":298,"topics":299},"education","Education","Teaching, studying and how people learn.",[300,304,308,312,316,319],{"id":301,"label":302,"about":303},"teaching","Teaching & mentoring","Explaining things to other people.",{"id":305,"label":306,"about":307},"university","University life","Studying computer science and AI.",{"id":309,"label":310,"about":311},"courses","Courses & lecture notes","Notes from courses and lectures.",{"id":313,"label":314,"about":315},"learning-methods","Learning methods","How to learn something well.",{"id":47,"label":317,"about":318},"Schools & students","Working with schools and young learners.",{"id":320,"label":321,"about":322},"edu-projects","Educational projects","Things built to teach or to learn.",{"id":23,"label":324,"about":325,"topics":326},"Career","Work, internships and growing as an engineer.",[327,330,334,338,342,346],{"id":25,"label":328,"about":329},"Internships","Joining, doing and leaving internships.",{"id":331,"label":332,"about":333},"job-search","Job search","Applications, interviews and offers.",{"id":335,"label":336,"about":337},"growth","Growing as an engineer","Skills, habits and feedback.",{"id":339,"label":340,"about":341},"hiring","Hiring","Building teams and picking people.",{"id":343,"label":344,"about":345},"remote-work","Remote work","Working across places and time zones.",{"id":347,"label":127,"about":348},"freelance","Working for yourself, and for clients.",{"id":350,"label":351,"about":352,"topics":353},"life","Life","Everyday life, places and personal notes.",[354,358,362,366,370,374,378,382,386,390],{"id":355,"label":356,"about":357},"cyprus","Living in Cyprus","Daily life on the island.",{"id":359,"label":360,"about":361},"relocation","Moving & paperwork","Visas, permits, registration and bureaucracy.",{"id":363,"label":364,"about":365},"travel","Travel","Trips, places and practical tips.",{"id":367,"label":368,"about":369},"food","Food","Eating, cooking and finding good places.",{"id":371,"label":372,"about":373},"language-culture","Language & culture","Languages, customs and getting along.",{"id":375,"label":376,"about":377},"habits","Habits & productivity","Routines and ways of working.",{"id":379,"label":380,"about":381},"books","Books & reading","What I read and what I took from it.",{"id":383,"label":384,"about":385},"health","Health & fitness","Sport, sleep and looking after yourself.",{"id":387,"label":388,"about":389},"photography","Photography","Photos and how they were made.",{"id":391,"label":392,"about":393},"reflections","Reflections","Looking back, and thinking out loud.",{},"taxonomy","c1dIUIk6i1C1zpNiqOSnxhh6ZPIoFknBQAT2YuXI5tI",1792185891658]