Show HN: I Put an AI Agent on a Nokia 110

(github.com)

30 points | by anupray a day ago ago

14 comments

  • butz 19 hours ago ago

    Is there any way to add custom apps to this series of Nokia phones? It's so annoying that 20 years ago mobile phones were running Java apps (J2ME), and now - nothing.

    • anupray 12 hours ago ago

      For this NOKIA, the firmwire is written in C, unlike previous versions, where the firmwire was written in JAVA. yes, we can change the firmwire and add custom apps, but as of my current progress, your change will get reset once you have done restart.

  • RexHuang 10 hours ago ago

    Great work! Though the hard part for me is even finding a Nokia 110 :)

  • samaltmanfried 18 hours ago ago

    Could you share some details about the reverse engineering?

    • anupray 12 hours ago ago

      I extracted the firmwire and analyzed how built-in apps are working and how they are using screen, keypad, network and other phone functions.

      Then I wrote a small C app, that will show "PDP" in calculator, if I press any key. once that worked, I changed in calculator code and added more and more functionality of a basic app. Then added deepseep api call that will answer the question, but I was not able to capture api response.

      The tricky part were handling API call responses, it was not fitting in small memory and the answer was stored somewhere in buffer which is difficult to findout. Once I figured that out, then added a small custom AI agent, that will connect deepseep API to native phone tools.

  • sshussain270 19 hours ago ago

    That's a fun thing you did there!

  • moshetanzer a day ago ago

    quite cool! keep up the good work!

  • sparkling 18 hours ago ago

    Where is the "AI" in agent this, exactly?

    • anupray 12 hours ago ago

      The question answering and tool calling from normal text, was done by AI Agent only. Basically created a very simple loop to call deepseek API to return JSON and using that JSON, I am invoking native NOKIA functions or answering the questions.