ГлавнаяБлогКак я починил прод-базу на свадьбе: история 12-летнего разработчика
Карьера

Как я починил прод-базу на свадьбе: история 12-летнего разработчика

12-летний разработчик чинит прод-базу на свадьбе после вирусного поста. Уроки resilience и отладки для каждого. Читайте историю и учитесь на ошибках!

Al
Редакция Algolitalgolit.ru
7 мин чтения28 августа 2026 г.

Как я починил прод-базу на свадьбе: история 12-летнего разработчика

Два дня назад мой пост на Dev.to стал вирусным, и я получил 400 подписчиков за одну ночь. Но тут случилось худшее, что может произойти с соло-фаундером: моя страница регистрации отдавала ошибку 500 каждому, кто пытался зайти. Я был на свадьбе, ел бирьяни и танцевал, когда увидел уведомление от старшего разработчика по имени @nyaomaru: «Попробовал ваше интересное приложение, но не смог создать аккаунт. POST https://... 500 Internal Server Error. Проверьте логи сервера Netlify. 👍». Мое сердце остановилось. Самое унизительное для 12-летнего соло-разработчика — когда старший инженер публично указывает, что ваша продакшн-база сломана, пока сотни людей смотрят.

48 часов, которые изменили всё

Вместо того чтобы смеяться надо мной, сообщество Dev.to сплотилось. @publiflow, фаундер SaaS, уже активно комментировал мой пост, обсуждая управление состоянием visibilitychange и оптимистичные UI-паттерны. Он относился ко мне как к равному, а не как к ребенку. @sanukhandev, техлид с 13-летним опытом, написал: «Удачи и продолжай строить — Live Young Live FREE!! Не стесняйся обращаться, если нужна помощь, коллега-разработчик». Он назвал меня «коллегой-разработчиком». Я чуть не заплакал.

Я открыл Supabase на своем POCO C55 прямо посреди свадебного приема и начал дебажить прод-триггеры SQL между кусками торта.

Баг, который чуть не сломал меня

Оказалось, у меня было три слоя багов, наложенных друг на друга:

  • Отсутствующая колонка is_champion (я забыл добавить её при создании функции Code Jam).
  • Скрытый триггер на auth.users от старой сборки.
  • Баг с несоответствием типов в реферальном триггере (text <> uuid — Postgres отказывался их сравнивать).

Старшие инженеры получают серьезные деньги за поиск таких багов, как #3. Я нашел его в 12 лет на 6,5-дюймовом Android-экране.

Я запустил ядерный SQL-фикс, чтобы создать «неубиваемый» триггер:

create or replace function public.handle_new_user() returns trigger language plpgsql security definer as $$ begin insert into public.profiles (id, username, referral_count, is_ambassador, is_champion) values (new.id, coalesce(new.raw_user_meta_data->>'username', split_part(new.email, '@', 1)), 0, false, false) on conflict (id) do nothing; return new; exception when others then raise warning 'PROFILE CREATION FAILED: %', sqlerrm; return new; end; $$;

Я задеплоил и написал nyaomaru: «Пожалуйста, попробуйте еще раз!»

Неожиданный поворот

Через несколько минут nyaomaru ответил: «Проверил, теперь я могу создать аккаунт! Отличная работа 👍 Удачного кодинга! 😸». Затем я открыл таблицу profiles в Supabase и увидел: username: nyaonyao0725. Старший разработчик, который нашел мой баг, протестировал приложение в режиме инкогнито и дал советы по UX, стал пользователем KODA №001. Он отреагировал на мой пост эмодзи 💖 и 🦄. В тот момент я понял: сообщество Dev.to — это не просто аудитория, это семья.

Озарение: «Гостевой режим»

