DevTools Developer Profile
Samuel Cavazos @samuel
Chief Data Scientist
Repos
15
Stars
0
Followers
0
Forks
0
Python 2 Jupyter Notebook 2 HTML 1 Rust 1 JavaScript 1 MDX 1

Feed

Public blog posts and quick posts from @samuel.
Preview · Apr 03, 2026 10:42 PM
Activity
9
Followers
1
Languages
6
Alshival, unleashed in your cloud environment, on your infrastructure, or on your raspberry pi.
samuel
@samuel
DevTools is a tool for devs, but it is also a social media platform built to do the things they wish they could do on social media. Like mermaid diagrams.

flowchart TB
  classDef event fill:#fff3cd,stroke:#856404,color:#4a3b00,stroke-width:1px;
  classDef proc fill:#d1ecf1,stroke:#0c5460,color:#0c5460,stroke-width:1px;
  classDef db fill:#e2e3e5,stroke:#383d41,color:#212529,stroke-width:1px;
  classDef decision fill:#f8d7da,stroke:#721c24,color:#721c24,stroke-width:1px;
  classDef ext fill:#d4edda,stroke:#155724,color:#155724,stroke-width:1px;

  A["Stripe Event Received"]:::event --> B["Verify signature and parse event"]:::proc
  B --> C{"Valid webhook?"}:::decision
  C -- "No" --> Z1["HTTP 400"]:::event
  C -- "Yes" --> D["Extract event type, IDs, payload"]:::proc

  D --> E{"Event type"}:::decision
  E -- "checkout.session.completed or async_payment_succeeded" --> F1["Resolve profile by client_reference_id/customer/email"]:::proc
  E -- "customer.subscription.created or updated" --> F2["Resolve profile by stripe_customer_id"]:::proc
  E -- "customer.subscription.deleted" --> F3["Mark subscription ended"]:::proc
  E -- "Other" --> Z2["Ignore and HTTP 200"]:::event

  F1 --> G1["Capture was_subscribed snapshot"]:::proc
  F2 --> G2["Capture was_subscribed snapshot"]:::proc
  G1 --> H1["Update stripe_customer_id, subscription_id, status, period_end"]:::proc
  G2 --> H2["Update subscription_id, status, period_end"]:::proc
  H1 --> I1[("auth_profile")]:::db
  H2 --> I1

  F3 --> I2["Update status deleted/canceled and clear period_end"]:::proc
  I2 --> I1

  H1 --> J1{"now_subscribed and not was_subscribed?"}:::decision
  H2 --> J2{"now_subscribed and not was_subscribed?"}:::decision
  J1 -- "No" --> R1["No staff alert dispatch"]:::proc
  J2 -- "No" --> R1
  J1 -- "Yes" --> K["Dispatch new DevTools subscriber staff alerts"]:::proc
  J2 -- "Yes" --> K

  K --> L["Select active staff and superusers"]:::proc
  L --> M[("auth_user and profile")]:::db
  L --> N["Load each staff member account_settings"]:::proc
  N --> O[("client_resources/user-ID/resources.db")]:::db
  N --> P{"Any channel enabled: app, sms, email?"}:::decision
  P -- "No" --> Q1["Skip recipient"]:::proc
  P -- "Yes" --> Q2["Build app/sms/email payload"]:::proc

  Q2 --> APP{"App enabled?"}:::decision
  Q2 --> SMS{"SMS enabled?"}:::decision
  Q2 --> EMAIL{"Email enabled?"}:::decision

  APP -- "Yes" --> APP1["Create in-app notification"]:::proc
  APP1 --> O
  APP -- "No" --> APP0["Skip app"]:::proc

  SMS -- "Yes" --> SMS1{"Phone verified and present?"}:::decision
  SMS1 -- "No" --> SMS0["Record sms_phone_missing_or_unverified"]:::proc
  SMS1 -- "Yes" --> SMS2["Send SMS via Twilio helper"]:::ext
  SMS2 --> SMS3{"SMS success?"}:::decision
  SMS3 -- "Yes" --> SMS4["Persist outbound message in conversation log"]:::proc
  SMS4 --> O
  SMS3 -- "No" --> SMS5["Record sms_send_failed"]:::proc
  SMS -- "No" --> SMS6["Skip sms"]:::proc

  EMAIL -- "Yes" --> EM1{"Staff email available?"}:::decision
  EM1 -- "No" --> EM0["Record email_missing"]:::proc
  EM1 -- "Yes" --> EM2["Send email via send_email"]:::ext
  EM2 --> EM3{"Email success?"}:::decision
  EM3 -- "Yes" --> EM4["Mark email delivered"]:::proc
  EM3 -- "No" --> EM5["Record email_send_failed"]:::proc
  EMAIL -- "No" --> EM6["Skip email"]:::proc

  APP1 --> CX
  APP0 --> CX
  SMS0 --> CX
  SMS4 --> CX
  SMS5 --> CX
  SMS6 --> CX
  EM0 --> CX
  EM4 --> CX
  EM5 --> CX
  EM6 --> CX

  CX["record_context_event: new_devtools_subscriber_alert_dispatched"]:::proc --> O

  subgraph Settings["Account Settings Update Flow"]
    S1["User submits notification settings form"]:::event --> S2{"Is staff or superuser?"}:::decision
    S2 -- "No" --> S3["Force staff-only alert toggles false"]:::proc
    S2 -- "Yes" --> S4["Accept submitted values"]:::proc
    S3 --> S5["Persist account_settings"]:::proc
    S4 --> S5
    S5 --> O
    S5 --> S6["record_context_event: notification_preferences_updated"]:::proc
    S6 --> O
  end

  R1 --> Z3["HTTP 200"]:::event
  Q1 --> Z3
  CX --> Z3
  Z2 --> Z3
DevTools, In Depth: Build, Monitor, Share, and Respond Faster With Alshival
A practical deep dive into DevTools: resource monitoring, Python SDK logging, team sharing, and what is coming next with Alshival.
A Dev Shop Powered By Curiosity
New Hire, what is Alshival.Cloud, and... DevTools?
CODE RED!!!! - Alshival
Alshival.Ai is relaunching their blog platform!
Alshival.Ai is launching a staff blog platform. Our own substack, if you will. This is a test blog post. Test test test test test test test test test test test test!!!!!
We Signed a HIPAA BAA with OpenAI
Our HIPAA Business Associate Agreement with OpenAI is live, unlocking GPT-powered copilots that meet hospital-grade safeguards.
November Skatepark BBQ
November marked the first stop in Alshival.Ai's monthly Skatepark BBQ series, where we bring food, music, and data nerdery to a different Texas skatepark every month.
The Data Team welcomes Rafael!
We’re excited to welcome Rafael, a 4.0 CS student at UTRGV with a biology background, as the newest intern on the Data Team.

GitHub Snapshot

Pinned repositories and public stats.
Repos
15
Stars
0
Followers
0
Following
2
Jupyter Notebook 0

About

Public profile details only. Resource activity stays inside DevTools.
Public
Permalink
https://alshival.dev/profile/samuel/