Profile picture
Emily G @EmilyGorcenski
, 17 tweets, 3 min read Read on Twitter
I’ve got whatever crud the U-Bahn gives you when the weather finally turns and I’m taking a paid sick day today, which won’t cut into my leave time at all, because I live in Germany and not the United States.
Update: in a sudafed haze I have begun building a Nazi court-tracking app but my fever is spiking and I have no recollection of the last 2 hours. There’s just data in a file and I assume it got there by my doing but it’s unclear how.
Fighting fascism with Sudafed, JSON, and open records.
Court data is relatively unstructured. There are few fixed touch-points. Even things like "what is the relevant code to charge this person under" don't have one-to-one mappings with things like "what do we call this charge."
As such, flexible, semi-relational data handling practices are needed. Basically the goal is to get data flowing in, and deal with the arranging of it later.
One super annoying example is how charges, cases, and people, all have many-to-many relationships. Some cases can represent multiple charges. Some charges have multiple case numbers. Some people have multiple charges and multiple cases. Some cases have multiple defendants.
This can make it hard to find records. The RAM instance is a good example. There is a case number for the entire case, individual case numbers for each defendant, individual magistrate judge case numbers for each defendant, and a magistrate judge number for the entire case.
When you understand how the process works, this is not as intimidating as it sounds. But it does make it harder to find records. So you need to be smart and flexible with how you handle data.
Right now there are 26 cases being tracked. This is artificially inflated by 9, because Virginia assigns a new case number to each charge, and Fields is facing 10 charges from the state.
I'm counting Fields' state and federal trial separately, as they take place in different courts with different rules. And Will Fears also has two case numbers, for two different incidents.
I haven't yet added the latest Proud Boys' charges, either, nor have I added the Kentucky shooter, civil cases, or anything stemming from an event before August 11, 2017.
What I am tracking, however, is appeals. So some cases are closed, but appeals are possible/in the works.
Ultimately, my plan is to take this data and build a static site around it. I can then host it cheaply and securely. A static site is a good choice for this kind of application because the data change slowly.
By putting the static site generator code in a Lambda, I can then wire it up to Github. The lambda will fire only when the source data is updated; I can then use github workflows to control who can modify the data without having to maintain my own access controls.
So the workflow will look like this:

data --(git push)--> github --(webhook)--> google cloud function --(hugo compile)--> firebase --> internet

I could also just create a github pages account but ugh that requires creating a new user account and I don't feel like managing that.
Update: I have content generation working, it's really just some very basic hack-ish python that munges JSON about into contextual orders, and outputs markdown.

Now I'm going to staple this converter to a markdown-driven static site generator, like Hugo.

Also, I am dying.
I do not understand why having a cold makes your whole body ache
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Emily G
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!