StackScribe

StackScribe

Hello everyone,

After countless nights spent working on my side project, I’m now preparing to onboard pilot users from a potential customer. I’m seeking advice and pointers on how to create a solid production-readiness checklist and improve the reliability of my Absinthe GraphQL API.

Here’s some context:

  • Backend: Elixir/Phoenix with Absinthe GraphQL API
  • Frontend: JavaScript Single Page Application (SPA)
  • Infrastructure: Fully containerized, running on Kubernetes

I’m particularly interested in:

  1. Best practices for monitoring and observability (metrics, tracing, logging)
  2. Effective error handling and resilience patterns
  3. Load testing and performance optimization strategies
  4. Security considerations specific to GraphQL and containerized applications
  5. Any common pitfalls or lessons learned from your own production deployments

If you’ve had experience launching a similar stack or have insights into reliably scaling Absinthe APIs, your input would be incredibly valuable.

Thank you in advance!

Showing Posts 1 to 5

dimitarvp

dimitarvp

If you want near-instant okay-quality feedback I’d do this:

  1. Run this command in your project’s directory: GitHub - yamadashy/repomix: 📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more. · GitHub. It creates a single XML file containing all your project’s files and their relative paths.
  2. Describe in details what are your goals of the project. Be very, very detailed. Write this for an hour or two if you must.
  3. Feed both to Gemini Pro 2.5. Ask it whether your goals and what it sees in the code align.

I have trashed LLMs since they came out – for the record. But Gemini Pro is really good if you give it a detailed prompt and if you’re guiding it towards the goals that you hold dear.

StackScribe

StackScribe OP

Thanks this is actually great. I’m on the fence for LLMs but haven’t tried Gemini so I’ll give it a shot.

dimitarvp

dimitarvp

I hate scoreboards but still, check this out: Code Arena: Build & Test with AI Coding Models

And Gemini Pro just got an update today, so it should be even better. And it was already at the very top position.

I dread the possibility to stop thinking well out of laziness and pushing everything to LLMs and I am thus working very hard to avoid getting addicted and lazy, to the point of having to get up from the chair and breathe deeply for full 5-10 minutes a few times lately.

But fair is fair, Gemini Pro is excellent and it has saved me significant time on several occasions lately.

FlyingNoodle

FlyingNoodle

But Gemini Pro is really good if you give it a detailed prompt and if you’re guiding it towards the goals that you hold dear.

Is it though? It gave me this code:

# Try to find the last space in this potential prefix.
# String.rindex/2 returns the 0-based index of the last occurrence or nil.
case String.rindex(potential_prefix, " ") do
  nil ->
    # No space was found within the first 'limit' characters.
    # In this case, we return the string truncated exactly at 'limit'.
    potential_prefix
  idx ->
    # A space was found at 'idx'.
    # We slice the original string up to this point to ensure we don't cut a word.
    String.slice(text, 0, idx)
end

Last time I checked there is no rindex function the String module.

Edit: and the bloated, useless comments drive me crazy.
Edit2: this is gemini 2.5 pro btw.

dimitarvp

dimitarvp

I don’t work for Google and I’m not here to do PR for them. You also didn’t show your exact prompt so your result can’t be assessed well against it.

For what I used it, it’s fantastic. I’ve invested a lot in prompting with many details and priorities.

Obviously at one point one has to wonder whether that investment is not spending more time and energy compared to just doing it yourself. If that is so then okay, do it yourself. That particular choice was always there.

For what I’m doing in the last several weeks, Gemini Pro is supernaturally good. I have a very good idea what must be done, I’ve given it literal hundreds of thousands of tokens of context and it is performing fantastic at the code generation I need from it (long, annoying, verbose code that still has to be thorough and just, you know, verbose for no reason).

And I’m still triple-checking every line of code I asked it to generate. Much more often, I’m asking it for feedback on the code I’m writing.

So yeah, if it doesn’t work for you and you dislike it then fair enough.

— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
samoloth
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
FlyingNoodle
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews