Hacker Newsnew | past | comments | ask | show | jobs | submit | G4Vi's commentslogin

  Location: New Hampshire
  Remote: Only (occasional travel okay), 2+ years experience fully remote
  Willing to relocate: Yes
  Technologies: C, C++, Rust, Perl, TS or JS ES6+, Go, Python, WASM, Linux, Windows, Embedded, HTTP, and more
  Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html / https://computoid.com/about/GavinAHayes-Resume.pdf
  Email: gavin [at] computoid dawt com
Hi, I'm Gavin. Professionally, I have 8+ years experience between application and embedded system development for avionics, building WebAssembly tooling, full-stack SaaS development, and Rust network programming. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). For my next role, I'm mostly interested in systems/native development, but can be more flexible to work in an interesting domain.


Hi Gavin, This is David from Onefish AI. If you are interested in the below position, please apply. Thanks

Job description AI Fullstack Engineer

Location: On-Site & Hybrid

Job Type: Full-time

Salary: Competitive, starting at $80K, with a potential equity + path to $300K based on contribution to business performance (details to be discussed)

1. About Us

Onefish AI is building a revolutionary offline-first PWA that delivers AI consulting to SMEs—100% functional offline. Our hybrid architecture combines browser-based Python execution with intelligent cloud routing to empower small businesses with game-like AI tools that boost efficiency and cut waste.

We're a fast-paced startup pushing boundaries in multi-agent AI for real-world business optimization.

2. Role Overview

We're hiring a founding AI Fullstack Engineer to build our core hybrid architecture from the ground up. This is a rare blend of:

Cutting-edge R&D (multi-agent AI systems) Advanced browser/cloud engineering (offline PWAs + smart routing) Direct SME impact (building solutions for real businesses) You'll ship: Offline PWA → Smart cloud integration → Multi-agent AI consulting workflows

3. Tech Stack Overview:

BROWSER: Svelte PWA + Pyodide / Rust,C++ / Tensorflow.js (Offline ML)

CLOUD: Go Router → FastAPI → PostgreSQL

4. Key Responsibilities

FRONTEND & PWA (Offline Resilience)

Architect the PWA Foundation: Build the Svelte PWA and configure a robust Service Worker to ensure all essential code and assets (including Pyodide runtime and models) are aggressively cached for a guaranteed offline experience. Pyodide Integration: Implement Pyodide/Web Workers for executing offline Python AI functions, ensuring a non-blocking, high-fidelity user experience. Tiered UX Design: Develop the logic for Free (local-only, interpreter-based) and Premium (local/cloud toggle, accelerated) AI execution tiers. Asset Lifecycle Management: Implement seamless, version-controlled updates and smart caching for large Python packages and serialized model files. BACKEND & CLOUD (Hybrid Routing)

Intelligent Router Development: Build the lightweight Go (Gin or similar) router responsible for dynamically deciding whether a client request should be executed locally (in Pyodide) or routed to the cloud FastAPI worker. API Development: Develop highly performant FastAPI endpoints for parallel and large-scale AI cloud processing. Data Synchronization: Design and implement resilient, conflict-free data sync mechanisms between browser storage (IndexedDB) and the central PostgreSQL database. DevOps & Infrastructure: Manage Dockerized services and orchestrate production deployments across cloud platforms (e.g., Netlify/Heroku). AI/ML INTEGRATION

Runtime Portability: Develop single-source Python AI functions capable of execution within both the constrained Pyodide runtime and the native FastAPI environment. Model Optimization: Employ techniques (quantization, pruning, knowledge distillation) to create highly efficient, lightweight models specifically for offline execution. Multi-Agent Systems: Design and deploy sophisticated multi-agent LLM systems to automate complex business consulting workflows. SME DEPLOYMENT

Work directly with small businesses to analyze workflows and build tailored AI solutions. Manage production deployments (e.g., Netlify/Heroku for PWA, cloud platforms for APIs).

5. Must-Have Technical Skills

