Вся жизнь на одной картинке
Вся жизнь на одной картинке

Всем привет! У человека в среднем около 4000 недель жизни. Четыре тысячи. Если нарисовать каждую неделю как маленькую клеточку — вся ваша жизнь поместится на один экран. Вот прям вся. От рождения до смерти. Мне 37 — значит примерно 1900 клеток уже закрашены, а оставшиеся… ну, это мы ещё посчитаем.

Эта концепция не моя и не новая — но на днях она всплыла в одном бизнес‑чате. Товарищ скинул скриншот из бота который как раз рисует такой grid. Закрашивает прожитые недели, оставляет пустые те что впереди. Красиво, минималистично, грустно. И я спросил: «А тебя это не тревожит?»

Тот самый скриншот из бота
Тот самый скриншот из бота

Потому что у меня такие штуки вызывают именно неврозность. Смотри — ты получаешь ровно один сигнал и он негативный. Осталось мало. Прошло много. Тик‑так. Не знаю как у вас, но у меня от этого не мотивация появляется, а скорее лёгкая паника. Вазы с шариками из которых каждый день вынимаешь один, календари с крестиками, обратные отсчётики — всё одно и то же. Тебе показывают что уходит, но не показывают что ты сделал.

И я подумал — может проблема в том, что нет позитивного подкрепления? Я хочу видеть не только сколько прошло и сколько осталось в лучшем случае, но и что хорошего я сделал. Чтобы прожитые клетки были не «потрачено», а «сделано».

Меня зовут Илья, я блогер, основатель сервиса для генерации изображений ArtGeneration.me и просто фанат нейросетей. То что я не разработчик — звучит всё менее убедительно, поэтому скажу иначе: я не разработчик в традиционном понимании этого слова. Я действительно разрабатываю, но делаю это с помощью нейросетей. А 20 лет в роли PM и продакта дают достаточно навыков чтобы вайбкодить — не боюсь этого слова — более‑менее разумно. И вот за последние полгода у меня не прошло ни дня без коммита в GitHub. Буквально каждый день. И тут щёлкнуло — у GitHub ведь уже есть contribution graph, похожая зелёная сетка в профиле. А что если совместить? Взять эти клеточки жизни и закрасить их не «прожил», а «закоммитил»?

Через полчаса я уже думал как разместить 4000 ячеек в браузере и не повесить его. Оказалось — не так чтобы очень просто.

❯ 4000 недель — откуда вообще эта идея

Концепцию «Your Life in Weeks» придумал не я. Её популяризировал Tim Urban в своём блоге WaitButWhy в 2014 году. Пост простой: берём среднюю продолжительность жизни в 90 лет, умножаем на 52 недели — получаем примерно 4680 клеток. Рисуем их сеткой. Одна клетка — одна неделя. И вот ваша жизнь.

Оригинальная визуализация из WaitButWhy - каждая точка это одна неделя жизни
Оригинальная визуализация из WaitButWhy — каждая точка это одна неделя жизни

Пост стал вирусным, и не спроста. Есть что‑то пугающе отрезвляющее в том чтобы увидеть всю свою жизнь целиком. На одной картинке. Особенно когда половина уже закрашена. Тим нарисовал ту же сетку для разных периодов — сколько недель ты уже провёл в школе, сколько осталось до пенсии, сколько твоим родителям. Каждая версия бьёт по‑своему.

Рабочего времени не так уж и много, если учесть юность
Рабочего времени не так уж и много, если учесть юность

С тех пор появилась куча мутаций. Постеры на стену, боты в телеграме, мобильные приложеня, даже физические штуки с шариками и песочницами. Идея одна и та же, обёртки разные.

И у всех одна проблема. Они показывают только расход. Клетка закрашена — неделя прошла. Точка. Никакой разницы между неделей когда ты запустил проект и неделей когда лежал на диване. Обе одинаково «потрачены».

Я вообще человек тревожный. И мне не нужно каждый день напоминание о смерти. Серьёзно. У меня от таких штук не появляется желание «ценить каждый момент» и «жить на полную». У меня появляется желание всё бросить и ничего не делать, потому что какой смысл если всё равно всё конечно. Знакомо? Если нет — вам повезло. А если да — вы понимаете зачем я полез делать свою версию.

❯ 4000 клеточек в браузере — не так просто как кажется

Ок, идея есть — берём сетку жизни и накладываем GitHub‑коммиты. Звучит просто. Вбил username, получил данные из API, нарисовал клеточкии. Что может пойти не так?

