Skip to content
article

A normal workday in Kyiv during blackouts, hour by hour (with my power setup)

Generator, two power banks, Starlink, and a Danish team that learned to read my status emoji

Oleksii Bondarenko@oleksii_kyiv

June 13, 2026 · 5 min read

Few people asked after my air raid deploy post how a normal day looks. So here is one. Not the worst day, not the best. Tuesday. I work remote for a Danish company, Go and Postgres, team of 6. Kyiv is one hour ahead of Copenhagen, which is the only easy part.

06:40

Wake up, before coffee I check the outage schedule in the energy company app and in our district Telegram channel. Kyiv is split in groups, my building is group 3. Today schedule says power until 10:00, then off until 14:00, then on, then off again in evening. Schedule is a suggestion. After a big attack, schedule is fiction.

07:00

Coffee while there is power. Everything with a battery goes on charge. Laptop, both power banks, headphones, phone, the power station, the head torch. This is a reflex now, like checking you have keys.

07:30 to 10:00

Heavy work while grid is on. This is the main trick of the whole post: do expensive things when power is cheap. Docker builds, pulling images, running full test suite, big git operations, updates. On battery I only write code and review.

10:00, power off

Lights go. Fridge stops. Router does not even blink, because router and fiber terminal (ONT) are on a small DC UPS, 12V output. Cost me around 30 dollars, it is the best 30 dollars I ever spent. Our fiber provider has batteries on their side too, so fiber usually lives for some hours. Laptop switches to battery, monitor goes to the power station (1 kWh, LiFePO4).

Laptop plus 27 inch monitor is around 60-70 W. So in theory 14 hours, in practice 10 because of inverter loss. Without monitor much longer, so when it is long outage I work on laptop screen only and feel old.

11:00, standup

Camera on if fiber is alive, camera off if I am on LTE. My team knows the emoji protocol, which I wrote once in our channel and never had to explain again:

  • 🟢 grid power, full speed, normal me
  • 🟡 on battery, I answer slower, no big calls
  • 🔴 air raid alert, maybe offline, do not wait for me

I even automated the first two, because I forgot to change it all the time. Small script on cron every 2 minutes:

#!/usr/bin/env bash
# tell the team when I switch between grid and battery
STATE_FILE="$HOME/.power_state"
AC=$(cat /sys/class/power_supply/AC/online 2>/dev/null || echo 1)
PCT=$(cat /sys/class/power_supply/BAT0/capacity)
if [ "$AC" = "1" ]; then NOW="grid"; else NOW="battery"; fi
[ "$NOW" = "$(cat "$STATE_FILE" 2>/dev/null)" ] && exit 0
echo "$NOW" > "$STATE_FILE"
if [ "$NOW" = "grid" ]; then MSG="🟢 power back, full speed"; else MSG="🟡 on battery ($PCT%), slower replies"; fi
curl -s -X POST -H 'Content-type: application/json' \
  --data "{\"text\":\"oleksii: $MSG\"}" "$SLACK_WEBHOOK_URL" > /dev/null

Check ls /sys/class/power_supply/ first, on my ThinkPad it is AC, on other laptops it is ACAD or ADP1.

12:30, alert

Phone screams. I check monitoring channels what is flying and where. If it is drones far away, I stay and move to corridor (two walls rule). If it is missiles, I go to shelter in the basement of the next building with laptop and one power bank. I posted 🔴, nobody asked anything. Once I did a code review from the shelter, sitting on a child's chair. The review was very short and very honest.

14:00, power back

Charge order: power station first, then laptop, then everything else. Then all the heavy things I postponed. Pull, build, push. Small commits all day, by the way: if laptop dies, I lose 10 minutes, not a day.

The generator and Starlink

Our building has a shared generator downstairs that runs elevator and stairs light during outages. I have a small inverter generator too, it lives outside, never inside, I will not die from carbon monoxide after surviving all of this. Starlink is the last resort: it eats 50-70 W, so it only goes on when fiber and LTE are both dead, which happens after big attacks on infrastructure.

Evening

Second outage. Dinner by head torch. If night is loud, we sleep in corridor. My Danish manager once asked how I sleep. I said "in corridor, quite well actually". He moved the next morning meeting without me asking.

Laptop glowing in a dark room

(not my photo, but exactly my evening mood)

What I learned, short version

  1. Expensive work when grid is on. Writing code is cheap, building it is expensive.
  2. Vendor your dependencies. go mod vendor and the build does not care if the module proxy is reachable.
  3. Small commits, push often.
  4. 12V DC UPS for router and ONT. Check what voltage your ONT wants.
  5. Explain your protocol to the team once, clearly, then never apologise again.
  6. LiFePO4 power station, not cheap lithium one. Many more cycles, and you will do many cycles.

That's it. A normal Tuesday. Postgres was fine. I was mostly fine)))

Written by

Oleksii Bondarenko

Backend dev, Go and Postgres. Kyiv, still here. Generator, two power banks, Starlink, coffee. Remote for a Danish company. Не здаємось.

Get the best of #remote_life weekly

One email each Monday with the most useful posts. No spam; unsubscribe in one click.

Comments

36

Sign in to join the conversation.

