#история дня
30 лет назад вышел Internet Explorer 3.0.
13 августа 1996 года появилась версия для Windows, а 8 января 1997 — для Mac OS (да-да, она тогда не macOS называлась). Было же время...
Что же такого в нём примечательного?
Ну, помимо того, что это первый IE с легендарной вселяющей ужас во всех верстальщиков иконкой, это ещё и первый браузер вообще с поддержкой CSS.
В то время CSS использовался чтобы помечать посещенные ссылки фиолетовым.
Эта самая поддержка была даже по тем скромным меркам неполной. Microsoft, впрочем, надолго решила продолжать в том же духе.
А ещё была своя реализация JavaScript: JScript. И предлагалась поддержка VBScript... я свой первый веб-проект на нём писал, не особенно содрогаясь.
Работал браузер на 386 с Windows 3.1, требовал от 4 MB оперативной памяти, 12 MB — если хотелось Java 🤯
Посмотреть скриншоты и видео можно в музее веб-дизайна: https://www.webdesignmuseum.org/old-software/web-browsers/internet-explorer-3-0
Взгрустнулось, котаны? 😅
#css #ie #history
30 лет назад вышел Internet Explorer 3.0.
13 августа 1996 года появилась версия для Windows, а 8 января 1997 — для Mac OS (да-да, она тогда не macOS называлась). Было же время...
Что же такого в нём примечательного?
Ну, помимо того, что это первый IE с легендарной вселяющей ужас во всех верстальщиков иконкой, это ещё и первый браузер вообще с поддержкой CSS.
В то время CSS использовался чтобы помечать посещенные ссылки фиолетовым.
Эта самая поддержка была даже по тем скромным меркам неполной. Microsoft, впрочем, надолго решила продолжать в том же духе.
А ещё была своя реализация JavaScript: JScript. И предлагалась поддержка VBScript... я свой первый веб-проект на нём писал, не особенно содрогаясь.
Работал браузер на 386 с Windows 3.1, требовал от 4 MB оперативной памяти, 12 MB — если хотелось Java 🤯
Посмотреть скриншоты и видео можно в музее веб-дизайна: https://www.webdesignmuseum.org/old-software/web-browsers/internet-explorer-3-0
Взгрустнулось, котаны? 😅
#css #ie #history
❤7🔥2🫡1
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
Каждому смотрящему сериалы известно, что один из самых лучших способов сделать текст субтитров видимым на практически любом фоне — это добавить инверсную обводку.
Белый контур для чёрного текста, чёрный — для белого (внезапно).
Есть ли что-то подобное в CSS? Ну, конечно, есть! Как минимум, можно бросить тень aka text-shadow. Правда, синтаксис не очень интуитивный да и выглядит иногда странненько.
Какие ещё варианты? SVG text, очевидно, но там свои нюансы с доступностью и стилями.
И есть ещё!
Несмотря на префикс, Firefox тоже его поддерживает (спорное решение, но уж как есть).
Вот только как всегда есть нюанс. По-умолчанию, обводка будет нарисована перед слоем с текстом. Это очевидно, если понимать разницу между штрихом (stroke) и обводкой (outline), но всё же.
Поэтому
#css #stroke #outline #бородач
Каждому смотрящему сериалы известно, что один из самых лучших способов сделать текст субтитров видимым на практически любом фоне — это добавить инверсную обводку.
Белый контур для чёрного текста, чёрный — для белого (внезапно).
Есть ли что-то подобное в CSS? Ну, конечно, есть! Как минимум, можно бросить тень aka text-shadow. Правда, синтаксис не очень интуитивный да и выглядит иногда странненько.
Какие ещё варианты? SVG text, очевидно, но там свои нюансы с доступностью и стилями.
И есть ещё!
-webkit-text-stroke-colorНесмотря на префикс, Firefox тоже его поддерживает (спорное решение, но уж как есть).
Вот только как всегда есть нюанс. По-умолчанию, обводка будет нарисована перед слоем с текстом. Это очевидно, если понимать разницу между штрихом (stroke) и обводкой (outline), но всё же.
Поэтому
paint-order: stroke нам в помощь! Таким образом, штрих будет отрисован первым, натуральным образом превратившись в обводку (при достаточной толщине, конечно же):
-webkit-text-stroke-color: white;
-webkit-text-stroke-width: var(--stroke);
paint-order: stroke;
#css #stroke #outline #бородач
👍8
Проект от подписчика!
Напоминаю, что я выкачу любую статью или проект от вас, не стесняйтесь писать.
Презентация? Выступили на митапе? Хотите поделиться интересной статьёй — добро пожаловать!
Всем привет! Меня зовут Василий, я разработчик из Хельсинки. В свободное время занимаюсь проектами на стыке веба, C++ и криптографии. Один из них это AmethystXMR: https://amethystxmr.github.io/
Это браузерный Monero-кошелёк: нативный C++ код Monero собран в WebAssembly, а вокруг него сделан интерфейс на React. Ключи остаются у пользователя в браузере, там же приложение сканирует блокчейн и формирует транзакции.
На скриншоте кошелёк называется
AmethystXMR полностью рабочий: можно создать или восстановить кошелёк, отправлять и получать XMR, подключаться к своей ноде, использовать QR-коды. Можно запускать и в Tor Browser, в том числе с onion-нодами.
Еще есть поддержка multisig. В Monero он устроен довольно интересно и не совсем так как в Bitcoin. Я рассказывал об этом на MoneroKon, а по мотивам доклада вышел подробный пост со схемами:
https://coin.space/how-does-monero-xmr-multisig-work
Недавно еще разбирался с неприятным багом: платеж отображался как потерянный, хотя в итоге оказалось, что деньги никуда не пропали. Всю историю расследования и того, как удалось найти проблему, описал здесь:
https://www.reddit.com/r/MoneroMeansMoney/comments/1v5dsx2/the_story_of_a_lost_and_found_payment/
Еще с MoneroKon есть запись моего второго доклада - про Lightning Network:
https://www.youtube.com/watch?v=obFwB_KA7pk
Исходники проекта:
https://github.com/amethystxmr/amethystxmr.github.io
Если появятся какие-то вопросы по проекту, WebAssembly, Monero или докладам - спрашивайте, отвечу.
Напоминаю, что я выкачу любую статью или проект от вас, не стесняйтесь писать.
Презентация? Выступили на митапе? Хотите поделиться интересной статьёй — добро пожаловать!
Всем привет! Меня зовут Василий, я разработчик из Хельсинки. В свободное время занимаюсь проектами на стыке веба, C++ и криптографии. Один из них это AmethystXMR: https://amethystxmr.github.io/
Это браузерный Monero-кошелёк: нативный C++ код Monero собран в WebAssembly, а вокруг него сделан интерфейс на React. Ключи остаются у пользователя в браузере, там же приложение сканирует блокчейн и формирует транзакции.
На скриншоте кошелёк называется
[object Promise] - это не баг, а мое чувство юмора: люблю вписывать в формы значения вроде undefined, null, NaN, Invalid Date, ReferenceError, TypeError, [object Object], Cannot read properties of undefined. Смешно же.AmethystXMR полностью рабочий: можно создать или восстановить кошелёк, отправлять и получать XMR, подключаться к своей ноде, использовать QR-коды. Можно запускать и в Tor Browser, в том числе с onion-нодами.
Еще есть поддержка multisig. В Monero он устроен довольно интересно и не совсем так как в Bitcoin. Я рассказывал об этом на MoneroKon, а по мотивам доклада вышел подробный пост со схемами:
https://coin.space/how-does-monero-xmr-multisig-work
Недавно еще разбирался с неприятным багом: платеж отображался как потерянный, хотя в итоге оказалось, что деньги никуда не пропали. Всю историю расследования и того, как удалось найти проблему, описал здесь:
https://www.reddit.com/r/MoneroMeansMoney/comments/1v5dsx2/the_story_of_a_lost_and_found_payment/
Еще с MoneroKon есть запись моего второго доклада - про Lightning Network:
https://www.youtube.com/watch?v=obFwB_KA7pk
Исходники проекта:
https://github.com/amethystxmr/amethystxmr.github.io
Если появятся какие-то вопросы по проекту, WebAssembly, Monero или докладам - спрашивайте, отвечу.
👍12🔥3
#игра дня
Давненько не было чего-то необычного.
Впрочем, если вы не фанат Dwarf Fortress, конечно.
Untrusted — это игра, в которой вам предлагают не просто пройти уровень, а сначала починить его. Или, если точнее, подправить JavaScript-код, который за него отвечает. Персонаж — профессор Эвал — застрял в виртуальной реальности, и единственный способ выбраться оттуда — лезть в исходники и аккуратно, а иногда и не очень, их переписывать.
Каждый уровень — это кусок JS-кода, который можно и нужно менять: отключить ловушку, переписать поведение врагов, добавить себе проход в стене — пожалуйста. Главное — чтобы заработало.
Игру сложно назвать обучающей, но если вы когда-то писали на JavaScript и у вас осталась эта мышечная память
🎮 https://untrustedgame.com/ 📂 https://github.com/AlexNisnevich/untrusted
#game #js #бородач
Давненько не было чего-то необычного.
Впрочем, если вы не фанат Dwarf Fortress, конечно.
Untrusted — это игра, в которой вам предлагают не просто пройти уровень, а сначала починить его. Или, если точнее, подправить JavaScript-код, который за него отвечает. Персонаж — профессор Эвал — застрял в виртуальной реальности, и единственный способ выбраться оттуда — лезть в исходники и аккуратно, а иногда и не очень, их переписывать.
Каждый уровень — это кусок JS-кода, который можно и нужно менять: отключить ловушку, переписать поведение врагов, добавить себе проход в стене — пожалуйста. Главное — чтобы заработало.
Игру сложно назвать обучающей, но если вы когда-то писали на JavaScript и у вас осталась эта мышечная память
for (var i = 0; i < ...), будет ощущение, что вы просто продолжаете работу, только теперь в компании ASCII-графики и странного профессора.🎮 https://untrustedgame.com/ 📂 https://github.com/AlexNisnevich/untrusted
#game #js #бородач
🤩7
#заметка дня
Новости для Java-, Kotlin- и Scala-разработчиков: 29 августа в Москве пройдет JVM Day — конференция для разработчиков, архитекторов и тимлидов от Т-Банка.
Из спикеров конференции – Андрей Кулешов, который поделится последними новостями в области Java, Антон Курако объяснит, как красивые показатели могут ввести в заблуждение, а Сергей Петрелевич разберет Mechanical Sympathy и подходы к ускорению Spring Boot-приложений. На конфе также будет аллея продуктов, где можно потыкать демки фреймворка Kora для Java и Kotlin, AI-native-платформы SourceCraft и мультиязычной OpenIDE.
После докладов пройдет вечеринка во дворе штаб-квартиры Т-Банка с играми на Sega, ИТ-квизом и диджей-сетом на виниле.
Зарегистрироваться на конфу можно тут: https://meetup.tbank.ru/conference/jvm-day/.
Если вы собираетесь на конференцию, дайте знать в комментах. Так будет проще найтись и пойти вместе.
#ai #performance #java #jvm
Новости для Java-, Kotlin- и Scala-разработчиков: 29 августа в Москве пройдет JVM Day — конференция для разработчиков, архитекторов и тимлидов от Т-Банка.
Из спикеров конференции – Андрей Кулешов, который поделится последними новостями в области Java, Антон Курако объяснит, как красивые показатели могут ввести в заблуждение, а Сергей Петрелевич разберет Mechanical Sympathy и подходы к ускорению Spring Boot-приложений. На конфе также будет аллея продуктов, где можно потыкать демки фреймворка Kora для Java и Kotlin, AI-native-платформы SourceCraft и мультиязычной OpenIDE.
После докладов пройдет вечеринка во дворе штаб-квартиры Т-Банка с играми на Sega, ИТ-квизом и диджей-сетом на виниле.
Зарегистрироваться на конфу можно тут: https://meetup.tbank.ru/conference/jvm-day/.
Если вы собираетесь на конференцию, дайте знать в комментах. Так будет проще найтись и пойти вместе.
#ai #performance #java #jvm
👍12🔥9🤩9❤1
Любите ли вы шрифтовые лонгриды так же, как люблю их я? Тут про один шрифт — текста на хороший журнал и 600 фотографий.
В 2007 году Марцин Вихари впервые приехал в Нью-Йорк и фотографировал там все шрифты, которые положено любить: Helvetica, Akzidenz Grotesk, Gotham. Один он при этом вообще не заметил — хотя тот был буквально вокруг.
Спустя десять лет Вихари обратил внимание на странные буквы на старых клавиатурах. Квадратные, местами почти детские: чудная Q, слишком широкие P и R, странные цифры. Он попытался выяснить, что это за шрифт. Сервисы распознавания давали разные ответы, скачать его было негде, а редкие упоминания называли его Gorton.
А потом Gorton начал попадаться в других местах.
На пароме. В национальном парке. На домофоне. На крышке уличного оборудования. В лифте. У стоматолога. В переулке.
И тут уже стало интересно: что это вообще за шрифт и почему он везде?
Первая разгадка нашлась довольно быстро. Gorton оказался шрифтом для гравировальных станков: буквы вырезались фрезой по шаблону, поэтому все линии одинаковой толщины, окончания круглые, а острых углов почти нет. В каталоге производителя он нашёл Gorton Normal 1952 года. Потом каталог 1935-го. Потом 1925-го. Потом — 1902-го.
Казалось бы, расследование закончено.
Но дальше выяснилось, что Gorton встречается там, где ничего не гравировали: напечатанным на бумаге, нарисованным краской на металле. Потом обнаружились его родственники в системах технического черчения, трафаретах, Letraset, военных стандартах и ранних компьютерных шрифтах. Gorton оказался на локомотивах, подлодках, истребителях, атомных объектах и клавишах компьютера Apollo.
А ещё позже Вихари увидел его в Австралии — только немного другим. И это вывело расследование на новый след: оказалось, что история начинается не с американской Gorton Machine Company, как он думал годами, а ещё раньше и на другом континенте — с британского производителя объективов Taylor, Taylor & Hobson, который в 1894 году придумал машину для гравировки надписей на линзах и алфавит для неё.
К этому моменту автор уже семь лет был одержим Gorton. А в Нью-Йорке в итоге прошёл больше ста миль и сделал тысячи фотографий одного-единственного шрифта.
В общем, это не столько статья про шрифт, сколько очень медленно раскручивающийся детектив о наборе букв, который вроде бы никто специально не замечал — а он больше века подписывал весь физический мир вокруг нас.
The hardest working font in Manhattan
Почитайте, или хотя бы посмотрите. Пост, как минимум, полон приятных глазу фотографий городской среды, а уж количество способов нанесения шрифты на материалы не поддаётся никакому осмыслению.
#font #article
В 2007 году Марцин Вихари впервые приехал в Нью-Йорк и фотографировал там все шрифты, которые положено любить: Helvetica, Akzidenz Grotesk, Gotham. Один он при этом вообще не заметил — хотя тот был буквально вокруг.
Спустя десять лет Вихари обратил внимание на странные буквы на старых клавиатурах. Квадратные, местами почти детские: чудная Q, слишком широкие P и R, странные цифры. Он попытался выяснить, что это за шрифт. Сервисы распознавания давали разные ответы, скачать его было негде, а редкие упоминания называли его Gorton.
А потом Gorton начал попадаться в других местах.
На пароме. В национальном парке. На домофоне. На крышке уличного оборудования. В лифте. У стоматолога. В переулке.
И тут уже стало интересно: что это вообще за шрифт и почему он везде?
Первая разгадка нашлась довольно быстро. Gorton оказался шрифтом для гравировальных станков: буквы вырезались фрезой по шаблону, поэтому все линии одинаковой толщины, окончания круглые, а острых углов почти нет. В каталоге производителя он нашёл Gorton Normal 1952 года. Потом каталог 1935-го. Потом 1925-го. Потом — 1902-го.
Казалось бы, расследование закончено.
Но дальше выяснилось, что Gorton встречается там, где ничего не гравировали: напечатанным на бумаге, нарисованным краской на металле. Потом обнаружились его родственники в системах технического черчения, трафаретах, Letraset, военных стандартах и ранних компьютерных шрифтах. Gorton оказался на локомотивах, подлодках, истребителях, атомных объектах и клавишах компьютера Apollo.
А ещё позже Вихари увидел его в Австралии — только немного другим. И это вывело расследование на новый след: оказалось, что история начинается не с американской Gorton Machine Company, как он думал годами, а ещё раньше и на другом континенте — с британского производителя объективов Taylor, Taylor & Hobson, который в 1894 году придумал машину для гравировки надписей на линзах и алфавит для неё.
К этому моменту автор уже семь лет был одержим Gorton. А в Нью-Йорке в итоге прошёл больше ста миль и сделал тысячи фотографий одного-единственного шрифта.
В общем, это не столько статья про шрифт, сколько очень медленно раскручивающийся детектив о наборе букв, который вроде бы никто специально не замечал — а он больше века подписывал весь физический мир вокруг нас.
The hardest working font in Manhattan
Почитайте, или хотя бы посмотрите. Пост, как минимум, полон приятных глазу фотографий городской среды, а уж количество способов нанесения шрифты на материалы не поддаётся никакому осмыслению.
#font #article
1❤9
#заметка дня
Делаю дома мелкий ремонт и поймал себя на забавной аналогии с разработкой.
Когда на двери начинает откалываться краска, снять только тот кусок, который уже сам отвалился, обычно недостаточно. Берёшь шпатель и проходишься по краям того, что с виду ещё кажется нормальным. Где-то краска держится крепко, а где-то следом отходит ещё сантиметр, потом ещё десять. Значит, этот слой уже был частью повреждения — просто ещё не выглядел повреждённым.
С багами часто так же. Очень легко принять первое заметное проявление проблемы за её настоящую границу.
Допустим, пользователь дважды нажал «Оплатить» и получил два заказа. Самый очевидный фикс — задизейблить кнопку после первого клика. Исходный сценарий больше не воспроизводится, и формально баг можно закрывать. Но это примерно как закрасить только то место, где старая краска уже успела отвалиться.
Куда полезнее чуть пройтись по краям: что будет, если отправить то же действие из двух вкладок? Если клиент после таймаута повторит запрос? Если два одинаковых запроса придут на backend почти одновременно?
Как тут не вспомнить некоторых разработчиков, которые просто скажут: «Нефиг делать два заказа, проблема пользователя».
Если каждый из этих сценариев вскрывает новую проблему, значит дело было не в кнопке. Настоящая граница дефекта глубже: операция должна быть идемпотентной — повтор одного и того же запроса не должен приводить к повторному выполнению действия.
Это не значит, что при каждом сколе нужно сдирать всю дверь до дерева. В какой-то момент шпатель упирается в слой, который действительно держится, и там можно остановиться.
Иногда самое полезное, что можно сделать с багом перед тем, как его чинить, — сначала сделать его немного больше.
#dev #work
Делаю дома мелкий ремонт и поймал себя на забавной аналогии с разработкой.
Когда на двери начинает откалываться краска, снять только тот кусок, который уже сам отвалился, обычно недостаточно. Берёшь шпатель и проходишься по краям того, что с виду ещё кажется нормальным. Где-то краска держится крепко, а где-то следом отходит ещё сантиметр, потом ещё десять. Значит, этот слой уже был частью повреждения — просто ещё не выглядел повреждённым.
С багами часто так же. Очень легко принять первое заметное проявление проблемы за её настоящую границу.
Допустим, пользователь дважды нажал «Оплатить» и получил два заказа. Самый очевидный фикс — задизейблить кнопку после первого клика. Исходный сценарий больше не воспроизводится, и формально баг можно закрывать. Но это примерно как закрасить только то место, где старая краска уже успела отвалиться.
Куда полезнее чуть пройтись по краям: что будет, если отправить то же действие из двух вкладок? Если клиент после таймаута повторит запрос? Если два одинаковых запроса придут на backend почти одновременно?
Как тут не вспомнить некоторых разработчиков, которые просто скажут: «Нефиг делать два заказа, проблема пользователя».
Если каждый из этих сценариев вскрывает новую проблему, значит дело было не в кнопке. Настоящая граница дефекта глубже: операция должна быть идемпотентной — повтор одного и того же запроса не должен приводить к повторному выполнению действия.
Это не значит, что при каждом сколе нужно сдирать всю дверь до дерева. В какой-то момент шпатель упирается в слой, который действительно держится, и там можно остановиться.
Иногда самое полезное, что можно сделать с багом перед тем, как его чинить, — сначала сделать его немного больше.
#dev #work
👍6❤2
Проект от подписчика!
Напоминаю, что я выкачу любую статью или проект от вас, не стесняйтесь писать.
Презентация? Выступили на митапе? Хотите поделиться интересной статьёй — добро пожаловать!
Всем привет, меня зовут Николай и яалкоголик фронтенд-разработчик уже более 10 лет. Последние года два под влиянием тенденций, да и просто из интереса, начал внедрять ИИ-решения в свою работу и повседневную жизнь.
Этот канал я читаю уже несколько лет и с интересом слежу за тем, что Сергей выкладывает из найденного и личного. Недавно у него начали появляться истории от подписчиков, и я думаю, что это очень круто, так как платформа показывает самые свежие тенденции и позволяет не «верстать в стол», а что-то показать группе единомышленников.
Недавно на канале появился пост от подписчика, который также собрал своего бота, занимающегося финансами и планированием. Я подумал, что это очень похоже на то, что я недавно сделал для себя и продолжаю развивать. В общем, решил, что это отличная возможность показать, что я сделал, и, возможно, получить полезные комментарии.
Итак, представляю вашему вниманию Personal Finance AI Accountant - бот, сборка моделей и просто умница.
Начался этот проект в рамках 5-дневного интенсива от Google и Kaggle как Capstone Project (ссылка на проект). За идею взял решение своей боли - учёта финансов для семьи и бизнеса. Бот создан с использованием Google ADK 2.0 (Graph Workflow) и семейства Gemini (разные модели под разные задачи для экономии).
За последний месяц этот прототип превратился в приложение, которое я ежедневно активно тестирую.
В настоящее время оно уже поддерживает:
- регистрацию расходов в виде текста, голосовых сообщений, чеков и PDF-файлов;
- сверку банковских выписок и текущих трат (загружаешь выписку за месяц, бот ищет то, что не внесено, и вносит);
- автоматическое сохранение чеков на Google Диск;
- поддержку групп (семейная или бизнес);
- автоматическую классификацию по категориям;
- интерфейс в Telegram;
- интеграцию с Google Drive и Google Sheets;
- интерактивную информационную панель;
- поддержка двух валют - EUR и USD (живу в Германии, поэтому ориентация на Европу);
- английский, немецкий, украинский и русский языки.
Одна из функций, которой я особенно горжусь, - это подход, при котором приоритет отдаётся конфиденциальности - чеки хранятся в вашем личном Google Диске, финансовые отчёты - в ваших личных Таблицах Google, и вы всегда сохраняете полный контроль над своими данными.
Следующим важным этапом станет внедрение модуля, который будет помогать организовывать налоговые вычеты в течение всего года, а также отдельный веб-интерфейс, интеграция с WhatsApp и более точные финансовые аналитические данные. Сейчас вся авторизация идёт через Telegram.
В настоящее время я ищу несколько бета-тестеров (не из РФ). Если вы хотите опробовать приложение Personal Finance AI Accountant - пишите в личку.
Напоминаю, что я выкачу любую статью или проект от вас, не стесняйтесь писать.
Презентация? Выступили на митапе? Хотите поделиться интересной статьёй — добро пожаловать!
Всем привет, меня зовут Николай и я
Этот канал я читаю уже несколько лет и с интересом слежу за тем, что Сергей выкладывает из найденного и личного. Недавно у него начали появляться истории от подписчиков, и я думаю, что это очень круто, так как платформа показывает самые свежие тенденции и позволяет не «верстать в стол», а что-то показать группе единомышленников.
Недавно на канале появился пост от подписчика, который также собрал своего бота, занимающегося финансами и планированием. Я подумал, что это очень похоже на то, что я недавно сделал для себя и продолжаю развивать. В общем, решил, что это отличная возможность показать, что я сделал, и, возможно, получить полезные комментарии.
Итак, представляю вашему вниманию Personal Finance AI Accountant - бот, сборка моделей и просто умница.
Начался этот проект в рамках 5-дневного интенсива от Google и Kaggle как Capstone Project (ссылка на проект). За идею взял решение своей боли - учёта финансов для семьи и бизнеса. Бот создан с использованием Google ADK 2.0 (Graph Workflow) и семейства Gemini (разные модели под разные задачи для экономии).
За последний месяц этот прототип превратился в приложение, которое я ежедневно активно тестирую.
В настоящее время оно уже поддерживает:
- регистрацию расходов в виде текста, голосовых сообщений, чеков и PDF-файлов;
- сверку банковских выписок и текущих трат (загружаешь выписку за месяц, бот ищет то, что не внесено, и вносит);
- автоматическое сохранение чеков на Google Диск;
- поддержку групп (семейная или бизнес);
- автоматическую классификацию по категориям;
- интерфейс в Telegram;
- интеграцию с Google Drive и Google Sheets;
- интерактивную информационную панель;
- поддержка двух валют - EUR и USD (живу в Германии, поэтому ориентация на Европу);
- английский, немецкий, украинский и русский языки.
Одна из функций, которой я особенно горжусь, - это подход, при котором приоритет отдаётся конфиденциальности - чеки хранятся в вашем личном Google Диске, финансовые отчёты - в ваших личных Таблицах Google, и вы всегда сохраняете полный контроль над своими данными.
Следующим важным этапом станет внедрение модуля, который будет помогать организовывать налоговые вычеты в течение всего года, а также отдельный веб-интерфейс, интеграция с WhatsApp и более точные финансовые аналитические данные. Сейчас вся авторизация идёт через Telegram.
В настоящее время я ищу несколько бета-тестеров (не из РФ). Если вы хотите опробовать приложение Personal Finance AI Accountant - пишите в личку.
👍9❤2