Davvero completo: la tecnologia che rende Minut

In qualità di sviluppatore di Minut, hai l'opportunità di lavorare su tutte le aree dello stack, dall'elettronica fino alle animazioni nell'app. Siamo davvero completi, amiamo quello che facciamo e stiamo cercando persone che la pensano allo stesso modo da inserire nel nostro team.
By
Minut
in
Tecnologia e sicurezza
Calendar icon
November 26, 2021
5
min read
Davvero completo: la tecnologia che rende Minut

In Minut progettiamo e realizziamo internamente meccanica, elettronica, firmware, backend, modelli ML, strumenti e app mobili e web. Questo è davvero completo.

Minut è un sensore di rumore e una piattaforma di automazione per locatori a breve termine. Ci impegniamo a essere il miglior co-host che un gestore di proprietà possa avere, aiutando host e PM di tutto il mondo a proteggere le loro proprietà in affitto e a offrire esperienze straordinarie agli ospiti rispettando i vicini.


TL; DR

Questo è ciò che utilizziamo in Minut:

  • Web: React, Typescript, Webflow
  • App: Swift, Kotlin
  • Backend: Node.js, Typescript, Python, Tensorflow, Keras
  • Archiviazione: MongoDB, MySQL, S3
  • Infrastruttura: AWS, Kubernetes, Docker, Jenkins, Github
  • Firmware: C, FreeRTOS, LwIP, Protobuf, Python (strumenti)
  • Elettronica: KiCad
  • Meccanica: Solidworks, Fusion 360

Lavorare con un team davvero completo significa poter vedere e imparare da persone con una vasta gamma di competenze. Abbiamo spesso discussioni tecniche pianificate e spontanee su architettura, strumenti, esperienza degli sviluppatori o qualsiasi altra cosa fondamentale per lo sviluppo del software.

Rilascia e itera

Siamo un team affiatato di ingegneri che lavora a stretto contatto con i designer e le principali parti interessate per sviluppare la migliore esperienza per i nostri clienti. Gli ingegneri del team sono coinvolti nelle fasi iniziali dell'individuazione dei problemi e dello sviluppo del prodotto.

La nostra applicazione web front-end è un'applicazione a pagina singola creata utilizzando React e Typescript. Utilizza react-query per gestire i dati lato server in modo corretto. C'è anche un sito di e-commerce costruito in Gatbsy.js e un sito di marketing che funziona su Webflow (una piattaforma low-code). I rilasci vengono effettuati in modo continuo e regolare, preferiamo rilasciarli più volte al giorno, operazione che avviene automaticamente dopo il superamento delle revisioni dei codici. Prettier ed Eslint vengono eseguiti automaticamente su tutto il codice per assicurarsi che sia pulito.

L'app web (e le app mobili) sfrutta lo stesso API HTTP con versione REST-ful che i nostri clienti Pro ed Enterprise utilizzano per l'integrazione con Minut. Il backend è scritto principalmente in NodeJS con Typescript e memorizza i dati nei database MongoDB, SQL e S3.

Avere una toolchain e un flusso di lavoro eccellenti semplifica la nostra vita di sviluppatori. Ci consente di fornire più velocemente e con una qualità migliore. Questo è il motivo per cui investiamo e incoraggiamo gli sviluppatori a dedicare tempo agli strumenti. Ad esempio, il team di backend gestisce Automation Wednesdays per dedicare del tempo al miglioramento dell'esperienza degli sviluppatori, che si tratti del miglioramento delle suite di test o dell'aggiunta di una convalida del codice più automatizzata.

La privacy al centro

Il monitoraggio sicuro per la privacy è un concetto semplice in linea di principio, ma la sua esecuzione è complicata. Abbiamo progettato e sviluppato un nuovo modo per identificare eventi specifici su sensori alimentati a batteria senza compromettere la privacy degli ospiti (brevetto statunitense: US20200143823A1).

