Skip to content
View madoleary's full-sized avatar
🤠
🤠

Block or report madoleary

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
madoleary/README.md

Madeline O’Leary

Random woman. Full-stack engineer with a filmmaking habit. Or filmmaker with a coding habit. Depends on the day.
Currently building tech to make filmmakers’ lives easier, which is arguably the hardest possible thing to do!!!!!


❤️ Passion Project — Drameter

Python Badge pdfplumber Badge MIT License Badge

🎬 Drameter: Define the metadata of film language.

Drameter analyzes the underlying structure, rhythm, and cinematic language of a screenplay, quantifying tone, pacing, and visual storytelling at the scene level.

Why it’s different:

  • 🗂️ Scene-by-scene analysis from screenplay headings (INT./EXT.)
  • 🗣️ Differentiates dialogue from action for accurate pacing
  • 🎭 Beat-aware timing: includes pauses for (beat) cues
  • 🎞️ Visual pacing detection: montage, flashback, intercuts, fast cuts, and more
  • 📝 Flags no-dialogue and low-dialogue scenes, transitions, and structural cues
  • 📤 CSV export for production, editing, and planning
  • ⚙️ Built with Python + pdfplumber
  • 🪪 MIT licensed, open to contributions

Who it helps:

  • Writers refining structure and rhythm
  • Directors shaping tone and timing
  • Assistant Directors tackling production complexities
  • Editors anticipating pacing and style
  • Producers estimating real runtime beyond page count

🔑 Skills / Tech

  • Backend: Ruby on Rails, Python (Django, Pyramid), Node.js (working knowledge)
  • Frontend: React, Vue, Ember, JavaScript (extensive), TypeScript (working knowledge)
  • Databases: PostgreSQL, MySQL
  • Infrastructure: Docker, AWS, Elasticsearch, Ansible
  • Security & Auth: OAuth, SSO, role-based access, multi-factor authentication (YubiKey)
  • Other: API design & integration, workflow automation, testing (RSpec, Jest), secure collaboration platforms

🛠️ Selected Projects

Terms of Service; Didn’t Read (ToS;DR)

Phoenix Platform (2017–2025) — Founding Contributor & Maintainer
Making digital rights legible for the public, transforming complex terms of service into accessible knowledge.

  • Took Phoenix from a hackathon prototype to production (user onboarding, curation tools, moderation workflows).
  • Refactored Rails backend & standardized frontend for scaling.
  • Replaced the annotation system with customized Hypothesis (h, client), tightly integrated with Phoenix.
  • Replaced outdated crawler with a federated crawler based on OTA’s engine.
  • Led 2025 infra debugging (swap/memory tuning, Puma config, Rack::Attack cleanup, Elasticsearch load investigation).

📎 Repo: tosdr/phoenix


Bluesquare

Full-Stack Engineer (2022–2023)
Building financial transparency tools for health systems across Africa.

  • ORBF2 (Rails): Implemented APIs for users, sets, topics, activities, formulas, payments, and decision tables.
  • Hesabu-Manager (React): Migrated to React Query, refactored components, and built UI for managing formulas, sets, and users.
  • blsq-report-components (React + Tailwind): Built modular reporting components, org unit filters, contract/invoice tree views, and mutations for dataset sync.

📎 Repo: BLSQ/orbf2


ICIJ (International Consortium of Investigative Journalists)

Full-Stack Engineer (2018–2022)
Empowering investigative journalism with secure, scalable collaboration platforms.

  • Xemx (Rails/Vue): Extended custom SSO with WebAuthn (YubiKey MFA), PGP integration, LDAP/Posix management.
  • Customized Discourse (private): Partitioned instances by investigation, integrated with Xemx SSO, linked to Datashare documents.
  • Managed infra with Ansible playbooks (production/staging deployments, env configs).

📎 Private repos (Xemx, Discourse) due to newsroom sensitivity.


🎬 Adjacent Experience

Flirtologist — High-Budget Short Film Recognized at International Festivals (Writer/Director/Producer)

  • Challenge: Create an ambitious short film with strong creative vision while managing the complex logistics of a multi-location, international production on a fixed budget and timeline.
  • Action: Selected cast from thousands of applicants and personally scouted filming locations to balance artistic goals with practical constraints; managed budget, schedule, and a 60+ person crew from pre-production through post; coordinated multi-site shoots and international teams; and secured financing through state film tax credits.
  • Result: Delivered a festival-recognized short film awarded Best Short of the Season & Special Jury Award – Independent Shorts Awards (2025), Best Original Story of the Year – Independent Shorts Awards (IMDb profile).

Pinned Loading

  1. tosdr/edit.tosdr.org tosdr/edit.tosdr.org Public

    👍👎 A new web app to rate services

    HTML 237 36

  2. drameter drameter Public

    Smart screenplay analysis tool for filmmakers

    Python