Skip to content

dtinth/automatron

Repository files navigation

automatron

This is my personal LINE bot that helps me automate various tasks of everyday life, such as home control (air conditioner, lights and plugs) and expense tracking (record how much I spend each day). See below for a feature tour.

I recommend every developer to try creating their own personal assistant chat bot. It’s a great way to practice coding and improve problem solving skills. And it helps make life more convenient!

It is written in TypeScript and runs on DigitalOcean App Platform with Node.js 24.

features

home automation

home automation

I have a Home Assistant setup which can control lights, air conditioner, and smart plugs. automatron can send commands to Home Assistant’s REST API to control these devices.

expense tracking

expense tracking

Simple expense tracking by typing in the amount + category. Example: 50f means ฿50 for food. Data is saved in Grist.

On mobile, tapping the bubble’s body (containing the amount) will take me to the created Grist record. This allows me to easily edit or add remarks to the record.

transaction aggregation

transaction_aggregation

I built a notification exfiltrator that send notifications my phone receive to automatron, which saves it to a database for later processing.

image-to-text

image_to_text

automatron can also convert image to text using Google Cloud Vision API.

livescript evaluation

livescript

LiveScript interpreter is included, which allows me to do some quick calculations.

cli / api

api

POST /text sends a text command to automatron. This is equivalent to sending a text message through LINE. This allows me to create a CLI tool that lets me talk to automatron from my terminal.

POST /post sends a message to my LINE account directly. This allows the home automation scripts to report back to me whenever the script is invoked.

project structure

  • core — The core automatron service.
  • webui — The web-based UI running on Vercel.

other projects

development setup

# Run the development server
pnpm dev

# Set up a tunnel using frp
pnpm tunnel

# Update a secret
pnpm env:set SECRET_NAME

About

Personal LINE bot to automate various tasks. Home automation, expense tracking, transaction monitoring

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •  

Languages