Ну, для начала — попробуйте нарисовать 4000 элементов так, чтобы они все помещались на экран, были различимы, не тормозили и при этом хорошо выглядели на мобилке. Я серьёзно, попробуйте. Это 52 столбца на 80 строк. На десктопе ещё ладно — 8 пикселей на клетку, всё влезает. А на телефоне? 5 пикселей, и ты крутишь размеры туда‑сюда пытаясь найти баланс между «вижу отдельные клетки» и «вижу общую картину».

Сетка GitLife - каждая зелёная клетка это неделя когда ты коммитил
Сетка GitLife — каждая зелёная клетка это неделя когда ты коммитил

Потом цвета. Казалось бы — возьми зелёный и покрась. Но у GitHub пять уровней интенсивности, и они разные для тёмной и светлой темы. И если ты хочешь чтобы это выглядело как настоящий contribution graph а не как самоделка — приходится подбирать. Текущую неделю я подсветил рамкой — чтобы было видно где ты сейчас находишься на этой карте. Такой маркер «вы здесь». Добавил переключатель масштаба — недели, месяцы, годы. На неделях видно детали, на годах — общую картину жизни. Крутил это всё наверное дольше чем саму логику писал, потому что хотелось чтобы было не просто функционально, а чтобы хотелось туда возвращаться.

Отдельная история — как это работает без регистрации. Вбиваешь любой GitHub username в поиск — и сразу видишь результат. Никаких логинов, никаких форм. Хочешь чтобы учлись приватные коммиты — тогда да, залогинься через GitHub. Заодно профиль сохранится и попадёшь в лидерборд.

Стек для тех кому интересно: Next.js 16Better Auth для GitHub OAuth, Neon Postgres + Drizzle ORMshadcn/ui v4Tailwind v4next‑intl на 7 языков. Без рекламы, без трекинга.

❯ Сколько тебе осталось — считает наука, не я

Ладно, сетка есть, коммиты наложены. Но сколько клеток рисовать‑то? До какого возраста? Средний по стране? Мне стало интересно — а можно ли посчитать точнее?

Оказалось — можно. Есть куча исследований которые считают как разные факторы влияют на продолжительность жизни. Не гадалки, не гороскопы — рецензируемые научные работы с выборками в сотни тысчя человек. Я собрал 21 такой фактор и сделал из них калькулятор. Каждый фактор ссылается на конкретную публикацию с DOI — можете проверить каждую цифру.

Вот что учитывается

Курение — бросил до 40 лет? Снизил лишнюю смертность на ~90%. Куришь сейчас? Минус 11 лет. (Jha P. et al., NEJM 2013)

Алкоголь — «безопасной дозы» не существует. Тяжёлое употребление — минус 7 лет. (GBD 2016, Lancet 2018)

Физическая активность — 150 минут в неделю умеренной нагрузки добавляют ~3.4 года. (Arem H. et al., JAMA 2015)

Сон — и слишком мало и слишком много ассоциируется с повышенной смертностью. Золотая середина — 7–8 часов. (Cappuccio F. et al., Sleep 2010)

Диета — средиземноморская диета: +4-6 лет. (Sofi F. et al., BMJ 2008)

Социальные связи — и вот тут мой любимый факт. Социальная изоляция сопоставима с выкуриванием 15 сигарет в день. Пятнадцати. Одиночество буквально убивает. (Holt‑Lunstad J. et al., PLoS Med 2010)

Стресс — хронический стресс увеличивает смертность от сердечно‑сосудистых на 40%. (Kivimaki M. et al., BMJ 2012)

Образование — разница между средним и высшим образованием ~4 года. (Hummer R. & Hernandez E., Demography 2013)

Семейное положение — брак ассоциируется с +2.5 года. (Roelfs D. et al., Soc Sci Med 2011)

Давление, депрессия, сидячий образ жизни, оптимизм, наличие цели в жизни, загрязнение воздуха, диабет, BMI, семейная история, хронические заболевания — ещё 12 факторов, каждый со своим DOI.

И отдельно — кофе. 2–3 чашки в день ассоциируются со сниженной смертностью. Да‑да, кофе вам не враг. (Loftfield E. et al., JAMA 2018)

А ещё — оптимизм. Высокий уровень оптимизма ассоциируется с увеличением продолжительности жизни на 11–15%. (Lee L. et al., PNAS 2019). Так что пессимизм — это не только неприятно, это ещё и статистически вредно для здоровья. Такие дела.

