So, I’m an Intern at Minilemon: Kicking Things Off
/ 4 min read
Updated:Article content
I landed an internship as a backend developer at a relatively new tech company called Minilemon Technology this month. The people there seem chill and friendly; it’s a small, startup-y setup. We work remotely with flexible working hours, but I’m sticking to a standard 9–5. We’ve got a bunch of unpaid1 interns—mostly university students. It’s a six-month gig, so I’m planning to soak up as much as I can. There’s also a chance of going full-time if things go well, so I’m pretty excited. I mostly want to document the start of this—and maybe keep myself accountable while I learn.
For the first week, I was assigned an experimental “onboarding” project: a simple app that connects photographers and the people getting photographed, with a smidge of AI for face detection and masking. It’s inspired by a trend called pelari kalcer2, which I somehow hadn’t heard of until now. I’ll be working in the open on their public GitHub org, so it should be fine to write this here. The idea is to use it as a ramp-up project and aim for a working MVP within a few weeks.
The actual work hasn’t fully kicked off yet—we’re still waiting on the project plan and a couple more people to join. Which is great, because it gives me a few days to ramp up. Anyway, here’s what I’m ramping up on. The web stack is TypeScript, React, TanStack Start, Bun, and Drizzle ORM. On the data side, we’re looking at PostgreSQL + pgvector, plus S3-compatible object storage for files. For the face part—detecting faces and turning them into embeddings—we’re considering ML Kit and face-api.js. The stack’s negotiable and might change (there was talk of using LiteRT), but that’s the starting point.
Now, I’ll be honest: I’m diving into the deep end with most of this stack. I’ve used TypeScript a bit because it’s so widely used in the web dev ecosystem right now. This very blog uses TypeScript and Astro, so I know a thing or two, but not at a professional level. React is totally new to me, though I did use Vue.js a fair bit back when I was doing more Laravel work. My web dev background is mostly Java (Spring Boot) and PHP (Laravel), so this is definitely a shift. I’m confident about PostgreSQL—it is the database of choice in the industry—but I’m not too worried about it, mostly because the ORM should handle a lot of it. The rest of the stack, though? No idea. I’m relatively comfortable with the AI side (I spent a lot of time on it during my CS degree), just not with this exact stack. It’s a lot, and I’m equal parts excited and intimidated. I’m cautiously optimistic I can tackle this project.
For the next few days, I’ll focus my learning on this stack. I might or might not post (or make a note) about the stack if I stumble upon interesting tidbits along the way. I also discussed the list (and a learning path) with Gemini, but it boils down to: RTFM. Their official documentation is often a good starting point, especially for someone with my background trying to transfer knowledge.
I know, I know. RTFM is the usual advice for learning most tech stuff. But I just want to be extra sure, y’know. One can’t be too cautious… Oh, have I told you that I’m the type of person who opens hundreds of browser tabs when researching basically anything—even for mundane stuff? Anyway, wish me luck. 🙂
Footnotes
-
I know “unpaid” can be a touchy topic these days. But the company is explicit about it in their job listings (all caps and everything), so I’m just calling it what it is. ↩
-
Basically, they’re people who frequent running events not because of the sports (e.g., surpassing their PB time, getting the medals) but to take chic photos of themselves wearing their favorite OOTD while posing like a runner. They do this to post on social media—often alongside Strava stats—to achieve social validation. I don’t have anything against this trend as long as everyone stays healthy and doesn’t bother others, but there’s a hint of pejorative in the phrase. ↩