Core Stack Svelte, Pyodide, FastAPI, Go (Gin), PostgreSQL, Docker Python Expert. Single-source code for browser + cloud runtimes Frontend PWA development, Svelte/TypeScript/Vite, service workers Backend FastAPI APIs + basic Go HTTP routing DevOps Docker Compose, Netlify/Heroku deployment AI/ML Pyodide ML, model optimization, multi-agent LLM systems Business Tools Microsoft Office Suite (Excel for workflow analysis, PowerPoint for client presentations, Word for documentation)

6. Preferred Qualifications

Architecture: Proven experience with hybrid cloud-edge applications and data synchronization strategies. Advanced AI: MS/PhD in CS/AI or equivalent research experience in LLMs or specialized models. Performance: Experience with highly performant Wasm pipelines using Rust/C++ or deep knowledge of TensorFlow.js/ONNX.js for browser GPU acceleration. Ecosystem: Familiarity with vector databases (e.g., Pinecone, ChromaDB) or advanced data science tooling.

7. Compensation & Growth

Starting: $80K base + competitive equity (discussed at time of offer) Upside: $300K+ total comp potential (salary + bonuses + equity + benefits) Benefits: PTO (other benefits based on company milestone, discussed at interview) Growth Path: Lead Engineer → CTO trajectory

8. Why Join Us?

Own the architecture as founding engineer Transform SMEs with genuinely needed AI tools Unique stack: Pyodide + Go + Svelte + multi-agent LLMs Prestige: Lead cutting-edge edge-compute AI R&D with real business impact

9. Application Process

Submit: Resume + GitHub + 1-page cover letter + 3 references (1 Character Reference and 2 Technical References) Introductions + SME Case Study: 1-hour Technical Screen: 1-hour Live Coding: 2-hours Offer: Within 1 week Apply: jobs@onefishai.com

Subject: "Candidate: AI Fullstack Engineer - [Your Name]"


  Location: New Hampshire
  Remote: Only (occasional travel okay), 2+ years experience fully remote
  Willing to relocate: Yes
  Technologies: C, C++, Perl, TS or JS ES6+, Rust, Go, Python, WASM, Linux, Windows, Embedded, HTTP, and more
  Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html / https://computoid.com/about/GavinAHayes-Resume.pdf
  Email: gavin [at] computoid dawt com
Hi, I'm Gavin. I have 8+ years experience between application and embedded system development for avionics, building WebAssembly tooling, and full-stack SaaS development. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). For my next role, I'm mostly interested in systems/native development, but can be flexible to work in an interesting domain.


Location: New Hampshire

Remote: Only (happy to come-in or travel occasionally). Worked remote for the last 2+ years.

Willing to relocate: Maybe

Technologies: C, C++, Perl, TS or JS ES6+, Rust, Go, Python, WASM, Linux, Windows, Embedded, HTTP, and more

Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html

Email: gavin [at] computoid dawt com

Hello, I'm Gavin. I have 8+ years experience between application and embedded system development for avionics, building WebAssembly tooling, and full-stack SaaS development. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). I am interested in various systems and backend software engineering from native to web to embedded.


On the devx, there's definitely some rough edges around building and using Wasm. My company has been working on a framework to ease integrating Wasm into existing applications. One area it focuses on is providing easy data passing between the host program and the Wasm and vice versa. https://github.com/extism/extism We do not have WASI preview 2 support yet, but are interested in integrating it.


It would be cool to package Wasm for every platform easily. You could make a hermit runner for android that loads the module and wasi configuration from the hermit, but uses its own runtime instead of the one embedded in the hermit.

Excluding the Wasm runtime, the hermit's runner or hermit base is under 400 LOC: https://github.com/dylibso/hermit/blob/1f6f51d0d6b3941c9616f... . Instead of reading the configuration and module from /zip you would use zip decoder on the hermit you want to run.


Location: Not quite Boston (Southern NH, US)

Remote: Only (happy to come-in or travel occasionally)