Базовая продолжительность жизни берётся из данных World Bank по 217 странам. Россия, кстати, не самая оптимистичная в этом списке. Сверху накладываются модификаторы от ваших ответов — ограничены ±25 лет от базы, чтобы калькулятор не выдавал совсем уж безумнеы цифры.

Мопед не мой — я просто собрал калькулятор к научным работам. Если не согласны с цифрами — претензии к британским учёным. Ну, не ко всем британским, там и американские, и шведские, и много каких. Но вы поняли. А если серъёзно — исправьте калькулятор и закоммитьте, обновлю. Придумаете алгоритм лучше — отлично. Это же опенсорс.

❯ Торвальдс — машина, а я нет

Когда сетка заработала — я первым делом вбил Торвальдса. Ну а кого ещё? И знаете что — у человека серия 794 недели коммитов без перерыва. Семьсот девяноста четыре. Это больше 15 лет без единой пустой недели. Каждую неделю что‑то коммитил. Каждую. Вы представляете? 11 618 коммитов, ни одного пропуска. Человек создал Linux и Git, ему 55 лет — и он до сих пор не останавливается.

Linus Torvalds - 758 недели подряд без единого пробела
Linus Torvalds — 758 недели подряд без единого пробела

Я собрал 30 известных разработчиков. Создатели Linux, Vue.js, Redis, Node.js, Svelte, Docker, Terraform — можно открыть каждого на сайте и посмотреть сетку со статистикой. У Sindre Sorhus (1000+ npm‑пакетов) — 775 активных недель и серия в 691 неделю подряд, 10 009 коммитов. Почти как Торвальдс. У Evan You (Vue.js, Vite) — 679 активных недель, 9705 коммитов. У Rich Harris (Svelte) — 682 активных недели и 10 265 коммитов. У Salvatore Sanfilippo (Redis) — 654 активных недели, 10 477 коммитов, но самая длинная серия всего 47 недель — и на графике чётко видно момент когда он передал проект, зелёное просто обрывается.

Создатель FFmpeg почти не пользуется гитхабом
Создатель FFmpeg почти не пользуется гитхабом

Но не все так активны — по крайней мере в гите. Есть и золотые лентяи среди знаменитостей. Хотя может они просто используют другие системы вместо GitHub, или коммитят в приватные репозитории которые мы не видим. У Dan Abramov (React) например всего 55 активных недель и 568 коммитов на GitHub. Brendan Eich создал JavaScript за 10 дней, а в GitHub у него — скажем, скромно. Не значит же что человек ничего не делает.

В лидерборде можно сравнить себя с легендами и другими пользователями. По длине серии, по активным неделям, по коммитам. Залогинился — попал в рейтинг.

❯ Экзистенциальный кризис как фича

Тема сложная. Мне 37 лет, и я до сих пор не уверен что понял и принял одну простую вещь — в лучшем случае осталась половина. В лучшем. А калькулятор мне выдал 57. Базовая для России — 68, а у меня минус 11.5 лет сверху. BMI забрал сразу 8 лет. Физическая активность — минус 3. Сидячий образ жизни — ещё минус 2. Стресс, оптимизм, курение, давление, депрессия — по минус единичке‑полторе каждый. И вот ты смотришь на этот список и думаешь — ну ладно, спортом мне надо заняться, это я и так знал. Но что BMI настолько бьёт — я честно не ожидал.

Мои результаты. 57 лет. Есть над чем работать
Мои результаты. 57 лет. Есть над чем работать

Смотришь на свою сетку и видишь — у ровесников‑разработчиков в 2–3 раза больше активных недель. Или выше продолжительность жизни. Не то чтобы это было откровение. Я и сам всё знал и понимал. Но одно дело знать, а другое — сравнить с Торвальдсом.

Наверное этот пет‑проект — мой способ договориться с мыслью что всё конечно. Не спрятать её, не заглушить, а посмотреть ей в лицо и спросить — ок, и что я собираюсь с этим делать?

Я не знаю правильного ответа. Но мне стало спокойнее когда я перестал считать пустые клетки и начал смотреть на заполненные. Это не мотивационный плакат и не терапия — просто другой угол зрения. Который лично мне помогает не скатываться в «всё бессмысленно».

Так что питание и активность — это то что мне надо подтянуть. Если хочу оставить побольше зелёных клеточек.

❯ Что ещё можно сделать

GitLife сейчас работает только с GitHub. Но идея‑то шире — видеть каждый день который был полезен. Не важно где именно ты был полезен.

