Matteo Innocenti

Tech gibberish

BlogAbout
  • Building MyPorter

    Why we decided to build an AI assistant for short-term rental hosts as a WhatsApp bot instead of yet another app, and some notes on how it's put together under the hood.

    Jul 23, 2026startupai
  • AndroidX ActivityResultContracts

    Say goodbye to startActivityForResult() and onActivityResult(): how the new AndroidX ActivityResultContracts APIs work, and how to build custom contracts for your own flows.

    Dec 19, 2020android
  • Github issues and PRs templates

    Blank text boxes lead to vague issues and undocumented pull requests. GitHub templates give your team a shared format for filing bugs, requesting features and describing changes.

    Nov 17, 2020github
  • Bypass default app for any Intent

    Your app can handle a link, but you want it to open in another app instead. A look at how Android resolves implicit Intents, and how to route one past your own app's intent filters.

    Oct 27, 2020android
© 2026 Matteo Innocenti · Words areCC BY 4.0, code is MIT