[{"data":1,"prerenderedAt":164},["ShallowReactive",2],{"site-en":3,"work-en-calmea":28},{"site":4,"hasNotes":27},{"id":5,"contactIntro":6,"currently":7,"cv":16,"education":17,"email":18,"extension":19,"github":20,"linkedin":21,"meta":22,"name":23,"positioning":24,"stem":25,"__hash__":26},"site\u002Fsite.yml","Got a tricky problem? Send it my way.",[8,12],{"label":9,"detail":10,"href":11},"OWT","80%","https:\u002F\u002Fowt.swiss",{"label":13,"detail":14,"href":15},"Kymu","20%","https:\u002F\u002Fkymu.ch","\u002FStepan_Vedunov_CV.pdf","BA Interaction Design, ZHdK","stepan.vedunov@outlook.com","yml","https:\u002F\u002Fgithub.com\u002Fstepppen","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fstepan-v-0242b2226\u002F",{},"Stepan Vedunov","Interaction designer working between design and code.","site","8FZcVnaHxYGO3g9vOJm15-KQGCvJZMMcFg1L1uR-md8",false,{"entry":29,"next":161},{"id":30,"title":31,"body":32,"confidential":27,"context":97,"cover":98,"date":101,"description":94,"extension":102,"hero":103,"href":104,"keyVisuals":105,"links":108,"meta":112,"myRole":113,"navigation":117,"org":118,"outcome":119,"path":120,"quote":104,"reflection":104,"results":121,"role":132,"seo":133,"services":134,"status":138,"stem":139,"tags":140,"team":142,"tier":146,"timeframe":147,"tldr":148,"tools":153,"year":159,"__hash__":160},"work\u002Fwork\u002F2.calmea.md","Calmea",{"type":33,"value":34,"toc":93},"minimark",[35,82],[36,37,40,44,47,53,77],"cs-section",{"n":38,"title":39},"01","The app",[41,42,43],"p",{},"The app turns the night's signals into a few things you can read at a glance: a quality score, how long and how regularly you slept, and recommendations in plain words. Day, week and month views show the same night in context.",[41,45,46],{},"The same app runs the bed. You switch it on, set intensity and vibration, start a meditation programme and set your bed time.",[48,49],"cs-media",{"alt":50,"caption":51,"src":52},"The Calmea logo: a pill-shaped icon with closed sleepy eyes in an indigo-to-violet gradient, next to the wordmark.","The Calmea logo.","\u002FCalmea\u002Flogo.webp",[54,55,57,62,67,72],"cs-grid",{"cols":56},4,[48,58],{"alt":59,"caption":60,"src":61},"Calmea insights screen, week view: a sleep quality score of 87 out of 100, 82% sleep duration, 90% bed activity, and a consistency chart of bed times.","Weekly insights.","\u002FCalmea\u002Finsights.webp",[48,63],{"alt":64,"caption":65,"src":66},"Calmea summary screen: average time in bed, sleep quality, bed and wake-up times, and two recommendations.","Summary and recommendations.","\u002FCalmea\u002Fsummary.webp",[48,68],{"alt":69,"caption":70,"src":71},"Calmea bed operation screen: the bed is online, with sliders for intensity and vibration and a link to meditation mode.","Running the bed.","\u002FCalmea\u002Fbed.webp",[48,73],{"alt":74,"caption":75,"src":76},"Calmea meditation programmes: cards for rainforest, beach, mountains, rain, stress relief and sleep well, each with a duration.","Meditation programmes.","\u002FCalmea\u002Fmeditation.webp",[48,78],{"alt":79,"caption":80,"src":81},"A hand holding a phone with the Calmea insights screen, showing a weekly sleep quality score of 87.","The weekly sleep quality score, on the phone.","\u002FCalmea\u002Fin-hand.webp",[36,83,86],{"n":84,"title":85},"02","Where the data lives",[87,88],"cs-arch",{":branch":89,":nodes":90,"caption":91,"label":92},"{\"from\":2,\"title\":\"App\",\"detail\":\"A PWA in Vue and TypeScript, on Vercel.\",\"link\":\"HTTPS\"}","[{\"title\":\"ESP32\",\"detail\":\"In the bed. Sleep data, status and errors as output; commands as input.\",\"link\":\"MQTT\"},{\"title\":\"Mosquitto\",\"detail\":\"MQTT broker\"},{\"title\":\"Backend\",\"detail\":\"Render, EU hosting (Frankfurt)\",\"link\":\"HTTPS\",\"note\":\"PostgREST\",\"accent\":true},{\"title\":\"Database\",\"detail\":\"PostgreSQL on Supabase, EU hosting\"}]","The MVP setup, built for speed and testing. The bed and the backend talk over MQTT; the app reaches the backend over HTTPS.","Calmea's MVP architecture, from the bed to the app",{"title":94,"searchDepth":95,"depth":95,"links":96},"",2,[],"Calmea is a medical sleep-tracking platform from ETH's Sensory-Motor Systems Lab. I joined the lab for my civil service and owned its UX\u002FUI from concept to deployment.\n\nCalmea needs nothing on the body. A sensor module hidden in the bed frame reads heartbeat and breathing through the structure of the bed (ballistocardiography), and the room around it: temperature, humidity, air quality and light. From that it works out heart rate, breathing rate, sleep stages and movement, every night, with nothing to wear or charge.\n",{"src":99,"alt":100},"\u002FCalmea\u002Fshelf.webp","A phone on a wooden bed frame, showing the Calmea screen for setting a bed time.","Sep 2025 – Feb 2026","md",{"src":99,"alt":100},null,[106],{"src":81,"alt":79,"caption":107},"Weekly insights at a glance.",[109],{"label":110,"href":111},"calmea.com","https:\u002F\u002Fcalmea.com",{},[114,115,116],"Owned UX\u002FUI for the whole app.","Designed the app from 0 to 1, with visualised sleep data and control of the bed.","Planned the architecture and implemented it full-stack: Vue, FastAPI and PostgreSQL with real-time data.",true,"ETH Sensory-Motor Systems Lab","Contactless sleep tracking built into the bed. Worked on the UX\u002FUI and core development of the app.","\u002Fwork\u002Fcalmea",{"stats":122},[123,126,129],{"value":124,"label":125},"0 → 1","The app, designed and built",{"value":127,"label":128},"Full-stack","Vue\u002FTypeScript, FastAPI, PostgreSQL",{"value":130,"label":131},"Spin-off","Calmea has since become an ETH spin-off.","UX Engineer",{"title":31,"description":94},[135,136,137],"UX\u002FUI","data visualisation","full-stack","ETH spin-off","work\u002F2.calmea",[141,136,137],"health",[143,144,145,23],"Alexander Breuss","Manuel Fuis","Levin Engeli","featured","Sep 2025 – Feb 2026 (civil service)",{"problem":149,"role":150,"did":151,"outcome":152},"Sleep trackers have to be worn, charged and remembered. And they only see half the picture. Calmea measures sleep through the bed itself, with nothing on the body.","UX engineer at ETH's Sensory-Motor Systems Lab (civil service). I owned UX\u002FUI and development of the app.","Designed the app with sleep-data visualisation and bed control, planned the architecture, then built it full-stack: Vue and TypeScript, FastAPI, PostgreSQL, real-time data.","A fully functional app, ready for testing. Calmea has since become an ETH spin-off.",[154,155,156,157,158],"Figma","Vue","TypeScript","FastAPI","PostgreSQL","2025–26","Z4HKIVIdFzN-2qBq5WyqD78R7eD6cuj38sfGJBr0_8o",{"title":162,"href":163},"Alpha Factory®","\u002Fwork\u002Falpha-factory",1794319029596]