I dati grezzi vengono elaborati direttamente sul sensore e mai condivisi con Minut o nessun altro. Quando il dispositivo rileva un evento potenzialmente critico, come la rottura di un vetro o un improvviso brusco aumento della temperatura, una «impronta digitale» dell'evento viene inviata al cloud dove viene analizzata da algoritmi ancora più potenti prima di essere inviata all'utente.

Sì, ciò significa che siamo in grado di eseguire modelli ML su un MCU con 96 MHz e meno di 256 kB di RAM con alimentazione a batteria per un massimo di 12 mesi.

Scopri di più sul nostro approccio alla privacy.

App native

L'app mobile di Minut è sviluppata in modo nativo su Android e iOS. Oltre ad avere un migliore accesso ad API come Bluetooth e Networking, vogliamo fornire agli utenti un aspetto familiare su entrambe le piattaforme. Ci impegniamo a rimanere aggiornati sia sulle funzionalità del linguaggio che sui framework (SwiftUI e Jetpack Compose sono due esempi recenti).

Pur ritenendo che il nativo sia la base migliore, teniamo gli occhi aperti per trovare modi per migliorare la coerenza e la velocità di sviluppo. In una recente sede tecnica, il team ha sperimentato la sostituzione delle visualizzazioni condivise con framework come Flutter e React Native.

Two smartphones with Minut UI
L'hardware è difficile (leggi: divertente)

Fin dall'inizio abbiamo progettato, prototipato e costruito meccaniche ed elettroniche personalizzate con il relativo firmware interno. Selezioniamo i componenti più adatti e li integriamo con il nostro stack di firmware (scritto in C) per creare un sistema che rispetti la privacy degli ospiti.

I sistemi di test, insieme a jigs e software hardware personalizzati (Python), tutti costruiti internamente, raccolgono e caricano statistiche su ogni unità hardware direttamente dalla linea di produzione, consentendoci di aumentare continuamente la qualità dell'hardware.

Il firmware viene aggiornato regolarmente via etere dopo l'installazione dell'unità nella casa del cliente. Grazie a questi aggiornamenti, siamo stati in grado di migliorare le prestazioni della batteria di oltre il 100% e di aggiungere funzionalità completamente nuove a cui non avevamo pensato quando abbiamo iniziato le spedizioni.

Tutto questo è reso possibile da un laboratorio di ferramenta ben attrezzato presso il nostro ufficio nel centro di Malmö.

Minuto in una scatola

I sensori Minut sono presenti in quasi tutti i continenti del mondo. (Qualcuno conosce un host Airbnb in Antartide? Le introduzioni sono benvenute.) In effetti, abbiamo installato sensori in oltre 100 paesi. Per gestire questi sensori, abbiamo creato una rigorosa suite di strumenti di test e automazione per ridurre al minimo il rischio di implementare software che influenzi accidentalmente le operazioni di un sensore da cui i nostri clienti dipendono per gestire le loro attività.

Qualsiasi sviluppatore di Minut può creare un ambiente completo sulla propria macchina locale (o remota) per i test. È disponibile una suite di strumenti per emulare utenti, app e sensori hardware.

La nostra flotta di test interna è composta da oltre 100 sensori che vengono continuamente esposti a diversi ambienti, configurazioni software, versioni del firmware e router Wi-Fi.

Gli strumenti e l'automazione sono una parte dell'equazione, l'altra sono i flussi di lavoro. Tutti i team utilizzano le revisioni del codice in modo rigoroso e spesso eseguono la programmazione in coppia per fornire ulteriori nuove funzionalità e mantenere il codice esistente con alta qualità. La combinazione di strumenti, automazione e flussi di lavoro ci consente di rilasciare software in tutte le parti dello stack in modo continuo, a volte più volte alla settimana.

Minut sensor with its lens off, exposing electronics


Unisciti al nostro team completo

In qualità di sviluppatore di Minut, hai l'opportunità di lavorare su tutte le aree dello stack, dall'elettronica fino alle animazioni nell'app. Siamo un'organizzazione davvero completa, amiamo ciò che facciamo e stiamo cercando persone che la pensano allo stesso modo da inserire nel nostro team di ingegneri in crescita.

Se sei interessato, dai un'occhiata al nostro posizioni aperte!