HackerTrans
TopNewTrendsCommentsPastAskShowJobs

jvanveen

no profile record

Submissions

Show HN: Mithril fork with Signals, state, store and SSR

2 points·by jvanveen·5 months ago·0 comments

Garage44 – Modern web applications built with Bun, Preact, and DeepSignal

github.com
3 points·by jvanveen·8 months ago·0 comments

Show HN: Expressio – internationalization tooling for translators and AI

github.com
1 points·by jvanveen·8 months ago·1 comments

Show HN: Real-time app starter with FastAPI, PostgreSQL pub/sub, and UV

4 points·by jvanveen·9 months ago·1 comments

Show HN: Expressio – Internationalization for humans, through AI

github.com
2 points·by jvanveen·last year·0 comments

Show HN: Expressio – AI-Automated Internationalization

github.com
3 points·by jvanveen·last year·0 comments

Show HN: Mithril Improved with AI

github.com
1 points·by jvanveen·last year·0 comments

Show HN: Expressio – Automated Internationalization

github.com
2 points·by jvanveen·last year·0 comments

Show HN: Expressio – open-source Translation Automation

expressio.tech
1 points·by jvanveen·last year·0 comments

Show HN: Codebrew – An open-source AI-powered development workflow (early stage)

1 points·by jvanveen·2 years ago·0 comments

Show HN: Codecrew LLM Issue Refinement

codeberg.org
1 points·by jvanveen·2 years ago·0 comments

Expressio 1.1.0 – Initial Arabic and Chinese support

npmjs.com
1 points·by jvanveen·2 years ago·0 comments

Show HN: Expressio – Machine Translation

garage44.org
1 points·by jvanveen·2 years ago·0 comments

comments

jvanveen
·5 months ago·discuss
I'm working on a set of open-source applications to help collaborate on building software. Basic principles are better online communication between people(Pyrite - Galene SFU, channel-based chat), automating i18n and project management where feasible. Mostly experimental: https://github.com/garage44/garage44/
jvanveen
·8 months ago·discuss
Expressio simplifies i18n workflows with tooling that works for both human translators and AI. Type-safe translations, AI translation support (DeepL, Claude), and code sync.

Instead of magic strings like `$t('menu.settings')`, you use typed references: `$t(i18n.menu.settings)`. TypeScript knows about all translations, IDE autocomplete works, and refactoring is safe. The type-safe approach also makes it easy for AI tools to understand and work with translations.

Features:

- AI translation via DeepL/Claude

- Type-safe translations (no magic strings)

- CLI + web UI

- Real-time WebSocket sync

- Lint to find missing translations in code

Works with i18next format. Uses a workspace file (`.expressio.json`) to track source text and translations. Built partly with AI assistance to speed up development.
jvanveen
·9 months ago·discuss
Live demo: https://garage44.org/
jvanveen
·10 months ago·discuss
Puppeteer (Pdfium => https://github.com/chromium/pdfium)
jvanveen
·last year·discuss
I can't believe people still buy the Purism scam after all these years...I ordered a Librem 5 and a Pinephone back in the days of the other supply chain story(Covid). The Pinephone flew in from China in less than 2 months; the Librem 5 took more than 4 years to arrive. All Purism offered during that time were "opportunities" to invest and exhausting delay stories about failing supply chains, while keeping their customers completely in the dark about their order state. Instead of preying on the goodwill of FOSS enthousiasts, they now try to tap into a new market (nationalism) to sell the same useless overpriced brick to.
jvanveen
·2 years ago·discuss
Recently used Cursor/Claude sonnet to port ~30k lines of EOL Livescript/Hyperscript to Typescript/JSX in less than 2 weeks. That would have took at least several months otherwise. Definitively a force multiplier, for this kind of repetitional work.
jvanveen
·2 years ago·discuss
I hate to manually keep track of development time. Wakatime and Wakapi (https://github.com/muety/wakapi) are super useful to generate monthly stats from its api. Made an open-source tool to generate monthly hour reports with: https://codeberg.org/garage44/garage44/src/branch/main/packa...
jvanveen
·2 years ago·discuss
Not hours; but days instead of months: porting around 30k lines of legacy livescript project to typescript. Most of the work is in tweaking a prompt for Claude (using Aider) so the porting process is done correctly.
jvanveen
·2 years ago·discuss
Interesting approach! I like the idea of using an ast to find translation strings and to generate source strings by an llm from the context. My experience is the same. Having to deal with 6 languages and a fast changing application is impossible for small teams, so I ended up with asimilar approach where developers only edit the source text, and target translations are automatically kept in sync using Deepl. This solves the whole i18n dilemma of outdated/missing translations, by just focussing on the source texts. It would be great to be able to even generate the source texts from the $t tag. I'm slowly turning this into an open source developer tool: https://garage44.org/posts/expressio/expressio-machine-trans...
jvanveen
·2 years ago·discuss
I just switched to Bun for typescript support, a free bundler and better performance. Iojs flashback all over :)
jvanveen
·2 years ago·discuss
"you have 3 items in your cart" would in that case create a translation for each time the amount changes, instead of having "you have {{count}} items in your cart. A backend proxy sounds like an interesting idea, but working with an i18n formatted string from the start seems like a more sustainable approach.
jvanveen
·2 years ago·discuss
Cool, nice product. Interesting to see that you've managed to get translations working on top of chatGPT, even for languages like Arabic! I decided not to support target language edits, because I felt it would make it much more difficult to keep languages in sync, when the source string is not always leading. How do you deal with this properly? Would love to have an automatic workflow that updates the json source file, as i18n tags are being added/removed from frontend files. For versioning; maybe just take advantage of the project's (git) versioning?
jvanveen
·2 years ago·discuss
Interesting! How about using Deepl as a translation backend? I got some good results for translation strings with {{placeholders}} that needed to be ignored in the translations. Its api also has some neat features like formality, glossaries and context(experimental).

Ps. I'm working on a similar opensource tool to speed up the i18n process ( https://codeberg.org/garage44/expressio)