{"id":48451894,"url":"https://github.com/0x41337/kity","last_synced_at":"2026-04-06T21:02:24.982Z","repository":{"id":341572566,"uuid":"1169603864","full_name":"0x41337/kity","owner":"0x41337","description":"Dashboard personalizado para estudantes que desejam registrar com precisão seu desempenho.","archived":false,"fork":false,"pushed_at":"2026-03-27T00:06:50.000Z","size":324,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-27T12:35:26.114Z","etag":null,"topics":["dashboard","revision","shadcn-ui","statistics"],"latest_commit_sha":null,"homepage":"https://kityme.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0x41337.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-28T23:35:11.000Z","updated_at":"2026-03-27T00:06:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/0x41337/kity","commit_stats":null,"previous_names":["0x41337/kity"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0x41337/kity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x41337%2Fkity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x41337%2Fkity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x41337%2Fkity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x41337%2Fkity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0x41337","download_url":"https://codeload.github.com/0x41337/kity/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x41337%2Fkity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31489427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","revision","shadcn-ui","statistics"],"created_at":"2026-04-06T21:02:20.492Z","updated_at":"2026-04-06T21:02:24.966Z","avatar_url":"https://github.com/0x41337.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Finalidade\n\nO **Kity** é um sistema para analisar desempenho em estudos usando estatística e modelagem de memória.\n\nDiferente de planilhas ou apps comuns — que mostram apenas a porcentagem de acertos — ele tenta responder duas perguntas fundamentais:\n\n\u003e **Quanto você realmente sabe?**\n\u003e **E quanto disso você ainda lembra agora?**\n\nA ideia principal é:\n\n\u003e A porcentagem de acertos é apenas uma estimativa — e além disso, o conhecimento se deteriora com o tempo.\n\n\n\n## Modelagem de Desempenho\n\nCada questão é tratada como um experimento independente:\n\n- Acerto → sucesso\n- Erro → falha\n- Existe uma probabilidade real de acerto (**p**), desconhecida\n\nSe você respondeu:\n\n- **k** questões corretamente\n- **n** questões no total\n\nA estimativa de aproveitamento é:\n\n$$\n\\hat{p} = \\frac{k}{n}\n$$\n\nEssa é a **taxa de acerto observada** — direta e sem ajustes.\n\n\n\n## Modelo de Esquecimento — Half-Life Regression (HLR)\n\nSaber algo não significa **lembrar disso no futuro**.\n\nO Kity modela a memória usando **Half-Life Regression**, inspirado no modelo publicado pelo Duolingo (Settles \u0026 Meeder, 2016).\n\nA ideia central é que cada pessoa tem uma *Half-Life de memória* para cada assunto — o tempo que leva para a retenção cair à metade.\n\n\n\n## Modelo Adaptativo\n\nDiferente de implementações estáticas, o Kity aprende com o seu comportamento.\n\nOs parâmetros do modelo:\n\n$$\n\\theta = (\\theta_0, \\theta_1, \\theta_2)\n$$\n\nsão ajustados automaticamente ao longo do uso, com base nas suas revisões.\n\nCada nova sessão de estudo contribui para calibrar o modelo, tornando as estimativas cada vez mais personalizadas.\n\n\n\n## Half-Life\n\nA Half-Life é estimada a partir do seu desempenho observado:\n\n$$\nh = 2^{\\,\\theta_0 + \\theta_1 \\cdot \\hat{p} + \\theta_2 \\cdot \\log_2(n+1)}\n$$\n\nOnde:\n\n- $\\hat{p}$ = aproveitamento (acertos / total)\n- $n$ = número de questões respondidas\n- $\\theta_0, \\theta_1, \\theta_2$ = parâmetros aprendidos pelo sistema\n\nInterpretação dos fatores:\n\n| Fator | Efeito |\n|---|---|\n| Aproveitamento alto | Half-Life maior — esquece mais devagar |\n| Mais questões respondidas | Half-Life maior — conhecimento mais consolidado |\n| Pouco treino ou baixo acerto | Half-Life curta — esquecimento rápido |\n\n\n\n## Interpretação dos Parâmetros\n\nOs parâmetros $\\theta$ definem como **você aprende**:\n\n### $\\theta_0$ — memória base\n\nControla o nível inicial de retenção.\n\n- Menor valor → esquecimento mais rápido\n- Maior valor → retenção mais estável mesmo sem prática\n\n\n\n### $\\theta_1$ — impacto do acerto\n\nDefine o quanto acertar melhora sua memória.\n\n- Baixo → acertos têm pouco efeito\n- Alto → acertos fortalecem significativamente o aprendizado\n\n\n\n### $\\theta_2$ — impacto da repetição\n\nDefine o quanto a quantidade de prática influencia.\n\n- Baixo → repetir não muda tanto\n- Alto → repetição consolida fortemente o conhecimento\n\n\n\n## Retenção estimada\n\nCom a Half-Life calculada, a retenção após $t$ dias é:\n\n$$\nR(t) = 2^{-t/h}\n$$\n\n- $R(0) = 1$ → logo após revisar, retenção máxima\n- $R(h) = 0.5$ → após $h$ dias, metade foi esquecida\n- $t \\uparrow$ → retenção $\\downarrow$\n\n\n\n## Aprendizado do Modelo\n\nOs parâmetros $\\theta$ são atualizados usando aprendizado online a cada revisão.\n\nCada tentativa (acerto ou erro) contribui para ajustar o modelo com base no erro entre:\n\n- retenção prevista\n- resultado observado\n\nIsso permite que o sistema:\n\n- se adapte ao seu ritmo de aprendizado\n- corrija previsões ao longo do tempo\n- se torne mais preciso conforme você usa\n\n\n\n## Dados legados\n\nRevisões sem registro de data são tratadas como antigas (28 dias), resultando em retenção baixa. Isso incentiva o usuário a refazer a revisão e gerar dados recentes.\n\n\n\n## Métricas\n\n### Aproveitamento (`accuracyRate`)\n\n$$\n\\text{accuracy} = \\frac{k}{n} \\times 100\n$$\n\nTaxa observada de acertos. Não considera tempo nem incerteza — é o dado bruto.\n\n\n\n### Retenção estimada (`currentRetention`)\n\n$$\nR(t) = 2^{-t/h}\n$$\n\nO quanto do conhecimento você provavelmente ainda lembra hoje. É a métrica principal para decisão de revisão.\n\n\n\n### Half-Life (`halfLifeDays`)\n\n$$\nh = 2^{\\,\\theta_0 + \\theta_1 \\cdot \\hat{p} + \\theta_2 \\cdot \\log_2(n+1)}\n$$\n\nDurabilidade do conhecimento em dias. Indica o ritmo de esquecimento — não apenas o estado atual, mas a tendência futura.\n\n\n\n## Status de Revisão\n\nO sistema classifica automaticamente com base na retenção atual:\n\n| Status | Retenção | Comportamento na UI |\n|---|---|---|\n| 🟡 Atenção | 40% – 70% | Bolinha amarela no card |\n| 🔴 Pendente | \u003c 40% | Bolinha vermelha no card |\n\nO indicador visual só aparece quando há algo a alertar — inspirado no princípio de alertas de instrumentos: não interrompa o usuário quando tudo está bem.\n\n\n\n## Interpretação Completa\n\n### Antes:\n\u003e \"Você acertou 80%\"\n\n### Agora:\n\u003e \"Seu aproveitamento foi 80%, com Half-Life de 12 dias —  \n\u003e e você provavelmente ainda lembra ~74% disso hoje.\"\n\n\n\n## Decisão de Estudo\n\nO Kity não serve só para medir — ele ajuda a decidir:\n\n- O que revisar (retenção baixa → bolinha vermelha)\n- Quando revisar (Half-Life curta → revise antes)\n- O que já está consolidado (Half-Life longa + retenção alta → sem alerta)\n\n\n\n## Comportamento do Sistema\n\n### Número de questões\n\n- $n \\uparrow$ → Half-Life maior, conhecimento mais consolidado\n- $n \\downarrow$ → Half-Life curta, esquecimento mais rápido\n\n\n\n### Tempo\n\n- $t \\uparrow$ → retenção $\\downarrow$\n- Revisão → reinicia o ciclo, retenção volta a 100%\n\n\n\n### Aproveitamento\n\n- $\\hat{p} \\uparrow$ → Half-Life maior\n- $\\hat{p} \\downarrow$ → Half-Life menor — errar frequentemente acelera o esquecimento\n\n\n\n### Adaptação\n\n- Mais revisões → modelo mais preciso\n- Padrões consistentes → θ converge\n- Mudança de comportamento → modelo se ajusta\n\n\n\n## Resumo\n\n| Métrica | Significado |\n---|---|\n| Aproveitamento | O que você acertou |\n| Retenção estimada | O que você ainda lembra hoje |\n| Half-Life | Por quanto tempo seu conhecimento dura |\n| θ (parâmetros) | Como você aprende |\n\n\n\n## Conclusão\n\nUm modelo mais realista e adaptativo de aprendizado, levando em conta:\n\n- **Desempenho** — aproveitamento observado  \n- **Volume** — quantidade de questões respondidas  \n- **Tempo** — decaimento real da memória via HLR  \n- **Adaptação** — personalização automática do modelo  \n\nEm termos práticos:\n\n- Use **Retenção estimada** para decidir o que revisar agora  \n- Use **Half-Life** para entender a durabilidade do seu conhecimento  \n- Confie no **silêncio** — ausência de alerta significa que está tudo bem  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0x41337%2Fkity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0x41337%2Fkity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0x41337%2Fkity/lists"}