Questions:
- Showcase
- MVP -
- How to interact, User experience
- how interaction will work
- what the benfit will be
EN
- Create social media profiles for the idea
- post everyday, reach out to people, ask for feedback
- Create a WordPress, Wix or any other nice landing page that collects email addresses. (this is very easy these days)
- Learn about all the marketing platforms
- Setup some kind of payment and a preselling campaign
- Start looking for people that might be interested in your product and call them, ask them about your product, try to make a sale (you can give money back if you do not want to build it)
- Find a cofounder who is a marketer, good with social media and google ads
-
The product must have its own dedicated team, even if it consists of 1 or 2 people. These people must believe in the product and have the freedom to develop it to make it the best for users.
-
The product should be clearly defined for whom it is - ICP - just as a developer wonders whether he is building for families or singles coming to a big city? Completely different needs.
-
The product is not a conglomeration of all the functions that come to mind - or we have from other projects. This is not about technical debt (which is fine up to a certain point because it shows the pace and understanding of customers). The point here is not to build a product specifically for anyone…
-
Product = striving for quality. Services = striving to invoice the project and move on to the next one. It doesn’t connect. That’s why product teams that are not clearly separated from service teams do not achieve success - they cannot be achieved in conditions of constant schizophrenia ;)
-
Committee decision making. I remember that at Divante we were building a B2B product for Magento. I wanted everyone to be involved - ownership, I read, is important. But making decisions by 15 people in a conference room, this ownership takes away, not gives :) A strong lesson. In the end, I myself - the originator of this product - did not want to come to the meetings :)
PL
- Utwórz profile w mediach społecznościowych dla swojego pomysłu
- publikuj posty codziennie, docieraj do ludzi, proś o opinię
- Utwórz WordPress, Wix lub inną ładną stronę docelową, która zbiera adresy e-mail. (w dzisiejszych czasach jest to bardzo łatwe)
- Dowiedz się o wszystkich platformach marketingowych
- Skonfiguruj rodzaj płatności i kampanię przedsprzedażową
- Zacznij szukać osób, które mogą być zainteresowane Twoim produktem i zadzwoń do nich, zapytaj o Twój produkt, spróbuj dokonać sprzedaży (możesz oddać pieniądze, jeśli nie chcesz ich budować)
- Znajdź współzałożyciela, który jest marketerem, dobrze radzącym sobie z mediami społecznościowymi i reklamami Google
Co odróżnia te które się udały od tych które powolnie umarły śmiercią naturalną? Kilka rzeczy przychodzi mi do głowy na szybko:
-
Produkt musi mieć swój dedykowany zespół, nawet jeśli 1 lub 2 osobowy. Te osoby muszą wierzyć w ten produkt i mieć swobodę rozwijać go, żeby był najlepszy dla użytkowników.
-
Produkt powinien mieć jasno zdefiniowane dla kogo jest - ICP - tak jak developer zastanawia się czy buduje dla rodzin czy singli przyjeżdżających do dużego miasta? Zupełnie inne potrzeby.
-
Produkt nie jest zlepkiem wszystkich funkcji jakie przychodzą nam do głowy - albo mamy z innych projektów. Tutaj nie chodzi o dług technologiczny (który do pewnego momentu jest spoko bo świadczy o tempie i zrozumieniu klientów). Tutaj chodzi o to, żeby nie wybudować produktu dokładnie dla nikogo…
-
Produkt = dążenie do jakości. Usługi = dążenie do zafakturowania projektu i przeskoczenia do kolejnego. To się nie łączy. Dlatego zespoły produktowe które nie są odłączone wyraźnie od zespołów Usługowych nie osiągają sukcesów - nie da się ich osiągnąć w warunkach ciągłej schizofrenii ;)
-
Podejmowanie decyzji przez komitet. Pamiętam, że w Divante budowaliśmy produkt B2B dla Magento. Chciałem, żeby każdy był zaangażowany - ownership wyczytałem jest ważny. Ale podejmowanie decyzji przez 15 osób w salce konferencyjnej ten ownership zabiera a nie daje :) Mocna nauczka. Na końcu ja sam - pomysłodawca tego produktu - nie chciałem przychodzić na spotkania :)
Competitors:
Amazon’s Ring and Google’s Nest are two of the biggest names in the market, Ring alone has more than half a dozen different models to choose from, our favorites being the $169.99 Video Doorbell Pro, the $199.99 Video Doorbell 3 Plus, and the $129.99 Peephole Cam.
If you already use other Google or Nest smart home devices like a Nest Hub smart display, a Nest Mini smart speaker, or a Chromecast, go with the Hello video doorbell if you can afford it.
The Hello earned high marks in our tests for its ability to identify people using face recognition technology, its sharp HD video, its sleek design, and its interoperability with other smart home devices. Pair it with a Nest Mini and Chromecast, for instance, and you can ask your smart speaker to cast video from the doorbell to your TV. You can also stream video from the doorbell to a screen-equipped Amazon Alexa device like the Echo Show, as well as Fire tablets and Fire TV devices, but the Hello doesn’t play nice with Alexa devices without a display.
Solutions
- Video transcription allows you transcribe or translate your video’s audio into text using artificial intelligence automatic speech recognition technology.
- Camera to text functionality (also known as Optical Character Recognition, or OCR) saves you time in the field: simply snap a photo of that model plate or serial number, and let the camera do the work of transcribing it into your form. This functionality also improves accuracy, as it simply requires a photo rather than manually keying in a mixture of letters and numbers that can easily be misread or are difficult to type.
- The camera-to-text function can be used to fill any text-based entry, and (iOS only) filter long dropdown lists based on a model number.
- With face detection, you can get the information you need to perform tasks like embellishing selfies and portraits, or generating avatars from a user’s photo. Because ML Kit can perform face detection in real time, you can use it in applications like video chat or games that respond to the player’s expressions.
- Object detection and tracking
[Wykrywanie i śledzenie obiektów |
ML Kit |
Google for Developers](https://developers.google.com/ml-kit/vision/object-detection?hl=pl) |
Dzięki dostępnym na urządzeniu interfejsowi API do wykrywania i śledzenia obiektów w ML Kit możesz wykrywać i śledzić obiekty na obrazie lub w transmisji na żywo z kamery.
Opcjonalnie możesz klasyfikować wykryte obiekty, korzystając z wbudowanego w interfejs API przybliżonego klasyfikatora lub z własnego niestandardowego modelu klasyfikacji obrazów. Więcej informacji znajdziesz w artykule Używanie niestandardowego modelu TensorFlow Lite.
Wykrywanie i śledzenie obiektów odbywa się na urządzeniu, dlatego działa również w interfejsie potoku wyszukiwania wizualnego. Po wykryciu i odfiltrowaniu obiektów możesz przekazać je do backendu w chmurze, na przykład do wyszukiwarki produktów Cloud Vision.
Najważniejsze funkcje
- Szybkie wykrywanie i śledzenie obiektów Wykrywaj obiekty i określaj ich lokalizację na obrazie. Śledzenie obiektów w kolejnych klatkach obrazu.
- Zoptymalizowany model na urządzeniu Model wykrywania i śledzenia obiektów jest zoptymalizowany pod kątem urządzeń mobilnych i może być używany w aplikacjach w czasie rzeczywistym, nawet na słabszych urządzeniach.
- Wykrywanie widocznych obiektów Automatyczne określenie najbardziej widocznego obiektu na zdjęciu.
- Klasyfikacja przybliżona Klasyfikuj obiekty w szerokich kategoriach, dzięki którym można odfiltrowywać obiekty, które Cię nie interesują. Obsługujemy te kategorie: artykuły gospodarstwa domowego, odzież, żywność, rośliny i miejsca.
- Klasyfikacja z użyciem modelu niestandardowego Użyj własnego modelu klasyfikacji obrazów do identyfikowania i filtrowania konkretnych kategorii obiektów. Aby Twój model niestandardowy działał lepiej, pomijaj tło obrazu.
MVP będzie polegało na zrobieniu interfejsu tekstowego z powiadamianiem o tym co dzieje się na video, gdzie tak jak chatgpt będziesz pisał co chesz zobaczyć
- Panel instalatora
- wykonanie w python, django + sqlite do konfiguracji
- instalator może dodawać dane za pomocą kanału email wysyłając wiadomość z nazwą kamery adresem i hasłem
- instalator może używać aplikacji chat, np whatsapp do wysłania danych dostępowowych
- wszystkie dane dotyczące kamer są dostępne do wglądu i bazując na nich admin wybiera które chce podłączyć do konkretnej aplikacji
- baza danych jest osobno, gdyż można wykorzystać inna formę przehcowywania danych kamer
- interfejsem wymiany z panelem aplikacji jest API
- Panel aplikacji dla @admina w oparciu o dane z Panelu instalatora
- wykonanie w python, django + sqlite do konfiguracji + FTP/webdav do pobierania danych przez usługę VideoToText
- dodawanie URL streamu z kamer + auth
- wartość ile ma być zapisywanych minut video na bieżąco jako bufor, np 5 sekund do opisania tego co się w tym czasie działo
- zapisywanie video do maksymalnie do X minut
- zapisywanie obrazów jako animacji do udostępnienia do przeglądania: X Sekund
- dodawanie i zarządzanie integracjami
- interfejsem wymiany z panelem managera i interfesjem webowym jest API
- Panel managera dla kontrioli dostępu
- lista projektów
- lista grup i userów
- określenie czasu dostępu
- lista zdarzeń jakie mają być udostępnione dla konkretnego grupy usera
-
Usługa VideoToText
Przetwarzanie video i zapisywaniu zauważonych obiektów i zdarzeń do bazy mariaDB: obiekty, cechy, zdarzenia
Biblioteki Python i API w pierwszym etapie ułatwiające analizę krótkich video.
Na początku będzie zgrubna lokalna analiza a następnie dosyłanie do wyspecjalizowanej usługi na innym serwerze.
Dane konfiguracyjne muszą najpierw zostać pobrane z panelu aplikacji i zwrócone w postaci krótkich filmów na serwerze FTP/WEBDAV
Filmy są udostępniane dla usera z interfejsu webowego przez http
-
Interfejs webowy
strona webowa do wizualizacji zdarzeń i możliwości przeglądania w formie chat
każda kamera ma osobny chat tak jakbyś rozmawiał z różnymi ludźmi
z dodatkowymi opcjami, których nie można zaimplementować na zwykłej apce jak podpowiedzi.
-
Integracja API
z popularnymi komunikatorami z pisaniem bezpośrednio na smartphone usera o tym co dzieje się na kamerze + poprzez url możliwość wejścia na interfejs webowy aby zobaczyć więcej
- Storage
dostepny poprzez FTP/Webdav
W skrócie mamy 3 typy użytkowników + instalator, który dodaje kamery
- admin, który definiuje projekt/aplikację i wykorzystuje kamery dodane przez instalatora
- manager, który dodaje userów i prawa do projektu/aplikacji
- supervisor, który nazywa obiekty, określa korelacje, istnieje tylko na początku, ale może być odpytywany przez system o nazywanie sytuacji na wniosek customer-a
- customer, który korzysta z WebUI/chat do przeglądania zdarzeń
Trzeba stworzyć makietę na docker compose, każda usługa osobno przez dedykowany IP wewnątrz sieci
Kolejna implementacja na proxmox:
- router openwrt
- VPS per service
- Mysql dla panelu admina, managera, interfejsu webowego
- Storage ftp/webdav
- Integracje API dla:
- VideoToText
- ImageToText
- SpeechToText
- TextToSpeech
Prezentacja dla użytkownika
ROADMAP
Offline upload video - 1 kanał
Przygotowanie docker compose lokalnie
- FastAPI
- Django, ORM
- mariadb/sqlite
frontend:
- admin: auth, usługi, api
- kamera: upload, ftp
- user: powiadamianie, web, email
Funkcje
Upload:
- poprzez stronę
- webdav
Powiadamianie:
- www
- e-mail
- chat
- jedna baza danych konfiguracji + administracji
- ftp/webdav do wgrania video i pobierania video
- Generowanie w oparciu o upload, poprzez połączenie do API videototext
- Generowanie rozpoznanych obiektów w oparciu o bazę danych
- Wysyłanie danych do bazy danych a z niej bezpośrednio na powiadamianie
- Na stronie www
- Na API chat/Email
Statycznie przygotowane + z już przetworzonymi danymi oraz chat webowy dla usera do przeglądania wcześniej nagranego video z jednej kamery
Live, 60 sekund - 1 kanał
Przygotowanie docker compose z runner na gitlab w VPS w proxmox
- Panel konfiguracji + administracji + chat webowy dla usera do otrzymywania informacji z aktualnego streamu video z jednej kamery
- Usługa videototext w oparciu o API do przetwarzania filmów 60 sekundowych
- Chat webowy dla usera do przeglądania nagrywanych danych z ostatnich 60 sekund w pętli z 1 kamery
- Zarządzanie użytkownikami: dodanie panelu instalatora i użytkownika
- Rozszerzenie możliwości przetwarzania i obsługa panelu dla supervisora
- Integracja chatów
Live, 24h - 10 kanałów
Przygotwanie na wirtualiazji proxmox
- Każda usługa jako odrębny VPS
- Powiększenie storage do 24h
- możliwość dodawania nie tylko strumieni ale własnych video do analizy