I labor over every word, every button, every line of code, every blog post. I would say it is as hand-crafted as something digital can be.
1,224 karma · joined January 30, 2022
I labor over every word, every button, every line of code, every blog post. I would say it is as hand-crafted as something digital can be.
These are screenshots from that week: https://x.com/barrelltech/status/1995900100174880806
I'm not going to share the prompt because (1) it's very long (2) there were dozens of variations and (3) it seems like poor business practices to share the most indefensible part of your business online XD
Was really plug and play. There are still small nuances to each one, but compared to a year ago prompts are much more portable
I then tried multiple models, and they all failed in spectacular ways. Only Grok and Mistral had an acceptable success rate, although Grok did not follow the formatting instructions as well as Mistral.
Phrasing is a language learning application, so the formatting is very complicated, with multiple languages and multiple scripts intertwined with markdown formatting. I do include dozens of examples in the prompts, but it's something many models struggle with.
This was a few months ago, so to be fair, it's possible gpt-5.1 or gemini-3 or the new deepseek model may have caught up. I have not had the time or need to compare, as Mistral has been sufficient for my use cases.
I mean, I'd love to get that 0.1% error rate down, but there have always more pressing issues XD
I'm not sure how these new models compare to the biggest and baddest models, but if price, speed, and reliability are a concern for your use cases I cannot recommend Mistral enough.
Very excited to try out these new models! To be fair, mistral-3-medium-0525 still occasionally produces gibberish ~0.1% of my use cases (vs gpt-5's 15% failure rate). Will report back if that goes up or down with these new models
Phrasing is a language learning application optimized for learning and maintaining multiple languages, and designed to take you all the way to fluency and beyond. It the professional language learning application for serious learners.
It's built with Elixir on the backend, and ClojureScript on the front end. I did try to avoid such an esoteric tech stack, but functional programming and immutable data are just too good.
I'm looking for someone to come in and take over the Elixir backend for a few main reasons:
1. I long ago hit the limit of what one engineer can do
2. I need to focus on customer facing issues for the foreseeable future, and don't want progress to stop on the backend
3. I need someone to collaborate with, if not just to discuss technical details
I'm trying to do something different with Phrasing, on both a product and a company level. I'm personally tired of the rampant enshittification of the entire web, and miss the magic of the early internet. I'm trying to make a massive product, built by a tiny team of people doing the best work of their lives.
I've got a product and some extremely happy (paying users, but this is a very early stage startup. Anyone who joins now would be paid in revenue share (of which there is some) and equity, and should be willing to put in a lot of work and take a fair amount of risk. You need to be passionate about your craft, interested enough in language learning to dogfood the product, and crazy enough to believe you can change the world.
If you're interested, please send me a well written email to hn@phrasing.app. Low effort applications will be ignored. The first step of the interview process is a 60 minute interview, so if your application does not make me say "hell yes" then it will likely be rejected.
https://phrasing.app/blog/mission https://phrasing.app/blog/humane-srs https://phrasing.app/blog/10x https://phrasing.app/method
I write all my responses by hand, that’s just how I like to do things. If it is going to take me longer to write the rejection than the applicant spent on the application, I’m not going to do it. It would be unmaintainable to keep up with, and it’s hard to feel that someone deserves a few minutes of my time because they copy pasted an email address (if that).
I can’t speak for everyone’s practices, but genuine applications with effort put in are met with the same level of effort in the response. I’ve interviewed dozens of people solely on their level of effort put into the application (as opposed to the content of their resume). I’d rather spend an hour interviewing a bad fit that cares than responding to 20 people who couldn’t even name the company they applied to.
I think those struggling would find better luck with quality over quantity wrt applications. It takes shockingly little to stand out from the flood of applications you get on here. Including things like the name of the company, why you’re interested, and why you’d be a good fit are exceedingly rare (and imho the bare minimum for an application). If you can convey even a modicum of excitement or competence, it basically guarantees you at least a response, if not an interview.
Also, I’ve never responded to an AI generated application. That is not a solution, as it’s impossible to tell whether you’ve even seen the job ad or just signed up for some service. If you’re a non-native speaker, don’t worry about grammatical errors. If you’re really concerned and must use it, disclose your use of it if you want any hopes of a response
Just my two cents from the other side of the conversation.
So I actually find it the perfect thing for Kagi to work with. If they can leverage LLMs to improve search, without getting distracted by the “AI” stuff, there’s tons of potential value,
Not saying that’s what this is… but if there’s any company I’d want playing with LLMs it’s probably Kagi
It's odd to me, I feel like I have to be a pretty median user of LLMs (a bit of engineering, a bit of research, a bit of writing) yet each generation gets less and less useful.
I think they all focus way too much on finding a 'right' answer. I like LLMs for their ability to replicate divergent thinking. If I want a 'right' answer, I'm not going to even have an LLM in my toolbox :/
At the end of the day the simplicity of L/N made it well worth the performance degradation. Still making thousands-to-millions of writes per second, so when the original article said they were 'exaggerating' I think they may have gone too far.
I've been hoping WAL gets some more documentation love in the years/decades L/N will serve me should I ever need to upgrade, so please share more! :D
I'm only sharing this should it be helpful:
def up do
whitelist = Enum.join(@user_columns ++ ["tick"], "', '")
execute """
CREATE OR REPLACE FUNCTION notify_phrasing() RETURNS trigger AS $$
DECLARE
notif jsonb;
col_name text;
col_value text;
uuids jsonb := '{}'::jsonb;
user_columns text[] := ARRAY['#{whitelist}'];
BEGIN
-- First, add all UUID columns
FOR col_name IN
SELECT column_name
FROM information_schema.columns
WHERE table_name = TG_TABLE_NAME AND data_type = 'uuid'
LOOP
EXECUTE format('SELECT ($1).%I::text', col_name)
INTO col_value
USING CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END;
IF col_value IS NOT NULL THEN
uuids := uuids || jsonb_build_object(col_name, col_value);
END IF;
END LOOP;
-- Then, add user columns if they exist in the table
FOREACH col_name IN ARRAY user_columns
LOOP
IF EXISTS (
SELECT 1
FROM information_schema.columns
WHERE table_name = TG_TABLE_NAME AND column_name = col_name
) THEN
EXECUTE format('SELECT ($1).%I::text', col_name)
INTO col_value
USING CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END;
IF col_value IS NOT NULL THEN
uuids := uuids || jsonb_build_object(col_name, col_value);
END IF;
END IF;
END LOOP;
notif = jsonb_build_object(
'table', TG_TABLE_NAME,
'event', TG_OP,
'uuids', uuids
);
PERFORM pg_notify('phrasing', notif::text);
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
"""
# Create trigger for each table
Enum.each(@tables, fn table ->
execute """
CREATE TRIGGER notify_phrasing__#{table}
AFTER INSERT OR UPDATE OR DELETE ON #{table}
FOR EACH ROW EXECUTE FUNCTION notify_phrasing();
"""
end)
end
I do react to most (70%) of my database changes in some way shape or form, and post them to a PubSub topic with the uuids. All of my dispatching can be done off of uuids.If a good Dzongkha TTS comes out, then I'd be happy to integrate it natively!
In terms of QA, I'm using the application to learn at least one language from every major language family, so I do reviews in about 15 language families every day.
That and constant communication with my users! :)
I'll work on getting some samples generated today or tomorrow for the onboarding flow, but if you sign up you can now extract expressions in Flemish.
Objectively they have a good team, but I do not think it’s above crticism in either regard.
I think it’s quite obvious though why Duolingo doesnt disprove any of my points. There was and is still no pleasant, multilingual, effective language learning app on the market. For the most part, you can choose one of those (and no, I do not consider Duolingo “multilingual” in the sense most polyglots need :) )
Phrasing is a bootstrapped company dedicated to building the most effective and efficient way to learn a language.
I’m a polyglot myself and have always struggled for a few main reasons:
1. Apps only ever focus on taking you from 0-1, never from 1-100.
2. If you have any experience in the language, it’s really hard to pick it up after a few years.
3. Language learning apps are always ugly, clunky, ugly, and just stressful to use. And ugly.
4. No apps support maintaining and learning multiple languages simultaneously
5. Apps only ever support the major languages, leaving minority languages in the dust
So, I set off to build my dream language learning application, and a quick 2 years and 10,000 hours later I’d built Phrasing.
It’s launched, it’s live, it has (happy) paying daily users, and I myself am using it to learn 18 languages. The product is ready to go, and the business is already growing organically.
I’m looking for someone cracked to come in in a co-founding capacity and eventually take over the backend (elixir) codebase from me.
No experience is required so long as you’re passionate, talented, and hungry.
If you’re interested, and located in Europe, send me an email at hn@phrasing.app.
In practice, I upgraded everything to GPT-5 and the performance was so terrible I had to rollback the update.
You do not believe that this has already started? It seems to me that we’re well into a massive slowdown
I do wonder what natives think and feel about the longevity of their language? What is taught in schools at what ages (assuming English is in the mix somewhere). Is there enough media in Maltese for Malti to go about the moderns at fully in Maltese? It’s shockingly hard to find any information on Maltese, and even harder to find content.
I’m not sure if’s dying out, or in danger thereof; if there are preservation efforts, or if there is no need.
Personally I would recommend including a note that English is not your native language and you had an LLM clean things up. I think people are willing to give quite a bit of grace, if it’s disclosed.
Personally, I’d rather see a response in your native language with a translation, but I’m fairly certain I’m the odd one out in that situation XD
Can’t do it while I’m renting, but maybe one day!
YMMV, but every time I’ve brought out a camera in the last 5-10 years it has just made people uncomfortable, so I stopped taking it out, and eventually stopped bringing it.
Everyone, me more than most, doesn’t want their picture taken, or to be in the background of other photos. When someone can take thousands of pictures an hour, and upload them all to some social media site to be permanently stored… idk it’s shifted from a way to capture a moment to feeling like you’re being survieled.
A bit hyperbolic, but it’s the best way to describe what I’m feeling
There’s no way I’m (ever) upgrading to Tahoe, I’m just going to hold out as long as possible and hope Omarchy gets as stable and feature rich as possible in the time being.
No idea what to do about the mobile situation - I can’t see myself realistically ever using android. Switching off of iCloud and Apple Music would also be pretty tough, although I’ve seen some private clouds lately that were compelling.
I just wish there was a more Linux-minded less-Google oriented mobile operating system