Подключить GitLab, Bitbucket — чтобы видеть всю свою активнсоть, а не только то что на GitHub. Прикрутить таск‑трекеры — Jira, Linear, Notion — каждая закрытая задача это тоже полезный день, даже если ты ни строчки не закоммитил. А может быть даже совместить с трекером эмоций. Представляете как классно было бы видеть дни когда вы были счастливы в жизни? Не продуктивны, не полезны — а именно счастливы. На той же сетке, рядом с коммитами.

Вообщем идея действительно крутая и из неё можно вытащить гораздо больше чем я успел сделать. Давайте вместе что‑то из неё может быть сделаем. Знаменитые разработчики, переводы, факторы здоровья — всё обычный JSON. Форкни, поправь, пришли PR. Или просто зайди и сравни себя с Торвальдсом. Тоже полезно. Для смирения. Ну и звёздочку на GitHub поставьте, чтобы мои зелёные клеточки были не бесполезны.

Я рассказываю больше о нейросетях и автоматизации у себя в YouTube, в Телеграме и на Бусти. Всех обнял и удачных комитов.

Комментарии (10)


  1. Gedeonych
    28.04.2026 20:22

    Вот так вот живёт себе, живёт человек. Считает клеточки, прикидывает проценты... А потом просто идёт по улице падает и умирает. И нет, даже не сосулька с крыши, не пьяный водитель, и не ещё что-то. А вот просто падает и умирает. Будем ещё считать? *с грустью. Спасибо за статью, было занимательно.


  1. gerbert_MX
    28.04.2026 20:22

    круто но остановило что нужно авторизоваться в гитхабе

    было бы лучше если бы можно было просто указать ссылку на профиль и получить картинку

    в наш век торговли информацией, нет желания авторизоваться где попало с живого гитхаба, даже для "простой аналитики"


    1. timonin Автор
      28.04.2026 20:22

      Так именно так и можно, просто не рассчитает продолжительность тогда.


  1. DmitryKolosov
    28.04.2026 20:22

    Календарик-пинарик Дмитрия Литвака (2001 г.)


    1. timonin Автор
      28.04.2026 20:22

      Про этот вариант не слышал, получается он был самым первым =)


  1. gravitytimewheel
    28.04.2026 20:22

    а зачем считать хвост после 60 когда мозг заметно деградирует и коммитить уже не получится, прожить еще подольше овощем глядя на то как жизнь ускользает, это та еще пытка, в среднем инженер или ученый продуктивно живет до 50, потом это обочина, так что надо строить стратегию так что бы потом был чем заняться, уметь выйти на пенсию и радикально поменять все. еще есть вариант каждому искать путь как победить старость, мы же инженеры а в этой Вселенной все возможно если кто не понял


    1. woodiron
      28.04.2026 20:22

      У меня пораньше, сначала исчезла многозадачность - лет так в 50, спустя ещё лет пять начала деградировать оперативка (краткосрочная память). Потом способность долго концентрироваться на задачах и тп. Тем не менее я живу и вполне нормально, просто знаю об ограничениях и учитываю их.

      А исходный недельный календарь жизни я постарался совсем выбросить из памяти, очень непозитивная вещь.


    1. MAT-POC
      28.04.2026 20:22

      Для этого можно завести бабу, чтобы она сделала твоих форков ~ 2-3 шт. (с бэкапами!). Можно, когда наступит деменция, просто сидеть и наблюдать за ними сидя на лавочке у подъезда. Они там как рыбки в аквариуме, будут суетится, вопросы решать, плавать туда сюда, гонятся друг за другом, отбирать корм друг у друга, хотя сверху им насыпят сколько надо чтобы не померли с голода. А я буду ждать когда они позвонят. Но так было раньше. Сейчас форкам звонить не обязательно.

      Сейчас можно просто на них подписаться и ставить лайки под каждым их постом.

      PS Перед глазами несколько людей 65/70+ которые ведут очень активную и продуктивную интеллектуальную жизнь. И живут они её на 99% для других. Самим им уже почти ничего не надо.

      Так что выход есть: Форки и альтруизм.


  1. for7raid
    28.04.2026 20:22

    Отличный способ автоматизации, как загнаться и довести себя до нервного срыва. Современное время - эпоха успешных успехов и достижения достижений, куда не погляди, все что-то происходит, только у меня одного - ничего. Хорошо, что я теперь могу это ещё и визуализировать и точно убедиться в своей некчемности. Тревожники будут просто в восторге.


  1. MAT-POC
    28.04.2026 20:22

    Вопрос к разработчику: насколько сложно сделать из него портативное приложение для ПК + прикрутить цели (бросить курить и начать пить кофе :-) )?