1 of 20

Courtbot in Tulsa

(and hopefully soon EVERYWHERE!)

How to Make an

Amazing Slide Deck

Carlos Moreno, Code for Tulsa

@chimchim237

2 of 20

What is Courtbot?

txt message reminders of upcoming court dates.

3 of 20

Why?

Tulsa issues ~50,000 municipal citations per year; Failure to Show for city and county court dates, and Bench Warrants for failure to pay fines and fees is a huge issue in Tulsa County.

40,000 people in Atlanta missed their court date.

Research by Human Right Watch (John Raphling) shows that text reminders work!

4 of 20

Kudos.

HUGE thanks to 2014 CfA Atlanta Fellowship & Code for Anchorage!

5 of 20

What is Courtbot?

client subscribes by texting their case #

courtbot searches their case in a database and sends new updates.

6 of 20

What is Courtbot?

messages are sent via twilio

in Tulsa, court cases are managed via a statewide website (OSCN).

7 of 20

What is Courtbot?

We wrote an API to the Oklahoma Supreme Court Network website (OSCN) to scrape their data for new cases.

Courtbot uses a cron job (heroku: scheduler) to search the data for matches:

  • name
  • case #

new court dates (a.k.a. new “descriptions” as part of the case) are sent via text to subscribers

8 of 20

Courtbot in your city

9 of 20

Deployment to another city. �

Non-software: find a champion in your city. We are working with Tulsa County Courthouse Clerk & the Tulsa County public defender’s office.

10 of 20

Deployment to another city.

  1. Fork! 2) Enjoy!

Need:

  • Heroku
  • Twilio
  • Case data

11 of 20

Deployment to another city. �

Two issues to resolve: 1)time zone. 2)sourcing the data.

12 of 20

Courtbot’s Structure.

Postgres Database Connection�https://github.com/codefortulsa/courtbot-engine-pg

Collecting the reminders to send�https://github.com/codefortulsa/courtbot-engine

Sending messages via Twilio�https://github.com/codefortulsa/courtbot-engine-twilio

Tying it all together�https://github.com/codefortulsa/courtbot

13 of 20

Courtbot’s Structure.

Data endpoint; collected data in the way that Courtbot needs it.

Collecting reminders

Sending Reminders

Courtbot-engine-pg

Courtbot-engine

courtbot-engine-twilio

Data Source

14 of 20

Other repos we’ve started

Collecting data specifically from the OSCN database

https://github.com/codefortulsa/courtbot-engine-data-oscn

Sending messages via Facebook messenger instead of twilio

https://github.com/codefortulsa/courtbot-engine-facebook

User-interface to add courtbot subscribers via web instead of text message

https://github.com/codefortulsa/courtbook

15 of 20

How you can help

16 of 20

Problem �

In https://github.com/codefortulsa/courtbot/blob/master/web.js the timezone is hard-coded—see line 100 (not sure if this appears anywhere else… it might?)�

So if we want to deploy to the coasts, we need to make this part of the install and config process, not written in like this.

17 of 20

Problem �Here are the fields of data that Courtbot needs.

- name

- date

- description

- case_number

where the, "description" is the message that you are sending that person.

the date can be in either one of two formats.

{ date: "2017-01-01T09:30", description: "first event" },

// or

{ date: "Thursday, December 29, 2016 at 9:00 AM", description: "second event" }

18 of 20

Problem �

...and as of right now, there’s no neat easy way to source that data and present it to courtbot (without each fork solving its own data source issue and then writing its own component to feed the data to courtbot).

BUT!! We have to start with baby steps. So let’s write a few, and then we can standardize and scale it.

19 of 20

Bringing back fines/fees

In Tulsa, we’ve been asked by the city to bring back the fine/fee payment option functionality that the Atlanta project had.

We’d love some help with this! It’d be great to make this available not just for Tulsa, but configurable for any city.

20 of 20

Questions?�Ideas to make Courtbot better?�Let’s talk!

@chimchim237�Slack: chimchim