Perdi

Tukar Senyum

AI apps that help parents for having conversetion with adhd children, record the conversetion and get the summary for analyse by profesional.

Status
Live
Role
Fullstack Web Developer
Duration
4 months so far
Stack
  • Laravel
  • Livewire
  • Midtrans Payment

GitHub(opens in a new tab)

Screenshots and video

Site Starter landing page with the headline Write. Ship. Rank. and cards for SEO, zero JavaScript and typed content
The starter ships with a calm, typography-first home page.
  • Lighthouse report showing four perfect scores of 100 for performance, accessibility, best practices and SEO
    Every template is audited with Lighthouse before a release.
  • Markdown file with front matter defining a title, description, date, category and tags for a blog post
    Posts are Markdown files validated by a typed schema at build time.

Overview

Site Starter is the template behind this blog. It is an Astro project that gives you a fast, accessible, search-friendly site as soon as you clone it: a blog, a small project showcase, an RSS feed, a sitemap, and social images that generate themselves.

Principles

The starter follows a few strict rules: content first, no JavaScript unless it earns its place, and every page must be fully readable without a script. Everything else follows from those three.

Status

It is under active development. I am using this site as the proving ground: whenever something annoys me while writing a post, it becomes an issue in the starter.

Challenges & solutions

  1. Challenge 1

    Making the defaults good enough that a new site scores 100 on Lighthouse without any tuning.

    Solution

    I treated the Lighthouse run as a test in CI. A change that lowers a score fails the build, so regressions are caught in the pull request instead of after launch.

  2. Challenge 2

    SEO metadata that is easy to forget, such as canonical URLs, Open Graph images, and structured data.

    Solution

    All of it is generated from one component and one typed helper, driven by the same frontmatter the page already needs. There is nothing to remember to add.

  3. Challenge 3

    Keeping the template opinionated without making it hard to change.

    Solution

    Site-wide values live in a single config file, and every feature degrades gracefully when its environment variables are missing.

What I learned

  • A starter is a product. Documentation and sensible defaults matter as much as the code.
  • Failing the build on invalid content is kinder than finding broken pages in production.
  • Small, well-named components make a codebase approachable to strangers.

Outcome

Still in progress, but already running this very site. The next steps are a visual theme switcher for forks, a CLI to scaffold new posts, and a public changelog.