{"id":23629668,"url":"https://github.com/amaurycannesson/microsigma","last_synced_at":"2026-04-20T13:03:09.300Z","repository":{"id":268287774,"uuid":"903426045","full_name":"amaurycannesson/microsigma","owner":"amaurycannesson","description":"Simplifies tracking my self-employed activity","archived":false,"fork":false,"pushed_at":"2024-12-20T13:45:02.000Z","size":257,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-18T20:07:38.542Z","etag":null,"topics":["click","drizzle-orm","nextjs","nivo-charts","pydantic-ai","sqlite"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amaurycannesson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-12-14T15:15:34.000Z","updated_at":"2025-01-03T18:17:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff0eeee7-370e-4f56-b750-c819cd2b6c1e","html_url":"https://github.com/amaurycannesson/microsigma","commit_stats":null,"previous_names":["amaurycannesson/microsigma"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amaurycannesson/microsigma","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amaurycannesson%2Fmicrosigma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amaurycannesson%2Fmicrosigma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amaurycannesson%2Fmicrosigma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amaurycannesson%2Fmicrosigma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amaurycannesson","download_url":"https://codeload.github.com/amaurycannesson/microsigma/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amaurycannesson%2Fmicrosigma/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266682672,"owners_count":23967837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["click","drizzle-orm","nextjs","nivo-charts","pydantic-ai","sqlite"],"created_at":"2024-12-28T01:16:45.694Z","updated_at":"2026-04-20T13:03:04.259Z","avatar_url":"https://github.com/amaurycannesson.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📊 MicroSigma\n\nSimplifies tracking my self-employed activity (Micro-Entreprise). It allows me to:\n\n- Log my workdays\n- Track my revenue\n- Calculate social contributions and income taxes\n- Helps with invoicing and revenue declaration\n\n![screenshot](screenshot.png)\n\n### 🤖 AI powered\n\nDon't need it, but it's trendy (and I wanted to play with PydanticAI)\n\n```bash\n❯ poetry run ai \"how much I've earned since the beginning of the month\"\n\nsql_query=\"SELECT SUM(rate * real) AS total_earned FROM activity WHERE date \u003e= DATE('2024-12-01') AND date \u003c= DATE('2024-12-15')\"\nresult='You have earned a total of 5500 euros since the beginning of the month.'\n```\n\n```bash\n❯ poetry run ai \"log a workday for yesterday\"\n\nPlease provide the rate for the workday on 2024-12-14.: 500\nsql_query=\"INSERT INTO activity (date, paid_at, rate, estimated, real) VALUES (DATE('now','-1 day'), DATE('now','-1 day'), 500, 1.0, 1.0)\"\nresult='A workday has been successfully logged for 2024-12-14.'\n```\n\n```bash\n❯ poetry run ai \"delete all activity for the current month\"\n\nsql_query=\"DELETE FROM activity WHERE date \u003e= DATE('now', 'start of month') AND date \u003c DATE('now', 'start of month', '+1 month')\"\nresult='15 rows deleted.'\n```\n\n## Getting Started\n\n### Run the app\n\n```bash\nnpm install\nnpm run dev\n```\n\nOpen [http://localhost:8888](http://localhost:8888)\n\n### Run the AI agent\n\n```bash\ncd src/ai\npoetry install\nOPENAI_API_KEY=xxx poetry run ai \"prompt\"\n```\n\n## Configuration\n\n`./src/config.ts` _(may not be up to date)_\n\n```typescript\n{\n  socialContributionRate: 0.22,\n  acreRate: 0.11,\n  acreStartDate: dayjs('2024-06-01'),\n  acreEndDate: dayjs('2025-03-31'),\n  incomeTaxRate: 0.18,\n  taxAbatement: 0.34,\n  activityStartDate: dayjs('2024-06-01'),\n  incomeLimit: 77700,\n  vatLowerLimit: 36800,\n  vatUpperimit: 39100,\n  vatStartDate: dayjs('2024-12-01'),\n}\n```\n\n## TODO\n\n- Generate activity report PDF (CRA)\n- Notify when approaching the VAT threshold\n- Update the configuration file directly from the interface\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famaurycannesson%2Fmicrosigma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famaurycannesson%2Fmicrosigma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famaurycannesson%2Fmicrosigma/lists"}