Sign in to comment
Marta Kovalenko@marta_osint3 rep in Remote Life
Олексію, світла тобі. Saving this for my parents too, they still do everything by intuition.
12 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
Дякую) intuition also works, but spreadsheet works better
10 net votes
Jessica Tan@nomad_jess#4 in Remote Life
this is the most useful remote work post on here and it's not even close. the status emoji protocol is genius, stealing it for my team (we only have typhoons, not... this). stay safe 🙏
12 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
typhoon is also not a joke. emoji protocol works for everything)
6 net votes
Nguyễn Minh Hiếu@homelab_hieu4 rep in Remote Life
what does the power station power exactly, just laptop and monitor? how long does it actually last you
24 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
laptop, monitor, sometimes kettle if I am brave. 10 hours with monitor in practice. without monitor I stopped measuring, more than outage lasts
10 net votes
Sam Whitaker@segfault_sam2 rep in Remote Life
i complain when my wifi drops for 10 seconds. going to sit quietly now 💀
17 net votes
Karl Lindqvist@kernel_karl2 rep in Remote Life
The vendor advice is underrated. go mod vendor plus GOFLAGS=-mod=vendor and the build never touches the network. Same for C: we ship the tarball with everything in it for exactly this reason.
8 net votes
Rohit Verma@rohit_codes1 rep in Remote Life
bhai respect 🙏 we cry when light goes for 2 hours in Noida summer. stay safe
14 net votes
Wolfgang Engel@dsgvo_wolf1 rep in Remote Life
Respect. I would like to ask what your Employer contributes. In Germany I would expect the employer to pay for the power station as work equipment.
12 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
they paid half of Starlink and half of station. and they move meetings without question, which is maybe more valuable. Danes are good people
10 net votes
Matt O'Brien@pi_tinker_matt1 rep in Remote Life
lovely little script. one thing for anyone copying: the AC path really is different on lots of laptops, on my framework it's ACAD. ls the power_supply folder first like he says
17 net votes
Trey Robinson@techwithtrey2 rep in Remote Life
which power station brand? asking for my outage prone Atlanta summers (I know, not the same thing at all)
9 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
any LiFePO4 from known brand, EcoFlow, Bluetti, Anker, all of them are in Kyiv shops. LiFePO4 because it lives thousands of cycles. cheap NMC one died for my neighbour after one winter
7 net votes
Lena Hoffmann@arch_btw_lena1 rep in Remote Life
tlp plus powertop --auto-tune bought me a lot of battery on my thinkpad. try it if you haven't
11 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
powertop I use, tlp not. will try, thanks)
12 net votes
Oluwatobi Adeyemi@tobi_freelance13 rep in Remote Life
Omo. Generator, inverter, UPS for the router, two networks. Same toolkit as Lagos minus the air raids. Respect brother. The "explain the protocol once and never apologise again" part is gold for anybody working remote from unstable power.
17 net votes
Achieng Owino@achieng_devrel#1 in Remote Life
Saving this for a thread on designing for unreliable power. Resilience is a product decision, not only a hardware purchase. Pole sana, stay safe.
14 net votes
Bartek Wójcik@bartek_gamedev1 rep in Remote Life
Read this to my team at standup. Nobody complained about commute after. Trzymaj się
3 net votes
Freya Collins@freya_bristol2 rep in Remote Life
Out of curiosity, do the groups get rotated fairly? The grid nerd in me wants to know how the schedules are built.
11 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
in theory they rotate so everybody gets same hours. in practice after big attack the whole plan is gone and they do emergency cuts. hospitals and critical stuff are on separate lines
7 net votes
Nikhil Sharan@nikhil_twopointers1 rep in Remote Life
Shared this with my students who tell me they cannot study because of power cuts. Not to shame them, only to show what planning around a constraint looks like. Stay safe Oleksii.
12 net votes
Rafiul Islam@rafi_dhaka#9 in Remote Life
the status emoji thing, we wanted something similar in July 2024 except we couldn't post anything because there was no internet at all. stay safe brother
8 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
no internet at all is worse. power you can buy in a box, internet not
12 net votes
Lindiwe Mokoena@loadshedding_lindi3 rep in Remote Life
ja no, this is my life with Eskom except nobody is shooting at us. the DC UPS for the ONT is the best tip here, everyone in Joburg has one. one add: check the amps too, some ONTs want 12V 1A, some want 2A and the cheap UPS just browns out
11 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
yes good add. mine is 12V 1A, I measured with USB meter before buying
7 net votes
Elin Sjöberg@elin_pm11 rep in Remote Life
Sending this to our whole remote team. We have a contractor in Kharkiv and I never asked how her days look. I will now.
11 net votes
Iryna Melnyk@iryna_qa1 rep in Remote Life
Дякую, Олексію. In Lviv we have it lighter, but same app, same schedule anxiety)
16 net votes
Hiba Osman@hiba_dxb3 rep in Remote Life
My family in Port Sudan does a version of this with one solar panel and a single phone. The protocol idea is so simple and so humane. Stay safe ya Oleksii.
11 net votes
Oleksii Bondarenko@oleksii_kyiv#3 in Remote Life
thank you. Sudan is not in news enough. stay safe your family
6 net votes
Davide Rinaldi@davide_actually1 rep in Remote Life
Very sad to read. But the war could finish tomorrow if the West stop sending weapons and everybody sit at the table. Who benefits from continuing? Ask yourself.
9 net votes
Marta Kovalenko@marta_osint3 rep in Remote Life
Davide, the war could finish tomorrow if Russian army goes home. Oleksii wrote about his Tuesday. Please not here.
6 net votes
Jussi Laaksonen@jussi_ops1 rep in Remote Life
You do not live next to it.
13 net votes
Grace Wanjiru@grace_wanjiru3 rep in Remote Life
Kindly stay safe. Sharing with my mentees, the small commits habit applies to everyone, power or no power.
17 net votes
Tomasz Kowalski@tomasz_k1 rep in Remote Life
We have Ukrainian colleague in Kraków who works like this for her family back home, remotely managing their generator. Respect. Also good bash, no useless cat.
7 net votes
Dmytro Savchenko@dima_flutter1 rep in Remote Life
Same in Odesa. 12V UPS for router saved my client calls many times)
14 net votes