Willing to relocate: No

Technologies: C, C++, Perl, WASM, Linux, Windows, Embedded, HTTP, and more

Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html (link to PDF in /about)

Email: gavin [at] computoid dawt com

Website: https://computoid.com

GitHub: https://github.com/G4Vi

Hi, I'm Gavin. For the last 5+ years, I've designed, built, and maintained the software (application and embedded system) for various test and measurement avionics products. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). I am interested in various systems and backend software engineering from web to embedded.


Location: Not quite Boston (Southern NH, US)

Remote: Only (happy to come-in or travel occasionally)

Willing to relocate: No

Technologies: C, C++, Perl, WASM, Linux, Windows, Embedded, HTTP, and more

Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html (link to PDF in /about)

Email: gavin [at] computoid dawt com

Website: https://computoid.com

GitHub: https://github.com/G4Vi

Hi, I'm Gavin. For the last 5+ years, I've designed, built, and maintained the software (application and embedded system) for various test and measurement avionics products. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). I am interested in various systems and backend software engineering from web to embedded.


Location: Not quite Boston (Southern NH, US)

Remote: Only (happy to come-in or travel occasionally)

Willing to relocate: No

Technologies: C, C++, Perl, WASM, Linux, Windows, Embedded, HTTP, and more

Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html (link to PDF in /about)

Email: gavin [at] computoid dawt com

Website: https://computoid.com

GitHub: https://github.com/G4Vi

Hi, I'm Gavin. For the last 5+ years, I've designed, built, and maintained the software (application and embedded system) for various avionics products. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). I am interested in various systems and backend software engineering from web to embedded.


APPerl creator here. I appreciate all the feedback and hope it comes in handy.

It's linked from the page, but thought I'd point out if you're curious what went into making APPerl, check out the blogpost (self-plug): https://computoid.com/posts/Perl-is-Actually-Portable.html


If it does what I think it does, then you've found the holy grail.


Author here. Nice comparison. By default (and the released) APPerl binaries do not self-modify (they use the non-self modifying ape loader) however on unix-like they install the APE loader to`$HOME/.ape`and use that ELF executable to run the APE. To skip the fork+exec to the ape loader, they can be assimilated with `--assimilate`, that does turn the APE executable into ELF.

There is a kernel patch to add APE (Actually Portable Executable) support to Linux removing the need for the the apeloader or assimilating. I'm not sure what the status is on that.


I forgot to mention APPerl and StaticPerl have many overlapping use cases, but APPerl is more tailored to application packaging. APPerl is built with a patch to Perl adding argv[0] script execution, allowing the APPerl binary to turn into a binary for any of the embedded scripts, with a rename or symlink rather then needing to pass flags the Perl executable to load modules.


Update on the APE Linux kernel support (for fork/ --assimilate)less APE execution. jart informed me: "It's in the process of being emailed out to the kernel developers. I anticipate it'll be merged within the next three months."


Could you suggest a way to do electron-like apps in APPerl?

I'm thinking of serving content on 127.0.0.2. There is no need for a high performance server like nginx, but serving files and having some CGI capability would be a plus.

I'd be interested in suggestions for the HTTP server part and maybe an example for how do serve an index.pl file that reads payload files packaged in the APPerl binary (ex: .js, .jpg)


I would first create a script that runs a web server that performs as expected (serving files, and handling dynamic functionality in the script or in a perl module, or by paths to cgi scripts as needed). I rolled by own for packing my personal http media server (MHFS), but there's plenty of HTTP servers on CPAN. I'm not sure which one's are best.

Then, I would create a custom build of APPerl using Perl::Dist::APPerl 's apperlm and modifying the apperl-project.json to pack in the script, CPAN modules, cgi files, and the static resources into a APPerl binary. When bundled into APPerl, the script can read the files embedded in APPerl from the /zip path.

Perl::Dist::APPerl (with tutorial on building apps): https://metacpan.org/pod/Perl::Dist::APPerl