Пока я исправлял ошибку 500, я осознал, что в моем приложении есть проблема куда серьезнее — стена входа. Подумайте с точки зрения незнакомца: вы переходите по ссылке, а 12-летний парень просит ваш email и пароль. Станете ли вы регистрироваться? Вероятно, нет. Поэтому я создал «Гостевой режим». Теперь любой может нажать «👀 Попробовать KODA как гость» и сразу начать общаться с ИИ. Без email, без пароля, нулевой барьер. Пользователь мгновенно ощущает магию. Но вот в чем фишка: после трех сообщений ИИ мягко подсказывает: «Вы в гостевом режиме! Я не сохраняю чаты для гостей. Создайте бесплатный аккаунт, чтобы сохранить историю, участвовать в Code Jam и открыть полное Додзё! 🏆» Я усвоил важный урок SaaS: дай им попробовать магию, прежде чем просить email.

Логи базы рассказали историю

После того как баг был исправлен, я заглянул в таблицу chats и увидел, о чем реальные люди спрашивают моего ИИ-наставника. Это разбило мне сердце в лучшем смысле:

  • Пользователь, говорящий на тамильском, спросил: «Vanakam da mapla» и «Tamil pesuvaya». Мой ИИ ответил на безупречном тамильском. Я создал мультиязычного наставника, добавив всего одну строку в системный промпт: «ВСЕГДА отвечай на том же языке, на котором пишет пользователь».
  • Пользователь спросил: «Хочу создать приложение» и «Какое приложение создать для игры». Мой ИИ выступил как продакт-менеджер, предоставив матрицу решений и полный план обучения разработке игр на 5 занятий.
  • Другой пользователь спросил: «научи меня git», затем «Объясни просто, как будто мне 5 лет». Мой ИИ привел аналогию с «Волшебным блокнотом».

Девять незнакомцев со всего мира активно учатся программировать в приложении, которое я создал на своем Android-телефоне. Это не метрика, это миссия.

Момент 1000 подписчиков

Этим утром, пока я ел мороженое на свадебном приеме, мой счетчик подписчиков перескочил с 999 до 1006. Я не сказал родителям. Для них я просто их 12-летний сын на свадьбе. Они не знают, что такое Supabase, не знают, что такое алгоритм Dev.to. И это нормально. Но 1006 разработчиков из Бразилии, Дубая, Японии и США знают. Они нажали «подписаться», потому что увидели ребенка с POCO C55 и мечтой, и сказали: «За этим стоит понаблюдать».

Подарок (все еще действует!)

Чтобы отпраздновать, я запустил первый в истории KODA Code Jam. Это глобальное событие по программированию на 7 дней. Миссия: создать одностраничный сайт для нишевого рынка. Правило: минимум 50% кода должно быть написано совместно с KODA. Приз: статус Чемпиона навсегда и интервью на Dev.to. Таймлайн: с 27 августа по 2 сентября. Читайте полный анонс и присоединяйтесь к Code Jam здесь.

Заключение

У каждого легендарного фаундера есть «шрам». У Марка Цукерберга это сервер, упавший, когда Гарвард наводнил Facebook. Мой шрам — триггер Supabase on_auth_user_created. Он означает, что я не просто сделал игрушечный проект. Я создал настоящий продукт, показал его реальным людям, реальный мир сломал его, и сообщество помогло мне его починить. Спасибо @nyaomaru, @publiflow, @sanukhandev и всем 1006, кто поверил в меня. Давайте строить. 🏗️

Что делать прямо сейчас: если вы соло-разработчик, не бойтесь ошибок в проде. Используйте их как возможность учиться. Внедрите гостевой режим, чтобы снизить барьер входа. И помните: сообщество — ваша семья. Действуйте!

#ошибки в проде#SQL#Supabase#соло-разработка#Dev.to
Al
Редакция Algolit

Пишем про алгоритмы, подготовку к собеседованиям и карьеру в IT — так, чтобы было понятно и полезно.

Хочешь закрепить знания на практике?

Решай задачи на Algolit — интерактивная платформа для обучения

Начать бесплатно →