Разработка приложения для тренировок к походам: от идеи до кода. Узнайте, как планировать задачи и использовать ИИ. Начните свой проект!
Когда я бронировал поход по хижинам в Австрийских Альпах на 2025 год, я посмотрел на ежедневные расстояния, потом на набор высоты, и моей первой реакцией было: «О Боже».
Проблема в том, что раньше я работал рейнджером в парке. Поддерживать форму было не целью, а просто результатом работы. Потом я стал инженером-программистом, и теперь работа делает обратное. Сейчас, когда я хочу пойти в большой поход, мне приходится тренироваться. Для моего тела это новая информация, и оно не в восторге.
Я не люблю платить за абонемент в спортзал. Я люблю выходить из дома и исследовать свой район. Это чувство открытия — большая часть того, почему мне подходила работа рейнджера, и главная причина, почему я хочу увидеть больше мира. Но у меня не было машины, поэтому тропы в Вашингтоне, какими бы красивыми они ни были, были недоступны для еженедельных тренировок. Я тренировался так, как мог: бродил по району и угадывал. Достаточно ли расстояния? Достаточно ли холмов? Нужно ли ходить по лестнице? Сколько? С каким весом?
Мне нужен был приложение, которое просто скажет: на этой неделе пройди этот маршрут. Не можешь добраться до тропы? Ладно: пройди эти четыре мили и поднимись по лестнице к водонапорной башне шесть раз. План, который постепенно увеличивает нагрузку каждую неделю, начиная с твоего собственного тротуара и заканчивая вершиной, на которую ты записался. (Если вы уже догадались, откуда взялось название приложения — да, именно так.)
У меня даже было время построить его. Меня уволили в феврале, и я не начал работать до октября. Восемь месяцев. Я называл это своим годом основателя, с некоторым округлением.
Я пытался. Сначала как нативное Android-приложение, где карты меня съели. Всё, что связано с картами, было либо дорогим, либо не имело нужного API, и я застрял. Затем я переключился на идею приложения для циклической экономики, частично потому, что в округе Кинг были гранты и инкубаторы для такой работы. Я потратил месяцы на бизнес-модели и исследование персон. В какой-то момент я поймал себя на том, что пишу бизнес-модель и персоны для приложения для походов, как ребёнок, делающий домашнее задание под партой.
Затем восемь месяцев закончились. У меня была куча исследований, новая работа и ноль готового программного обеспечения.
Я, кстати, сходил в поход. Он меня вымотал, даже с тренировками, которые я угадывал. Где-то на второй день серпантинов я подумал: «Жаль, что такого приложения нет».
Урок, который я извлёк из этих восьми месяцев: если спросить людей, хотят ли они ваше приложение, они скажут «да». Это не сигнал, это вежливость. Единственный честный тест — показать реальную вещь реальным людям и посмотреть, что они делают. Поэтому в этот раз «отправить реальным туристам» — не надежда, а пронумерованная задача в моём плане (T33), и у неё есть условие: она не может сработать, пока не будут готовы вещи, которые действительно нужны первым пользователям.
Sidewalk to Summit (От тротуара к вершине). Вы выбираете целевой поход, реальный или мечту (да, можно ввести Килиманджаро), рассказываете о себе, и приложение строит понедельный план, исходя из того, что реально вокруг вас. Реальные тропы, когда до них можно добраться. Городские прогулки, походы по району и лестничные тренировки, когда нет.
И оно найдёт лестницы за вас. Это было моим любимым открытием на этапе планирования: Сиэтл публикует данные об обслуживаемых общественных лестницах в открытом доступе. Я собирался нанять незнакомцев, чтобы они считали шаги, а оказалось, город уже всё посчитал. Если у вас есть беговая дорожка, вы тоже можете сообщить об этом приложению. Это почти единственное, что оно не может найти за вас.
Первое реальное архитектурное решение было принято до написания кода: математика и текст строго разделены. Детерминированный движок вычисляет каждое число в вашем плане, потому что перетренированность может навредить. LLM пишет дружелюбное объяснение вокруг этих чисел, и ему никогда не разрешается выдумывать. Создание оценок и защитных механизмов для ИИ-продуктов — моя работа, и здесь та же дисциплина: каждая цифра, написанная LLM, должна прослеживаться до вывода движка, и это правило будет enforced в CI, а не в комментарии к коду. Будет отдельная статья об этом, когда всё будет построено и защищено тестами.
(Почему «Sidewalk to Summit», а не первоначальное название с диваном? Это отдельная история. Скоро.)
Одна маленькая задача в день, 15–45 минут (хотя иногда я увлекаюсь и работаю дольше). Я планирую, агент пишет код, я проверяю. План, код, проверка, повтор. (Это родственник привычки ежедневной самооценки, о которой я писал здесь.) Планирование живёт в репозитории базы знаний, который является источником истины: спецификации, журнал решений, бэклоги и этот девлог. Правило: одна задача за рабочий день. Пропустил день? Делай эту задачу в следующий рабочий день. И в девлоге я признаюсь, когда не соблюдаю это.
Метод должен пережить реальную жизнь, потому что до завершения строительства он пересечёт со мной океан. Это намеренно.
Моя компания называется The Pond's Edge, и название — это вся суть. Жизнь процветает на границах. Край пруда — это место, где всё растёт, меняется и расширяется. Переход от рейнджера к инженеру-программисту был одной границей. Граница, по которой я иду сейчас, — это проектирование работы вокруг жизни, а не наоборот: гибкий график, четырёхдневная неделя, жизнь в других странах по несколько месяцев. Это ограничение, в котором я работаю, так же как приложение должно работать для человека без машины и без спортзала.
Если это приложение преуспеет, победой будут не загрузки или доход, а доказательство того, что такой стиль работы работает. Что одна маленькая задача в день, тщательно спланированная и честно проверенная, — это реальный способ создавать программное обеспечение и жить на своих условиях.
Следите за обновлениями: датированные записи в девлоге, отдельные посты, когда что-то реальное выходит.
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →