Back to HN Show HN: Fata – Spaced repetition to fight skill rot from AI codingby djoume | 38 points | 18 comments | 2026-06-11 06:57:03 Central Open Source Link | Read Source Here Open on Hacker News PostHi HN, I'm Djoumé. I've been a developer for over 20
years, and like a lot of you I've been coding almost
exclusively through an agent in the past few months.It's
been amazing to vibe code prototypes in any stack, but
when it comes to building something reliable/scalable, I
couldn't effectively guide the agent unless I knew the
technology. And the scariest part is that I'm seeing a
lot of my technical skills decreasing due to AI
coding.Reflecting on my journey, I also worry about how
the new "AI native" generation of software developer is
going to acquire technical depth.So I built fata.dev:
short daily spaced-repetition sessions for programming
skills (Rust, CSS, React, Python, TypeScript,
Architecture).You can try it in the browser with no
signup: https://fata.app/coursesIt's an offline-first
mobile app built with Capacitor, RxDB and Firebase. The
first courses were painfully written by hand, but most
content is now AI-generated. It takes about 3000 LLM
calls to generate a course, and every code samples goes
through compilation, linting, unit testing, AI and a
final manual review.Would very much appreciate any
feedback on the product & website, what works and what
could be better. Thanks! Commentsdvt Engineering has never been, nor will it ever be, about
"repetition" or "memorization." This is a relatively new
fable invented by those that have participated in
ritualistic interview hazing. Imo, there are, broadly
speaking, two types of engineers: computer scientists, and
programmers.Computer scientists do science. The end result
is a new algorithm or theorem, and they work with lots of
math, proof systems, formal languages, and so on. This is
a profoundly creative and collaborative
process.Programmers build products for end-users. The end
result is the user experience, the bottom line, stars on
Github, or whatever. This is also a process that
constantly needs feedback, from teammates and from
clients.These are broad categories and sometimes they
overlap: an operating system or database engineer might do
a bit of both, depending on the hardware targeted or on
various constraints. Sometimes you need to be a bit clever
to get to your product goal.This cleverness has nothing to
do with memorizing keywords or solving interview gotcha
questions. This cleverness can't be augmented by AI, and
it can't be rotted by AI: it's something that's innate to
people. Their internal curiosity just happens to manifest
in the context of engineering because they love the
craft.In many ways, it's like reading a book. You can't
"make someone" enjoy reading, some people are just boring
and uncurious. In many ways, I feel that people that are
threatened by AI are like this. AI is an incredible tool,
but it feels like an autistic junior engineer. Sure, it
might have memorized more library names or more syntax or
can reference some little-known fact, but it fails to
understand basic data flow. It doesn't grasp ergonomics,
ease of use, etc., etc.A tool like fata is great if you
want to be an AI, but it won't turn you into a good
engineer.
| mrmartineau This is super cool and definitely something I can relate
to. In fact, I recently built Reps, a daily coding puzzle,
to help fight "skill rot" as you say. Try it out at
https://reps.zander.wtf and let me know what you think.
| AmblingAvocado Coming at this as someone who has stepped away from coding
more than once for multiple-year long stints due to
various career choices - I think the concern of "skill
rot" is overblown.I stopped writing C++ professionally in
the early 2010's. I came back to it in the early 2020's
and it was extremely easy to pick up. Less like riding a
bike, more like driving a car. The car got better over the
last 10 years, but it still takes a bit of time to fully
meld with the machine. The skills didn't rot, they just
fell behind, and catching up wasn't a big deal.I think the
only "skill rot" people are facing today when coding by
hand vs by agent is that you know you're doing something
the hard way when you know there is another path of least
resistance available - and that creates internal
resistance to doing it the hard way. It's a mental block,
not skill rot.The one area I do find myself questioning is
that my low level tech skills aren't growing - I'm
building bigger projects that do more stuff across more
areas, and as a result I'm touching lots of new
technologies from a birds eye view and directing the
agents to do stuff with them. I'm not personally gaining
that experience of using those technologies, whereas if I
were doing things the old way I would be deep in the weeds
and have to know them in depth. But if I were doing things
the old way I probably wouldn't be building such ambitious
projects as a solo dev either.IMO it's more like digging
out the foundation with shovels vs using an excavator. You
don't lose the shoveling skill by using the excavator, but
you sure feel like a chump using a shovel when there's an
excavator parked and ready next to the job site.
| > axus Maybe it only applies to people at the top of their
game; pro atheletes and musicians need regular
practice, the rest of us can use most of our skills
without that.
| fabled-out This is very, very cool! Super impressed by what you've
built.As a non-programmer who is now doing a lot of vibe
coding for myself these days (and feeling very scared
about which of my vibe coded things will just randomly
break one day haha...) I feel like what I'm missing isn't
necessary language syntax skills, but rather the
higher-level planning/organization/architecture
capabilities that a seasoned software engineer acquires
over years of seeing what scales vs. breaks in the real
world.Is there anything you would recommend I learn to
start acquiring that knowledge (aka. the higher level
knowledge a "vibe-coder" who doesn't manually code by hand
would need)? I'll try out your clean architecture course,
but would love to see more along those lines :)Obviously I
know nothing will replace real world SWE experience, but
anything that could plug that gap even a tiny bit would be
helpful and is something I'm willing to invest in.
| royal__ I can understand that you want to make money from this,
but hiding significant amounts of content behind 13
dollars a month feels a bit much. Especially when you
acknowledge that most of that content is LLM generated.
It's not just the advanced courses, it looks like it's
pretty much all of themCool app though! I love the idea of
coding Duolingo. But I think the price is going to turn
most people off. Another problem I see is that it's not
really clear how this is that much different from other
similar apps out there.
| > djoume Thanks for the feedback. What similar app are you
thinking of?
| > > royal__ Codecademy, Mimo, Enki. I'm not going to act like
I know a lot about other options, and you do say
that fata hits on more advanced topics which these
may not.I do think you have a cool niche here that
isn't being covered, maybe your landing page
should include more information about the
Duolingo-esque features? I just know that pulls me
in a lot.
| > > > royal__ For the record, btw, id DID download your app
and I am going to spend some time using it.
Other commenters here are talking about how
spaced repetition isn't what's important,
which is true in the same sense that you can't
just use Duolingo to learn a language. But
that doesn't make it useless.
| Falimonda If you need to use an agent then you might as well just
work SRS into your harness using something like
https://srs.voxos.ai/
| bluefirebrand The copy on your website is kind of confusing imo> fata
builds the full-stack fundamentals to lead a coding agent
through frontend, backend, and the technical design that
holds up in production."Fata builds" sounds like it does
the work, not like it trains you how to do the work. With
how many "AI does the work for you" promises out there,
it's confusing terminologyAnyways best of luck I suppose.
I would rather run a drill press through my hand than use
AI agents to write code for me, so I'm not your target
audience
| > djoume Thanks for the feedback, much appreciated, will fix
the copy.
| fragmede How's your assembler? Run ar by hand lately?
| > djoume Does not happen often but now and then my basic
x86/arm asm skills have been helpful to debug or just
understand at a deeper level how something works.
| > jubilanti If you're trying to imply that knowing fundamentals of
programming is now as obsolete as knowing fundamentals
of assembler: this is a dumb thought-terminating
cliche that adds nothing to the discussion and I'm
sick of seeing it constantly in these threads.
| > > kakacik Do something helpful for community, don't want
anything back, no ads, no monetization, for a
change reader is not a product. Show it. Get shit
on it by snarky depressed/envious folks.Internet
at its worst.
| > > > joshuat I don't disagree that they're not getting the
best reception, but a freemium product is
hardly a new/rare thing.
| > > dsffdfsdds React, python and Rust are not the "fundamentals
of programming". Those are highly specific
ephemeral instantiations of the more general
knowledge you seem to be alluding to. They are the
new COBOLs. We are not there yet, but the writing
is on the wall pretty clearly if you ask me.
Regular programming languages will indeed be as
useful as knowing assembler in a couple of years,
which is to say, pretty useful, but for many not
necessary (anymore).The main point is that these
things are implementation details like assembler.
Very interesting in and of themselves especially
if you are on the spectrum and occassionally need
to be looked at, but the knowledge is instrumental
at best and useless baggage at worst. Validation
is what matters. Code is useless cruft. If you can
replace it all with "348348-23439 CALL(X(DDD)D)"
somehow, that's great, as long as it works. I
don't know why people get sentimental about
wrangling syntax. We're in automation, we've been
doing it to other people. We're now doing it to
ourselves.You see this point often because it is
blatantly obvious for anyone that didn't build
their identity around proficient wrangling of
specific families of syntax.I suspect the era of
LLMs coding in "our languages" is a temporary
abberation anyway. It's not necessary at all and
in fact actively hampering their effectiveness.
I'd say enjoy it while it lasts.
|
|