MHFS's APPerl packaging config: https://github.com/G4Vi/MHFS/blob/master/apperl/apperl-proje...


> there's plenty of HTTP servers on CPAN. I'm not sure which one's are best.

Same. I know about HTTP::Daemon, HTTP::Tiny and HTTP::Server::Simple

If you have tried one of the 3 and can confirm it works with APPerl, it might save time?

If not, first with HTTP::Daemon (since it shows how to bind to a given IP in https://gist.github.com/mikkun/6388508, unlike HTTP::Tiny) I will try to release something similar to redbean but based on perl and DBD::SQLite

> When bundled into APPerl, the script can read the files embedded in APPerl from the /zip path.

That much I knew, but I was afraid there might be extra things needed

> MHFS's APPerl packaging config: https://github.com/G4Vi/MHFS/blob/master/apperl/apperl-proje...

Thank you! Then I might go with MHFS at first (tweaking its index.pl), if only because it's been tested by you with APPerl :)


> HTTP::Daemon, HTTP::Tiny and HTTP::Server::Simple

I haven't tested any. Pure Perl servers should be the easiest to get working. The Cosmopolitan Libc doesn't support fcntl F_SETFL O_NONBLOCK on Windows yet, and so non-blocking / event loop servers may be a no-go for now.

> I will try to release something similar to redbean but based on perl and DBD::SQLite

I'd like to see this.

> Then I might go with MHFS at first

I wouldn't consider MHFS's HTTP server "production ready" and suffers from the above mentioned O_NONBLOCK issue, but I'm curious how it would go.

If you haven't already, feel free to join the Redbean/Cosmopolitan Libc discord to discuss. (There's a link on the APPerl webpage).


FYI, building on windows make it detect Trojan:Win32/Wacatac.H!ml

I used your perl.com as an input. Fake positive? Or have you been infected?

Also, even if I cpan install the modules and have:

         "perl_repo_files" : {"cpan" : [
            "HTML-Template",
            "URI",
            "Class-Inspector",
            "HTTP-Daemon",
            "HTTP-Status",
            "IPC-Open2"
         }
I get:

C:\test> .\test.com Can't locate HTTP/Daemon.pm in @INC (you may need to install the HTTP::Daemon module) (@INC contains: . /zip/lib/perl5/site_perl/5.36.0/x86_64-cosmo /zip/lib/perl5/site_perl/5.36.0 /zip/lib/perl5/5.36.0/x86_64-cosmo /zip/lib/perl5/5.36.0) at /zip/bin/test line 9. BEGIN failed--compilation aborted at /zip/bin/test line 9.

Do I need to use https://github.com/G4Vi/MHFS/blob/master/apperl/download_pac... or something else to put the dependencies pm files in the zip?


It's mostly likely a false positive, but you're welcome to build from source with apperlm. The polygot binary format including the compressed ZIP archive probably sets off the scanners. The official APPerl binaries are compiled and uploaded by Github Actions: https://github.com/G4Vi/Perl-Dist-APPerl/blob/master/.github...

apperlm does not download perl module dependencies right now, but download_package.pl can be used to download dependencies. apperlm mostly just acts as a glorified front-end to Info-ZIP when doing a build of a "nobuild" config (building off of existing apperl)

download_package.pl example https://github.com/G4Vi/MHFS/blob/6db6ad24886ca0ea335a050228...

Edit: You can see what files were packed into it by renaming with .zip extension and opening with Windows Explorer.

Edit 2: "perl_repo_files" just specifies where to copy files to inside of the perl source tree. It is only used if you are building APPerl from source (it is unused if you are building a "nobuild" config). IPC-Open2 should already be bundled in the full perl.com as it's included in the perl5 repo: https://github.com/G4Vi/perl5/tree/cosmo-apperl/ext/IPC-Open...


Thank you! I've started actually playing with it besides the first tests, and it's great!

I'll see if I can have something akin to redbean ready this weekend.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: