Sign in

Sriram Kota

@sriramskota.bsky.social
1.3K followers 398 following 830 posts

Senior #elixir engineer | www.youtube.com/@sriramkota | gumroad.com/skota

PostsRepliesMedia
Reposted by Sriram Kota
Sean Cribbs @seancribbs.bsky.social · 27/09/2026
Happy Sunday, let's continue creating our #PEG #PackratParser generator in #GleamLang! Today we'll work on some optimizations of the abstract forms that should produce better generated code. Join me at 1:30PM CDT: youtube.com/live/aZsSw8U...
youtube.com
Grammar Optimizations, Ep. 8 - Rewriting Neotoma in Gleam
YouTube video by Sean Cribbs
052
Sriram Kota @sriramskota.bsky.social · 12/09/2026
Just installed @OmarchyLinux on a system76 laptop, i never really liked popos 😐. Looks good so far..😃
000
Reposted by Sriram Kota
Mike Zornek, looking for work. @mikezornek.com · 08/09/2026
💜 A favor to ask: I'm looking to land Elixir consulting work. To help get in front of new faces, I have a "one problem, two weeks, $6,000" offer. Aimed at one nagging thing: a flaky test suite, a stalled upgrade. The debt that falls on the floor. A share or an intro would mean a lot. 🙏 #ElixirLang
mikezornek.com
Elixir Consulting
Elixir and Phoenix consulting. Fixed-price two-week sprints at $6,000, or ongoing hourly work, for teams that need upgrades, stability, and senior review.
077
Reposted by Sriram Kota
Liam Killingback @aurorameter.bsky.social · 08/09/2026
Just want to announce the launch of Aurora Meter, a free MIT open source metering solution for the elixir & phoenix framework. I would genuinely like to hear what metering shapes people have hand-rolled in their own apps. Github: github.com/liamkillingb... site: aurorameter.com
github.com
GitHub - liamkillingback/aurora-meter: Real-time usage metering, plan entitlements, and Stripe-ready billing primitives for Phoenix.
Real-time usage metering, plan entitlements, and Stripe-ready billing primitives for Phoenix. - liamkillingback/aurora-meter
051
Reposted by Sriram Kota
Lars Wikman @lawik.bsky.social · 27/08/2026
"You got Bryan Hunter?" was a common response to us announcing him speaking. Now we know what he will be speaking about. Enjoy. goatmire.com/talk/safe-sy... #goatmire #elixirlang
goatmire.com
Safe Systems in a Chaotic World by Bryan Hunter
System failures of all flavors, zero-days, mass layoffs, the climate crisis, AI slop, war, crumbling infrastructure and institutions. Incompetence is so ambient that the term "competency porn" was…
0183
Reposted by Sriram Kota
Adolfo Neto @adolfoneto.elixiremfoco.com · 27/08/2026
Please, don't let it crash! #Erlang #ElixirLang #GleamLang
021
Sriram Kota @sriramskota.bsky.social · 19/08/2026
Whats the goto package for building shopify apps with Phoenixframework and Liveview? #phoenixframework #shopify #elixirlang
101
Sriram Kota @sriramskota.bsky.social · 28/07/2026
woohoo! new elixir podcast 🚀.
0101
Sriram Kota @sriramskota.bsky.social · 08/07/2026
If your app asks for a review before the user has succeeded, that is not growth. That is impatience.
010
Sriram Kota @sriramskota.bsky.social · 07/07/2026
phx.gen.auth is a gift to practical developers. You get a strong baseline for users, sessions, confirmation, and login flows, then you can spend your learning energy on the app-specific domain. 🚀
030
Sriram Kota @sriramskota.bsky.social · 07/07/2026
Phoenix layouts are not just decoration. They encode product structure. In the loyalty app, the dashboard layout teaches routing, authentication context, navigation state, and responsive UI in one practical place
010
Sriram Kota @sriramskota.bsky.social · 07/07/2026
A useful LiveView rule: ✖️ do not dump huge data into assigns just because you can. Assigns are per connected user. ✅ Keep the state focused and your real-time app stays healthier.
020
Reposted by Sriram Kota
Sriram Kota @sriramskota.bsky.social · 04/07/2026
A LiveView is a long-lived process. A controller request is short-lived. That one difference explains why LiveView has `mount`, `handle_params`, `handle_event`, and `handle_info`. A controller only needs to exist for one moment. A LiveView needs to be a full OTP entity because it "lives" 🚀.
021
Sriram Kota @sriramskota.bsky.social · 04/07/2026
LiveView diffing is easy to underestimate. The server does not resend the whole page on every click. It tracks rendered output and sends changes. That is why server-rendered interaction can still feel fast 🔥🚀.
040
Sriram Kota @sriramskota.bsky.social · 04/07/2026
If your admin dashboard is mostly forms, tables, modals, and status updates, LiveView is worth a serious look. You can build rich interactions without inventing a separate frontend state architecture.
041
Sriram Kota @sriramskota.bsky.social · 04/07/2026
A LiveView is a long-lived process. A controller request is short-lived. That one difference explains why LiveView has `mount`, `handle_params`, `handle_event`, and `handle_info`. A controller only needs to exist for one moment. A LiveView needs to be a full OTP entity because it "lives" 🚀.
021
Sriram Kota @sriramskota.bsky.social · 03/07/2026
✅ LiveView state lives in assigns. 🚀 Change the assigns, the UI updates. 🔥 For admin dashboards, forms, tables, filters, and CRUD flows, that simplicity can replace a lot of frontend ceremony.
010
Sriram Kota @sriramskota.bsky.social · 03/07/2026
LiveView is not "no JavaScript ever." It is "start with server-rendered state, use WebSockets for interaction, and reach for JS only when the browser truly owns the behavior." That is a very productive default.
010
Sriram Kota @sriramskota.bsky.social · 03/07/2026
Getting azure openai deployments to play nicely with codex is always a pain in the backside..😕.
000
Sriram Kota @sriramskota.bsky.social · 03/07/2026
🚀 The `conn` struct is the story of an HTTP request. 🔥 The socket is the story of a LiveView session. Learning Phoenix gets easier when you track where state lives.
000
Reposted by Sriram Kota
Sriram Kota @sriramskota.bsky.social · 02/07/2026
Phoenix pipelines are underrated. They let you say, "all browser requests need these steps" or "all API requests need these checks." 🔥 That one idea keeps controllers boring, which is a compliment.🔥
111
Sriram Kota @sriramskota.bsky.social · 02/07/2026
Phoenix pipelines are underrated. They let you say, "all browser requests need these steps" or "all API requests need these checks." 🔥 That one idea keeps controllers boring, which is a compliment.🔥
111
Sriram Kota @sriramskota.bsky.social · 02/07/2026
Every time i land in azure portal i run back to the comfort of azure cli 🤣
000
Sriram Kota @sriramskota.bsky.social · 02/07/2026
A Phoenix plug is just a function that receives a connection and returns a connection. Authentication, API keys, request metadata, and redirects all become composable steps instead of hidden middleware soup.
001
Sriram Kota @sriramskota.bsky.social · 02/07/2026
Phoenix is great for APIs because the boundaries are explicit: ✅ router ✅ pipeline ✅ controller ✅ context ✅ schema ✅ changeset ✅ repo Once you see the request move through those pieces, the framework feels much less magical.
000
Sriram Kota @sriramskota.bsky.social · 02/07/2026
Phoenix feels familiar if you know Rails or Laravel, but the foundation is different. ✅ Each request runs in a lightweight process. 🚀 Real-time features sit close to the framework. 🔥The BEAM changes what "web framework" can mean.🔥
000
Sriram Kota @sriramskota.bsky.social · 02/07/2026
"Let it crash" does not mean "ignore errors." It means design isolated processes, supervise them, and recover predictably. Fault tolerance is architecture, not vibes.
000
Sriram Kota @sriramskota.bsky.social · 01/07/2026
Built and deployed a small app for scheduling posts. I noticed that some earlier posts were never sent. Turns our these were the problem entries in fly.toml. auto_stop_machines = 'stop', min_machines_running = 0 <------ Duh!
000
Sriram Kota @sriramskota.bsky.social · 01/07/2026
✅ "call" asks a GenServer for a reply. ✅ "cast" sends a message and moves on. That difference matters. If the caller needs a result, use "call". If the work can happen asynchronously, "cast" may fit.🔥
140
Sriram Kota @sriramskota.bsky.social · 01/07/2026
A GenServer is not "a global variable with extra steps." It is a process with a mailbox, state, and a public API. Use it when you need controlled state over time, not when a plain function would do.🔥
030
Sriram Kota @sriramskota.bsky.social · 01/07/2026
The BEAM process model is one of Elixir's superpowers, but the practical lesson is simple: isolate work 🔥. If one customer notification fails, it should not take down the entire app. That is the mindset behind resilient apps.🚀
000
Reposted by Sriram Kota
Christian Findlay @cfdevelop.bsky.social · 01/07/2026
This gets rid of duplicate Dart code in your Flutter app Trust me. You need it marketplace.visualstudio.com/items?itemNa...
marketplace.visualstudio.com
Deslop.live - Visual Studio Marketplace
Extension for Visual Studio Code - Live duplicate-code analysis inside VS Code — the reference client for the Deslop LSP server. Inline warnings as you type, worst-offender view, and a live channel yo...
121
Sriram Kota @sriramskota.bsky.social · 30/06/2026
Functional programming gets less intimidating when you stop treating it like math. In a real app, it often means: receive data, transform it, validate it, persist it, return a clear result.
010
Reposted by Sriram Kota
Sriram Kota @sriramskota.bsky.social · 29/06/2026
Practical Flutter & Phoenix is 70% done. These are pending ☑️ deploy Phoenix ☑️ deploy mobile apps Would you like to see - Proximity alerts with geolocation - Realtime chat with sqlite and Phoenix channels. Preorder at 20% off with code HHES9EU skota.gumroad.com/l/gbfklr
skota.gumroad.com
Practical Flutter & Phoenix
Learn to build a rock-solid rewards mobile application that can scale with PhoenixFramework and Flutter.What will you learn? Elixir and PhoenixFramework Intro to concurrency, fault tolerance and OTP M...
132
Sriram Kota @sriramskota.bsky.social · 30/06/2026
✅ `Enum` is for eager collection work. ✅ `Stream` is for lazy pipelines. You do not need Streams everywhere. You need them when the input is large, expensive, or potentially infinite. Practical Elixir is mostly knowing when not to be clever 🚀.
000
Sriram Kota @sriramskota.bsky.social · 29/06/2026
Beginner Elixir mistake: using maps for everything. Maps are flexible, but too much flexibility lets bad data travel farther. Structs give your app a stronger vocabulary: Customer, Reward, Purchase, Survey. 🔥
000
Sriram Kota @sriramskota.bsky.social · 29/06/2026
Practical Flutter & Phoenix is 70% done. These are pending ☑️ deploy Phoenix ☑️ deploy mobile apps Would you like to see - Proximity alerts with geolocation - Realtime chat with sqlite and Phoenix channels. Preorder at 20% off with code HHES9EU skota.gumroad.com/l/gbfklr
skota.gumroad.com
Practical Flutter & Phoenix
Learn to build a rock-solid rewards mobile application that can scale with PhoenixFramework and Flutter.What will you learn? Elixir and PhoenixFramework Intro to concurrency, fault tolerance and OTP M...
132
Sriram Kota @sriramskota.bsky.social · 29/06/2026
✅ A tuple is great when the shape is fixed and position matters. ✅ A map is better when names matter. ✅ A struct is better when you want a known domain shape. That small decision shows up everywhere in Phoenix apps.
000
Sriram Kota @sriramskota.bsky.social · 29/06/2026
Flutter friends, share your apps. What are you building 🙂? #flutterdev #flutter
230
Sriram Kota @sriramskota.bsky.social · 29/06/2026
Still true. Android is a pain in the butt.
000
Reposted by Sriram Kota
Sriram Kota @sriramskota.bsky.social · 19/11/2025
Today's tunes for coding. The greatest band ever - tears for fears 😃 What are you listening to?
001
Sriram Kota @sriramskota.bsky.social · 29/06/2026
No need for Redis or Memcached: ETS and GenServer let you cache efficiently in-memory. 🧠⚡ #elixir #ElixirLang
010
Sriram Kota @sriramskota.bsky.social · 28/06/2026
✅`Enum` is for eager collection work. ✅`Stream` is for lazy pipelines. You do not need Streams everywhere. You need them when the input is large, expensive, or potentially infinite. Practical Elixir is mostly knowing when not to be clever.
010
Sriram Kota @sriramskota.bsky.social · 28/06/2026
Beginner Elixir mistake: using maps for everything. Maps are flexible, but too much flexibility lets bad data travel farther. Structs give your app a stronger vocabulary: Customer, Reward, Purchase, Survey.
000
Sriram Kota @sriramskota.bsky.social · 26/06/2026
✅ A tuple is great when the shape is fixed and position matters. ✅ A map is better when names matter. ✅ A struct is better when you want a known domain shape. That small decision shows up everywhere in Phoenix apps.
000
Sriram Kota @sriramskota.bsky.social · 26/06/2026
Pattern matching is the reason Elixir code often feels calm. Instead of checking everything manually, you let shapes tell the story: `{:ok, value}`, `{:error, reason}`, `%{id: id}`. The code reads like the contract.
000
Sriram Kota @sriramskota.bsky.social · 26/06/2026
If you come from JavaScript or Python, Elixir immutability can feel strange at first. The trick: stop asking "how do I update this object?" Ask "what new value should this step return?" That shift removes a surprising amount of hidden state.
000
Sriram Kota @sriramskota.bsky.social · 26/06/2026
The pipe operator is not just prettier nesting. It changes how you think: each function receives data, transforms it, and hands it forward. That mental model maps beautifully to API params, Ecto changesets, and Flutter response parsing
000
Reposted by Sriram Kota
Sriram Kota @sriramskota.bsky.social · 23/06/2026
Vibe coding a tiny social posting tool. Just added support for attaching images. Phoenix is awesome 😀
211
Reposted by Sriram Kota
Shahryar Tavakkoli @shahryar-tbiz.bsky.social · 25/06/2026
After a week with AI, I converted the first version of Base UI into Phoenix headless components. 🚀 35+ new components added. This week: testing and refactoring. Not in the CLI yet, but you can already try it in Mishka Chelekom. github.com/mishka-group... #ElixirLang
041