projects
caffeineeee.me
(TS, Fullstack)
repoMy personal site.
- • Built OAuth auth backend using Auth.js (NextAuth.js), enabling a more secure and easier login.
- • Enhanced code quality by implementing CI/CD pipelines with `pre-commit` hooks and Biome.js for automated linting, fixing, and formatting.
- • Improved the UX by adding swipe gesture-based navigation with animation, mimicking native behavior using TouchEvent.
- • Tools: TS/JS, Node.js, React, Next.js, Tailwind, Auth.js (NextAuth.js), Drizzle ORM, Turso libSQL (SQLite), Git.
url-shortener
(TS, Fullstack)
repowebsiteShorten your URL.
- • Applied BASE62 encoding to generate the shortened URL.
- • Used Next.js middleware for redirection if a short URL maps to a long URL.
- • Adopted Test-Driven Development (TDD) to develop the core functionalities by creating unit test cases with Jest, increasing reliability.
- • Tools: TS/JS, Node.js, React, Next.js, Tailwind, Auth.js (NextAuth.js), Drizzle ORM, Turso libSQL (SQLite), Jest, Git.
rest-api-ts-sqlite
(TS, Backend)
repowebsiteA REST API backend for managing order and inventory data.
- • Delivered a fully functional backend, aligned with the technical requirements/specifications per the client's request, in 7 days.
- • Streamlined testing processes using Falso `@ngneat/falso` (a tree-shakeable alternative to Faker.js) for mock data generation.
- • Tools: TS/JS, Node.js, Turso libSQL (SQLite), Git.
apollo-server-graphql-jwt-ts-simple-auth-backend
(TS, Backend)
repoA credentials-based (email & password) auth backend using Apollo GraphQL.
- • Learned Apollo GraphQL from scratch and delivered a fully functional auth backend, aligned with the technical requirements/specifications per the client's request, in 10 days.
- • Automated the generation of JS scripts from TS using TS Compiler, allowing the backend to run by consuming the generated JS scripts.
- • Tools: TS/JS, Node.js, Apollo GraphQL, Turso libSQL (SQLite), JSON Web Token (JWT), Git.
hacker-news-clone
(TS, Frontend)
repowebsiteA 1-to-1 clone of the Hacker News website, https://news.ycombinator.com, to practice styling skills using Tailwind.
- • Tools: TS/JS, Node.js, React, Next.js, Tailwind, Git.
batak_toba_indonesian_nmt
(Python, Machine learning)
repoLike Google Translate, but for Batak Toba (BBC) and Indonesian (IND), because there is no option for Batak Toba in Google Translate.
- • Enough for translating short sentences (<30 words), but not for translating long paragraphs.
- • Try out the live models on HuggingFace, here: BBC -> IND, IND -> BBC.
- • Published a paper in the academic journal International Journal of Advances in Applied Sciences (IJAAS) indexed in Scopus Q4 and SINTA 1 (as of June 2024): https://doi.org/10.11591/ijaas.v13.i4.pp830-839.
- • Tools: Python, PyTorch, Transformers, Git.